Instalación de servidor FTP en Arduino Yún

Para nadie es un secreto mi fascinación por el Arduino Yún. Este modelo me permite interactuar con circuitos electrónicos utilizando el hardware y software del Arduino Leonardo, a la vez que me da accesso a Internet y a herramientas de software de alto nivel a través de la distribución de Linux OpenWRT (Linino).

Resulta fácil argumentar que el Raspberry permite lograr lo mismo que un Arduino Yún, a un costo mucho más bajo y con mayor capacidad de hardware. Yo digo, “para gustos los colores”. El Yún es mi favorito y recientemente junto con Jaime Rodrigo hemos encontrado dispositivos muy similares al Yún pero a un menor costo (aproximadamente 18 dólares, contra los 70~75 que cuesta el Yún).

Prometo escribir sobre este tema cuando recibamos los dispositivos que hemos pedido (entra aquí). Lo cierto es que todos los aportes que hemos hecho o que haremos sobre el funcionamiento del Arduino Yún. Estos también podrán ser aplicados a la nueva plataforma con la que estaremos trabajando en los próximos meses.

En esta ocasión compartiré con ustedes un tip sobre algo muy útil que podemos utilizar a nuestro favor. Se trata de la instalación de un servidor FTP en Arduino Yún. Pero, ¿qué es un servidor FTP?.

Según la Wikipedia, tenemos la siguiente definición:

FTP (siglas en inglés de File Transfer Protocol, ‘Protocolo de Transferencia de Archivos’). En informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol). Se basa en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos. Esto se logra de forma independiente al sistema operativo utilizado en cada equipo.

Básicamente, FTP nos permite enviar y recibir archivos desde un servidor, sea local o remoto. Es muy utilizado en desarrollo web para subir o bajar los ficheros de las páginas web desde el servidor en el que se encuentren alojadas.

Es posible utilizar software especializado para las conexiones FTP, donde el usuario puede visualizar los ficheros a través de una Interfaz Gráfica de Usuario (GUI, por sus siglas en inglés). Uno de los más utilizados dentro de esta categoría es Filezilla.

filezilla - ftp en Arduino Yun
Representación visual de los directorios y ficheros dentro de la memoria microSD en el Arduino Yún

Ahora, veamos lo que se necesita para utilizar nuestro Arduino Yún desde FTP.

Instalación de Software

En Panama Hitek ya se ha escrito acerca de la comunicación por medio de SSH con el Arduino Yún. Abrimos una consola SSH y ejecutamos los siguientes comandos:

Con el primero actualizaremos el software del Yún, mientras que con el segundo se instalará el software que nos permitirá conectarnos por medio de FTP desde Filezilla.

Una vez instalado el software, estamos listos para hacer las prubas. Abrimos Filezilla y utilizaremos los siguientes parámetros de conexión:

  • Servidor: la IP del Arduino
  • Nombre de usuario: root (a menos que haya sido cambiado)
  • Contraseña: La contraseña del usuario

En la siguiente imagen se muestra la ventana de Filezilla luego de establecer conexión con Arduino.

Filezilla Arduino

Como podemos observar, se han listado los directorios internos del Yún. Los usos que le podemos dar a una conexión FTP en Arduino van desde transferir archivos, hasta programar ficheros que se encuentran instalados directamente en la memoria flash en tiempo real. Lo expuesto en este post también es válido para el LinkIt Smart Duo 7688 (SM7).

Arduino Yún puede utilizarse tranquilamente como un servidor web, lo cual nos brinda un sinnúmero de opciones interesantes para el desarrollo de aplicaciones que integran software+hardware. En los próximos días estaremos publicando mucho sobre estos temas, siguiendo nuestra tendencia hacia la adopción del concepto de Internet of Things.

Saludos.

 

Actualización – FTP en LininoIO

Recientemente empecé a trabajar con LininoIO, el cual es un sistema operativo compatible con el Arduino Yún que nos permite hacer muchas cosas interesantes. Cuando intenté instalar el vsftpd me aparecía un error en el cual se me indicaba que dicho paquete no existe.

Esto se debe a que por alguna razón, VSFTPD no ha sido incluído en la lista de paquetes disponibles para el Arduino Yún. Esto lo podemos verificar en este enlace. Aquí podremos ver todos los paquetes disponibles para su instalación en el sistema operativo. Se le conoce como el repositorio de Linino y es aquí desde donde se descargan los programas que instalamos cuando usamos el comando opkg install desde la consola.

Una solución a este problema es descargar el VSFTPD desde el repositorio de OpenWRT en su versión Attitude Adjustment, sobre la cual se ha construido el sistema operativo Linino. Luego de Attitude Adjustment se ha lanzado las versiones Barrier Breaker y Chaos Calmer. Por alguna razón el kernel de Linino aún no ha sido actualizado.

En fin, podemos descargar el paquete VSFTPD desde este enlace dentro del repositorio de Attitude Adjustment. El fichero lo colocamos en el root de una memoria microSD y utilizamos el siguiente comando para instalar:

Otra opción que no siempre funciona (a mi no me funciona, no se porqué) es descargar el fichero directamente desde Internet en el Yún y luego instalarlo:

Después de la instalación se hace necesario iniciar el servicio.

Es posible configurar el Arduino para que inicie el servidor VSFTPD en el startup. Para ello vamos a la interfaz Luci, nos loggeamos y vamos a la pestaña System/Startup y habilitamos el servicio VSFTPD. Con esto, cuando el Arduino inicie, se iniciará el servidor FTP automáticamente.

 

 

¿Te gustó? ¡Comparte!Share on LinkedInShare on FacebookTweet about this on TwitterEmail this to someoneShare on RedditShare on TumblrShare on Google+Pin on PinterestBuffer this page