El siguiente post es válido para el Arduino Yún y el Linkit Smart Duo 7688. Lo que haremos nos permitirá editar texto desde una consola SSH, con la cual podemos acceder remotamente a nuestro dispositivo. Para lograr esto es necesaria una conexión a Internet.
En Panama Hitek ya hemos escrito antes sobre el uso de SSH con el Arduino Yún. SSH básicamente nos permite acceder a dispositivos de forma remota a través de una consola. Se utiliza un cliente de SSH, como el clásico Putty o el que yo utilizo, Bitvise SSH Client.
Necesitamos conectar el Arduino Yún a través de algún protocolo de comunicación, ya sea WiFi o Ethernet. El enlace puede ser directamente entre el Arduino y la computadora (modo Access Point) o de forma indirecta a través de una red LAN (modo cliente). Para los efectos de este ejemplo, yo he conectado mi computadora y mi Arduino a una red WiFi. Al Arduino le he asignado la IP 192.168.0.120.
Con el Bitvise, inicio una sesión de SSH entre mi computadora (cliente) y el Arduino Yún (servidor). La ventana luce de la siguiente forma:
En Username y Password se colocan el nombre de usuario y la contraseña de acceso al Arduino Yún. El nombre de usuario por defecto es root y la contraseña se establece desde la interfaz gráfica a la que se accede en la configuración inicial.
Una vez en la consola de SSH, es posible que necesitemos editar algún archivo de texto. O quizás simplemente necesitamos visualizar el contenido del fichero. El propósito de este artículo es mostrar las dos opciones más comunes que existen para realizar este tipo de operación.
Opción nativa: vi
El vi es una funcionalidad nativa de muchos sistemas operativos basados en Linux. OpenWRT lo trae instalado por defecto. Para probar el vi, vamos a escribir lo siguiente en la consola:
1 |
cd /etc/config |
Esto nos redireccionará al directorio config que se encuentra dentro de etc. Si tecleamos ls, veremos el listado de ficheros contenidos en el interior de la carpeta config.
El fichero que nos interesa es aquel bajo el nombre de uhttpd. Este fichero contiene la configuración del servidor web nativo del Arduino Yún/Linkit Smart Duo. Si queremos ver que hay en su interior, utilizamos vi.
1 |
vi uhttpd |
Este comando abrirá la siguiente ventana:
Las líneas mostradas en la consola de SSH corresponden a la configuración almacenada dentro de uhttpd. Cuando usamos vi, tenemos dos modos de funcionamiento: modo de inserción y modo de comandos.
- En el modo de inserción, podemos modificar el fichero en el que estamos trabajando. Para entrar en este modo, presionamos i o a justo cuando entramos a la consola vi.
- Para entrar en modo de comandos, necesitamos presionar escape (ESC).
El modo de comandos permite ejecutar algunas instrucciones asociadas al funcionamiento del programa. Algunos comandos importantes:
-
:w
para guardar el fichero, sobreescribiendo sobre el fichero anterior -
:q
para salir del programa -
:wq!
escribe el fichero de manera forzada y luego sale del programa -
:%s/string1/string2/g
reemplaza el string1 por el string2 en todo el fichero.
Esto quiere decir que si queremos modificar un fichero, entramos a vi, presionamos i, vamos a la línea que deseamos modificar y escribimos donde sea necesario. Luego se presiona ESC y se ejecuta el comando :w para guardar el nuevo fichero.
Mi opción de preferencia: nano
Nano es un editor de texto muy utilizado a nivel de Linux. Para poder utilizarlo es necesario tenerlo instalado en nuestro sistema, ya que no se encuentra disponible de forma nativa en algunas plataformas. Al menos no en OpenWRT. Para instalar nano, hacemos lo siguiente:
1 2 |
opkg update opkg install nano |
Esto descargará el editor desde Internet y lo instalará. Ahora solo tenemos que invocar nano seguido del nombre del archivo que queremos ver/editar.
1 |
nano uhttpd |
La ventaja de Nano es que es mucho más fácil de utilizar. En la ventana inferior tenemos los comandos que necesitamos para lograr resultados durante el proceso de edición del archivo.
Otras opciones
En Linux existen otros editores de texto con funciones similares a Nano y vi:
-
vim (se recomienda reiniciar después de instalar)