Blog relacionado a la informática. Principalmente a la plataforma Arduino

Arduino Yun + Sqlite3

No hay comentarios

¿Que es la Persistencia de Datos?

Es la acción de preservar la información obtenida de alguna fuente de forma permanente (guardado), pero a su vez también se refiere a poder recuperar la información del mismo (leerlo) para que pueda ser nuevamente utilizado.

De forma sencilla, con un ejemplo, es poder almacenar la información obtenida de un sensor de temperatura, luz, o cualquier otro sensor que este conectado a la Arduino para ser utilizado cuando se necesite.

Métodos de Persistencia

Se pueden guardar datos de distintas formas con Arduino, puede ser ocupando la librería eeprom ya que este posee una memoria no volátil. A través de archivos planos (Ej: txt) que se almacenan en una SD conectada. O con bases de datos.

En nuestro ejemplo ocuparemos la persistencia a través de Sqlite que es una base de datos.

¿Por que Sqlite?

  • Tamaño: SQLite tiene una pequeña memoria y una única biblioteca es necesaria para acceder a bases de datos, lo que lo hace ideal para aplicaciones de bases de datos incorporadas.
  • Rendimiento de base de datos: SQLite realiza operaciones de manera eficiente y es más rápido que MySQL y PostgreSQL.
  • Portabilidad: se ejecuta en muchas plataformas y sus bases de datos pueden ser fácilmente portadas sin ninguna configuración o administración.
  • Estabilidad: SQLite es compatible con ACID, reunión de los cuatro criterios de Atomicidad, Consistencia, Aislamiento y Durabilidad.
  • SQL: implementa un gran subconjunto de la ANSI – 92 SQL estándar, incluyendo sub-consultas, generación de usuarios, vistas y triggers.
  • Interfaces: cuenta con diferentes interfaces del API, las cuales permiten trabajar con C++, PHP, Perl, Python, Ruby, Tcl, groovy, etc.
  • Costo: SQLite es de dominio público, y por tanto, es libre de utilizar para cualquier propósito sin costo y se puede redistribuir libremente.

Instalación de Sqlite3

Nos conectamos a la Arduino Yun por ssh (en post anteriores he explicado como realizar la conexión).

Ejecutamos el comando opkg update para actualizar el repositorio.



Luego instalamos Sqlite3 con el comando opkg install sqlite3-cli



Creamos una base llamado sensor, con el siguiente código
sqlite3 /mnt/sda1/sensor.db

Luego creamos una tabla llamada sensor_dato, con el código
CREATE TABLE sensor_dato(
id INTEGER PRIMARY KEY,
temperatura VARCHAR(64),
sqlitetimestamp DATETIME DEFAULT CURRENT_TIMESTAMP
);


Insertamos un dato y lo visualizamos con el siguiente código
INSERT INTO sensor_data (temperature) VALUES (30);
select * from sensor_data;


Y salimos con el código
.quit



No hay comentarios :

Publicar un comentario