Bases de datos SQLite en el Arduino Yun

0
779

En varias ocasiones a través de los diferentes posts que he escrito para Panama Hitek me he atrevido a afirmar que el mejor modelo de Arduino hasta ahora es el Arduino Yún. Si me estoy equivocando o no, pues no lo sé pero de lo que estoy muy seguro es que el Yún es mi modelo favorito de Arduino. He utilizado el UNO, Leonardo, Micro, Nano, Mega, Lilypad e Intel Galileo pero el Yún es mi favorito.

Hoy voy a compartir con ustedes una de las herramientas más útiles que he tenido la oportunidad de utilizar con el Arduino Yún: las bases de datos SQLite. Este tipo de bases de datos son muy utilizadas en la actualidad por diferentes aplicaciones, entre las cuales destaca el Whatsapp. Esta aplicación móvil guarda dentro de un fichero *.db (propio de SQLite) la información de las conversaciones que tenemos con nuestros contactos. Esto es uno de los aspectos que genera mayores críticas sobre esta aplicación ya que se considera muy vulnerable ante cualquier ataque informático por lo fácil que resulta atacar esta base de datos. Para nosotros crear bases de datos SQLite en el Arduino Yún resulta muy provechoso ya que podemos almacenar información útil en ella de forma ordenada y bajo una estructura muy similar a MySQL u otras bases de datos basadas en SQL. En Panama Hitek mucho se ha escrito sobre MySQL:
Estas bases de datos funcionan con servidores MySQL, ya sea a nivel local en una computadora o a nivel remoto en un servidor. SQLite no requiere de un servidor, lo cual hace esta tarea mucho más sencilla. Veamos cuales son los procedimientos para establecer una base de datos SQLite en el Arduino Yún.
  • Tener nuestro Arduino Yún conectado a Internet
  • Conectamos nuestro Arduino Yún a Internet, ya sea a través de Ethernet o a través de WIFI. Podemos comprobar esto tecleando la IP del Yún en un navegador web (yo utilizo Chrome). Nos debe aparecer la siguiente ventana:

expandir memorial del arduino yun

    Esto nos indica que nuestro Arduino está conectado a nuestra red y que está respondiendo a nuestras solicitudes.
  • Haber insertado y configurado una memoria MicroSD 

Hace poco escribí un post sobre como expandir el espacio en disco del Arduino Yún. Se recomienda seguir dicho tutorial ya que la base de datos la montaremos sobre la memoria MicrsoSD.

  • Conectarnos al Arduino Yún por SSH

Ya hemos escrito sobre SSH en Panama Hitek. Debemos tener el software Putty en nuestra computadora (en el caso de Windows). Nos conectamos a la IP del Yún utilizando como nombre de usuario “root” (sin comillas) y como contraseña aquella que establecimos en el proceso de configuración del Arduino. Veremos la siguiente ventana: Bases de datos SQLite en el Arduino Yun

  • Instalar SQLite

En el terminal de SSH tecleamos los siguientes comandos (pueden copiar y pegar todo a la vez):

El resultado debe lucir así: Bases de datos SQLite en el Arduino Yun

  • Crear un directorio para bases de datos en la memoria MicroSD

Desde la consola accedemos a la memoria MicroSD:

Ahora tecleamos “ls” para ver los dicheros en dicha ruta. Solamente veremos una carpeta llamada arduino. Bases de datos SQLite en el Arduino Yun En la ruta /mnt/sda1 crearemos un directorio llamado databases. Esto lo logramos tecleando:

Accedemos al nuevo directorio que creamos:

Estamos listos para crear una base de datos.

  • Creamos una base de datos de nombre “test”

Para ello, en la consola tecleamos:

Se creará una base de datos llamada test.db Bases de datos SQLite en el Arduino Yun   Ahora que tenemos nuestra base de datos vamos a crear una tabla que llamaré registros. En ella colocaré dos columnas, una tipo TEXT llamada tiempo y otra tipo REAL llamada valor.

Ahora voy a insertar algunos valores en la tabla que acabo de crear:

Con estos valores en nuestra tabla podemos hacer una consulta tecleando el comando:

Bases de datos SQLite en el Arduino Yun

Como vemos, la información ha quedado guardada en la base de datos y puede ser obtenida a través de comandos en la consola.

Todas estas operaciones las hemos estado realizando sobre el procesador Atheros del Arduino Yún. Sin embargo también es posible insertar, modificar y obtener registros desde el microcontrolador ATmega32U4, el Arduino al que estamos acostumbrados.

  • Guardando y leyendo datos desde el Microcontrolador

El siguiente código permitirá guardar datos en la base de datos SQLite desde el propio lenguaje Arduino.

Si subimos este código, al entrar al Monitor Serie tecleamos saveData. El resultado es el siguiente: Bases de datos SQLite en el Arduino Yun   Ahora si tecleamos getDataBases de datos SQLite en el Arduino Yun   Estos son los registros que se encuentran guardados en la base de datos SQLite dentro de la MicroSD en el Arduino Yún. Bastante útil para proyectos donde se requiere almacenar grandes volúmenes de información. Espero que esta información sea útil para usted. Saludos.