Dar a su proyecto arduino su propio mini-servidor web, con un escudo de ethernet

Hace un tiempo, he mostrado cómo configurar un sistema de control de Internet para su Arduino - pero tuvo que permanecer conectado a un ordenador a través de USB con el fin de mantener la conexión a Internet. Si usted tiene un escudo de Ethernet sin embargo, que no es necesario Hoy vamos a mirar a la creación de un Arduino como un servidor web básico para que podamos celebrar nuestra propia página web de control del dispositivo.Cómo configurar el Control Web Arduino Ethernet Shield sin unaCómo configurar el Control Web Arduino Ethernet Shield sin unaDesde hace unas semanas, me entregó el control de la iluminación ambiental en mi estudio a los espectadores durante la emisión en directo de Tecnofilia Podcast - se puede ver el resultado de que en el ...Lee mas

Necesitará:

  • Un Arduino, o clon de Arduino como se detalla aquí
  • Ethernet Shield (~ $ 35) - asegurarse de obtener una versión que coincide con su Arduino ya que no son todos compatibles
  • puerto libre en su router o switch, y el cable Ethernet
  • El ejemplo WebServer proporcionada en la solicitud Arduino

Configuración

El escudo de Ethernet utiliza los pines 10 a través de 13 para el control de la conexión de red, por lo dejamos a los de su proyecto- pin 4 también se utiliza para la tarjeta SD, pero no vamos a utilizar hoy.

Lo primero es lo primero - abren la Archivo-gt;Ejemplos-gt;Ethernet-gt;Servidor web que se proporciona en el IDE de Arduino. Encuentra las líneas que se refieren MAC y la dirección IP.

servidor web Arduino

La dirección MAC de la mina se encuentra en la caja - el suyo puede ser en el escudo en sí. Ajustar la primera línea de los valores - que necesita para salir de la precedente 0x aunque poco. Técnicamente hablando, no importa realmente lo que pone aquí, siempre y cuando usted no tiene ningún conflicto de valores en la subred - pero aún así, esta fue la dirigida asignado por el fabricante, por lo que probablemente se debe seguir con eso. Sólo sé que si uno se equivoca, que seguirá funcionando.

ejemplo servidor web Arduino

El siguiente paso es la dirección IP. Queremos una dirección fija específica para que podamos reenvío de puertos configurado correctamente - el escudo es capaz de conseguir una dirección de DHCP, pero eso es sólo es útil si está simplemente va a ser utilizado como un cliente, no un servidor. Rellene una dirección IP que está sin usar y memorable en su red local, su IP del router, y 255.255.255.0 (la subred). Si nada de esto es dar sentido a usted, ir a leer nuestro libre y completa guiar a las redes domésticas.

port Forwarding

Editar la línea que dice EthernetServer servidor (número), y cambiar el número de 8081. Esta configuración de nuestro servidor para que escuche en el puerto 8081 en el caso de que su ISP está bloqueando el tráfico web en el tradicional puerto 80.

Sube la demo en este punto y probarlo hacia fuera desde una máquina local. Usted, por supuesto, debe conectar el cable Ethernet también. Mantenga el USB enchufado también, como lo necesitamos para poder - se puede reemplazar con una potencia que 9V más tarde, pero todavía estamos probando.

Noob-tip: Si obtiene este error, significa que has puesto por error una O mayúscula en lugar de un 0 en el área de dirección MAC. No hay una S en valores hexadecimales! Si realmente es nuevo, puede valer la pena echarle un vistazo a nuestros para principiantes guía Arduino!

ejemplo servidor web Arduino

Para acceder a la Arduino, escriba la dirección y número de puerto directamente desde un navegador.

ejemplo servidor web Arduino

Debería ver algo como que - hasta ahora tan bueno. Por desgracia, esto sólo es accesible en el red local en este momento, por lo que en la cabeza en la página de configuración del puerto del router para configurar una redirección desde el puerto 8081 para el mismo puerto en IP de tu Arduino (Ver: ¿Cuál es el reenvío de puertos?)¿Qué es el reenvío de puertos & ¿Cómo me puede ayudar? [Explica MakeUseOf]¿Qué es el reenvío de puertos & ¿Cómo me puede ayudar? [Explica MakeUseOf]¿Llora un poco por dentro cuando alguien le dice que hay un problema de reenvío de puertos y es por eso que su nueva aplicación brillante no va a funcionar? Xbox no le permitirá jugar juegos, sus descargas de torrents se niegan ...Lee mas

tutorial servidor web Arduino

Prueba de esto desde un dispositivo móvil a Internet 3G con Wi-Fi está incapacitado recuerde utilizar su dirección IP pública, no su dirección de red local. El router debe ser capaz de decir esto, o simplemente pedir a Google “¿cuál es mi IP”.

servidor web Arduino

La comprensión de la salida

La página que se está servido en la demo es la lectura de los valores de los pines analógicos - pero ya que no hay nada conectado allí, se va a conseguir sin sentido. Intente conectar un sensor de luz (foto resistencia) al puerto A0 y +5v, con un resistencia de 10k también en A0 y GND (Esto es un divisor de tensión, ya que los pines analógicos sólo pueden leer de voltaje, y no la resistencia) sólo para confirmar el servidor está leyendo valores realmente. Observe que cuando los cambios de intensidad de luz, los valores de los otros pines en realidad cambian también - esto es porque todos están desconectados.

conseguir interactivo

La lectura de estos valores está muy bien, pero dar el salto a controlador un Arduino desde aquí es un gran salto, y fuera del alcance de este tutorial de hoy. En lugar de reinventar la rueda, te voy a apuntar hacia usuario del foro de Arduino Hari que escribió una API básica para interactuar con los pines digitales. Utilizando este código (he modificado para que funcione con la biblioteca de Ethernet más reciente), conecte el avance largo de un LED (ánodo) al pin 8, y la corta ventaja al pin 7 (con una resistencia adecuada). A continuación, puede utilizar URLs de tipo http: // ip: puerto / digitalWrite / 8/1 para encender el LED, y http: // ip: puerto / digitalWrite / 8/0 para apagarlo, y leer los valores analógicos con analogRead / 0.

Este ejemplo de bildr también le enseñará cómo controlar una secuencia de LEDs mediante la lectura de la solicitud GET.

También te a la caja de este ejemplo que da salida a un formulario en la página para controlar un LED RGB BlinkM, aunque se puede adaptar fácilmente para una tira RGB tales como el proyecto de iluminación dinámica ambiente construimos un tiempo atrás.Construya su propio alumbrado dinámico ambiente durante un Media CenterConstruya su propio alumbrado dinámico ambiente durante un Media CenterSi ves un montón de películas en su PC o centro de medios, estoy seguro de que ha enfrentado el dilema de iluminación es lo que apagar completamente todas las luces? Cómo los tenéis a todo volumen? O...Lee mas

Bueno, me he divertido construcción de estos, así que espero que tú también. Si ha realizado una biblioteca que hace servir las páginas y controles simples, por favor ponerse en contacto en los comentarios.

Artículos Relacionados