Dé a su proyecto Arduino su propio mini servidor web, con un escudo Ethernet

Hace un tiempo, te mostré cómo configurar un sistema de control de Internet para tu Arduino, pero tenía que estar conectado a una computadora a través de USB para mantener la conexión a Internet. Sin embargo, si tiene un escudo de Ethernet, no es necesario. Hoy veremos la configuración de un Arduino como un servidor web básico para que podamos alojar nuestro propio sitio web de control de dispositivo.

Hace un tiempo, te mostré cómo configurar un sistema de control de Internet para tu Arduino, pero tenía que estar conectado a una computadora a través de USB para mantener la conexión a Internet.  Sin embargo, si tiene un escudo de Ethernet, no es necesario. Hoy veremos la configuración de un Arduino como un servidor web básico para que podamos alojar nuestro propio sitio web de control de dispositivo.
Anuncio

servidor web arduino Hace un tiempo, te mostré cómo configurar un sistema de control de Internet para tu Arduino Cómo configurar Arduino Web Control sin un escudo Ethernet Cómo configurar Arduino Web Control sin un escudo Ethernet Durante las últimas semanas, le di el control de la iluminación ambiental en mi estudio para los espectadores durante la transmisión en vivo de Technophilia Podcast - puede ver los resultados de eso en ... Leer más - pero tenía que permanecer conectado a una computadora a través de USB para mantener la conexión a Internet. Sin embargo, si tiene un escudo de Ethernet, no es necesario. Hoy veremos la configuración de un Arduino como un servidor web básico para que podamos alojar nuestro propio sitio web de control de dispositivo.

Necesitará:

  • Un Arduino, o clon de Arduino como se detalla aquí No gastes dinero en un Arduino - Construye el tuyo por mucho menos No gastes dinero en un Arduino - Construye el tuyo por mucho menos Amo a mis Arduinos. En cualquier punto, tengo bastantes proyectos sobre la marcha: la creación de prototipos es tan fácil con ellos. Pero a veces, quiero mantener el proyecto funcional sin comprar ... Leer más
  • Escudo de Ethernet (~ $ 35) - asegúrese de obtener una versión que coincida con su Arduino ya que no son todos compatibles
  • Puerto de repuesto en su enrutador o conmutador, y cable Ethernet
  • El ejemplo de WebServer proporcionado en la aplicación Arduino

Configuración

El blindaje de Ethernet usa los pines 10 a 13 para controlar la conexión de red, así que déjelos fuera de su proyecto; el pin 4 también se usa para la tarjeta SD, pero no lo usaremos hoy.

Lo primero es lo primero: abra el archivo -> Ejemplos -> Ethernet -> WebServer que se proporciona dentro del IDE de Arduino. Encuentra las líneas que hacen referencia a MAC y a la dirección IP.

servidor web arduino

La dirección MAC para el mío fue encontrada en la caja; la suya puede estar en el escudo mismo. Ajuste la primera línea de valores; sin embargo, debe dejar el bit 0x anterior. Técnicamente hablando, en realidad no importa lo que pongas aquí siempre y cuando no tengas ningún valor conflictivo en tu subred, pero aún así, esta fue la dirección asignada por el fabricante, por lo que probablemente deberíamos seguir con eso. Solo sé que si lo haces mal, todavía funcionará.

Ejemplo de servidor web arduino

El siguiente es la dirección IP. Queremos una dirección fija específica para que podamos configurar el reenvío de puertos correctamente: el escudo es capaz de obtener una dirección de DHCP, pero eso solo es útil si simplemente se va a usar como un cliente, no como un servidor. Complete una dirección IP que no se use y sea memorable en su red local, la IP de su enrutador y 255.255.255.0 (la subred). Si nada de esto tiene sentido para usted, lea nuestra guía gratuita y completa de redes domésticas Todo lo que necesita saber sobre redes domésticas Todo lo que necesita saber sobre redes domésticas Configurar una red doméstica no es tan difícil como cree que es . Lee mas .

Reenvío de puertos

