Montaje de un servidor web en Arduino Yún

0
571

El montaje de un servidor web en Arduino Yún (o Linkit Smart Duo) es una de las características más interesantes de esta plataforma. Básicamente podemos utilizar nuestro Arduino como un hosting para una página web. Este tipo de características permite que podamos utilizar lenguajes de programación web, orientados a clientes (HTML, CSS, Javascript, etc) y servidores (PHP, NodeJS, etc.) para la construcción de interfaces gráficas dinámicas y para nuevos niveles de posibilidades en proyectos de electrónica.

En el siguiente artículo explicaremos lo que se necesita saber sobre como montar un servidor web en Arduino Yún. Utilizaremos un archivo en HTML con un mensaje de “hola mundo” y lo visualizaremos en un navegador web de un equipo conectado a la misma red que el Arduino.
El servidor web propio de OpenWRT

El Arduino Yún (y el Linkit Smart Duo) se caracteriza por contar con una instalación de Linux instalada en el lado del microprocesador. Esta instalación se basa en una distribución llamada OpenWRT, muy popular en el mundo de los router inalámbricos.

Con OpenWRT se instala un servidor web nativo, el uhttpd. Se lee micro httpd. Este server es un server especial para sistemas de bajos recursos, como nuestro Arduino. Cabe destacar que para los estándares de un microcontrolador, el Arduino posee una excelente capacidad de procesamiento. Pero visto desde el punto de vista de un servidor web, sus recursos son modestos. Por esta razón no podremos montar páginas web muy pesadas, ya que no será posible para el Arduino manejar dicha carga. En OpenWRT también es posible instalar Apache Server, pero es preferible trabajar con el uhttpd.

Para ver las configuraciones del server uhttpd, vamos a una consola de SSH y tecleamos lo siguiente (con nano instalado):

El resultado es el siguiente:

servidor web en arduino

La imagen muestra el contenido del archivo uhttpd. En este archivo se puede observar que la línea option home muestra la dirección “/www”. Esta es la dirección en la cual se colocan los ficheros del webserver. Si queremos montar una página web, debemos colocar los archivos en el directorio www.

Probando el servidor web

Hagamos una prueba. Necesitamos instalar el servidor de FTP en nuestro Arduino Yún. Esto ya lo explicamos en el post Instalación de servidor FTP en Arduino Yún.

Crearemos un fichero en HTML en el cual colocamos el siguiente código:

Luego utilizando un cliente de FTP (como Filezilla), colocamos el archivo HTML en la carpeta /www/phtk_test. Este debe ser nombrado como index.html. Ahora, desde un navegador web, entramos a la dirección http://192.168.0.120/phtk_test. El resultado es el siguiente:

Resultado visualizado desde Google Chrome

Como podemos observar, el navegador muestra el contenido del HTML montado en el Arduino/Linkit Smart Duo.

Algunas consideraciones

Ya sea con el Arduino Yún o con el Linkit Smart Dúo, se deben tomar en cuenta algunos aspectos importantes.

  • No se recomienda montar el webserver en la memoria flash del dispositivo. Esta memoria posee una capacidad limitada de ciclos de lectura-escritura. Se recomienda utilizar una memoria microSD.
  • Se debe recordar que las capacidades de memoria y procesamiento de estos dispositivos es limitada. No se debe abusar del tráfico ni del volumen de información almacenada.
  • En este server se puede utilizar CSS, Javascript, PHP, NodeJS, etc, con lo cual los proyectos de electrónica alcanzan un nuevo nivel de complejidad. Este es el principio básico de lo que se conoce como Internet of Things (IoT).

Esperamos que la información suministrada sea de utilidad para ustedes. Esperamos sus comentarios y sugerencias. Saludos.