Servidor web con Arduino

Por Soloelectronicos @soloelectronico

Arduino al igual que  otras placas  pude usarse como servidor web alojando en el  una simple página web,para lo cual Arduino debe poderse conectar a la red LAN (Local Area Network) con tarjetas Ethernet, ya bien con  escudos Arduino o bien  conectándolo  por medio de cables , permitiendo así poder  ejecutar programas de comunicación de red en Arduino, por ejemplo un pequeño servidor web.

Ambas tarjetas que vemos en la imagen superior   se basan en el conector RJ45 de HR911105A HanRun y controlador ENC28J60 10BASE-T Ethernet de Microchip . Las tarjetas se controlaban mediante Peripheral Interface serie (SPI).

Ethernet-Shield para Arduino Nano

Este escudo Ethernet tiene un regulador de tensión interno en la placa  para convertir 5 V a 3,3 V – 3,3 V con el  circuito ENC28J60 . Opcionalmente también este escudo se puede conectar a Arduino mediante cables con clavijas siguientes: 5V, GND, D10, D11, D12, D13

Detalles de clavijas de conexión

Tarjeta de Ethernet conectado con cables (sin escudo para  Arduino)

Esta tarjeta tiene que ser alimentada por 3.3V (del pin de Arduino o al adaptador de alimentación de 3,3 V). La tarjeta se conecta con los pines  siguientes:

Arduino Nano tarjeta Ethernet

3.3V VCC

GND GND

D10 CS

D11 SI

D12 SO

D13 SCK

Configuración de un servidor web en Arduino

Hay varias bibliotecas que se pueden conectar a la red de Arduino. Algunos de ellos dan más características (por ejemplo, soporte de DHCP) y mas estabilidad, pero también necesitan más esfuerzos para aprender  a usarlas y hacer el programa compilado más grande.

Muy fácil de usar para empezar es la biblioteca “ETHER_28J60” Ethernet por Simon Monk ,la cual esta concebida  como un contenedor de la biblioteca “etherShield” Nuelectronics para simplificar el trabajo con él.

Instalar bibliotecas ETHER_28J60 y etherShield

Después de instalar las bibliotecas – reiniciar el IDE Arduino, seleccione el punto de menú Archivo >> >> Ejemplos ETHER_28J60 >> HelloWorld

El sketch es corto y bastante claro. Sólo pueden necesitar  las  siguientes líneas para personalizar a cada uso particular:

  • uint8_t MAC estática [6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24};
  • IP estática uint8_t [4] = {192, 168, 1, 15};

IP es  la dirección IP de un dispositivo de red – en este caso las direcciones de una placa Arduino conectado a una red a través de una tarjeta Ethernet.

MAC – es la dirección MAC  que se puede dejar como esta si no hay otros dispositivos con la misma dirección dentro de la red.

Ambas direcciones (IP y MAC)  deben ser únicas dentro de la red (por ejemplo, red local detrás del router de red doméstica).

Suba el skech ya explicada   en su placa de Arduino, y conecte  la tarjeta Ethernet a un router mediante un cable de red.

Compruebe si funciona Arduino (LED de alimentación está encendido), el LED en el conector Ethernet está encendido (LED segundo en el conector puede parpadear), el router está encendido y el LED está activado para el puerto al que la tarjeta Ethernet está conectado.

La biblioteca “EtherShield” desde este repositorio (sugerido para ser utilizado antes) utiliza la dirección IP estática – cuando la dirección necesita ser configurado en un router de forma manual.

La  bibioteca”EtherShield” biblioteca desde este repositorio, además, cuenta con el apoyo de DHCP ( Dynamic Host Configuration Protocol ) al servidor DHCP (por lo general existente en el router) asigna una dirección IP a dispositivos de red automáticamente.

Ahora  ya puede abrir  un navegador web y escriba la dirección http:// 192.168.1.15 , es decir la dirección IP que hayamos definido  (o la dirección indicada en el croquis y configurado en el router como se muestra en la instrucción anterior), pulse la tecla Enter  y  una página web con “Hello World” se carga desde Arduino.

Asimismo también puede probar con la url http://arduino/  desde la barra de dirección del nombre:la  misma página web se cargara desde Arduino

En algunos casos que no funcione  comprobar si Arduino está conectado a una fuente de energía (por ejemplo, a USB), los LED señalen la actividad (reiniciar  Arduino – que debe comenzar a parpadear por un tiempo), y compruebe los cables  pies aunque algunos de ellos se vean  bien, puede que en realidad no conecten por los contactos.

Fuente  aqui