Edite la línea que dice servidor EthernetServer (número) y cambie el número a 8081 . Esto configurará nuestro servidor para escuchar en el puerto 8081 en caso de que su ISP bloquee el tráfico web en el puerto tradicional 80.

Suba la demostración en este punto y pruébela desde una máquina local. Por supuesto, también necesitará enchufar el cable Ethernet. Mantenga el USB enchufado también, ya que lo necesitamos como fuente de energía; puede reemplazarlo con una fuente de alimentación de 9V más tarde, pero todavía estamos probando.

Noob-tip: si obtienes este error, significa que equivocadamente has puesto una O mayúscula en lugar de un 0 en el área de la dirección MAC. ¡No hay O en valores hexadecimales! Si realmente eres nuevo, ¡puede valer la pena echarle un vistazo a la guía Arduino de nuestro principiante!

Ejemplo de servidor web arduino

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

Ejemplo de servidor web arduino

Deberías ver algo así, hasta ahora todo bien. Desafortunadamente, esto solo es accesible en la red local en este momento, así que dirígete a la página de configuración del puerto de tu enrutador para configurar una redirección desde el puerto 8081 al mismo puerto en la IP de Arduino ( Ver: ¿Qué es el reenvío de puertos? & How Can Me Help? [Explicaciones de MakeUseOf] ¿Qué es Port Forwarding y cómo puede ayudarme? [MakeUseOf Explains] ¿Lloras un poco cuando alguien te dice que hay un problema de reenvío de puertos y por eso tu nueva aplicación brillante ganó? ¿Funciona? Tu Xbox no te permitirá jugar juegos, tus descargas de torrents se rechazan ... Leer más )

tutorial del servidor web arduino

Pruebe esto desde un dispositivo de Internet 3G móvil con Wifi deshabilitado; recuerde usar su dirección IP pública, no su dirección de red local. Su enrutador debería poder decirle esto, o simplemente pregúntele a Google "cuál es mi IP".

servidor web arduino

Comprender el resultado

La página que se sirve en la demostración está leyendo valores de los pines analógicos, pero como no hay nada conectado allí, no tendrá sentido. Intente conectar un sensor de luz (fotorresistencia) al puerto A0 y + 5v, con un resistor de 10k también en A0 y gnd (este es un divisor de voltaje, ya que los pines analógicos solo pueden leer voltaje, y no resistencia) solo para confirmar el servidor en realidad está leyendo valores. Tenga en cuenta que cuando cambia la intensidad de la luz, los valores en los otros pines cambian también, esto es porque no están conectados.

Conseguir Interactivo

Leer estos valores está muy bien, pero dar el salto al control de un Arduino desde aquí es un gran salto, y está fuera del alcance de este tutorial de hoy. En lugar de reinventar la rueda, te guiaré hacia el usuario del foro Arduino hari, quien escribió una API básica para interactuar con los pines digitales. Usando este código (lo he modificado para que funcione con la última biblioteca de Ethernet), conecte el cable largo de un LED (ánodo) al pin 8, y el cable corto al pin 7 (con una resistencia adecuada). A continuación, puede utilizar URL del formato http: // ip: port / digitalWrite / 8/1 para encender el LED, y http: // ip: port / digitalWrite / 8/0 para desactivarlo, y leer valores analógicos con analogRead / 0 .

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

También le gustaría consultar este ejemplo que muestra un formulario en la página para controlar un LED RGB intermitente, aunque podría adaptarlo fácilmente a una tira RGB como el proyecto de iluminación ambiental dinámica. Diseñe su propia iluminación ambiental dinámica para una construcción de Media Center. Su propia iluminación ambiental dinámica para un centro de medios Si ve muchas películas en su PC o centro de medios, estoy seguro de que se ha enfrentado al dilema de la iluminación; ¿Apagas completamente todas las luces? ¿Los mantienes en pleno funcionamiento? O ... Leer más lo construimos hace un tiempo.

Bueno, me divertí construyendo estos, así que espero que tú también lo hayas hecho. Si creó una biblioteca que simplifica la publicación de páginas y controles, póngase en contacto en los comentarios.

In this article