MySQL: instalación y configuración en el Arduino Yún

0
246

El servicio de MySQL es una de las ventajas de poseer un sistema operativo corriendo alguna distribución de Linux. En nuestro caso estamos utilizando Linino (una distribución de OpenWRT) u OpenWRT-Yun. La distribución de Linux que estemos utilizando en el Yún depende más que todo de qué empresa de la cual fue adquirido (aunque es posible instalarle Linino a la versión de Arduino LLC). Esto se debe a la batalla legal por el control de la marca Arduino, la cual ha causado que se produzca este tipo de discrepancias.

Anteriormente se ha escrito en este blog sobre cómo instalar SQLite en el Yún (Ver: Base de datos SQLite en el Arduino Yún). Ambos sistemas de base de datos tienen ventajas y desventajas. La principal diferencia es que MySQL es un servicio y SQLite es una librería.

Con MySQL es posible gestionar múltiples usuarios, los cuales pueden tener diferentes privilegios. Esto no es posible a través de SQLite debido a que esta librería funciona bloqueando el acceso al archivo de base de datos mientras algún proceso lo requiera (esto impide pueden gestionar dos o más peticiones al mismo tiempo).

La ventaja que posee SQLite recae en su nombre. SQLite es bastante liviano, rápido y sencillo de utilizar. Es el preferido para dispositivos de bajos recursos y que tengan pocas peticiones por segundo. MySQL requiere de la utilización de un servidor, desde el cual se gestiona todo lo relacionado a la(s) bases(s) de datos.

Como ya sabemos, el Arduino Yún es un dispositivo que integra un Arduino Leonardo y un Procesador  Atheros AR9331, en el cual tenemos disponible la distribución de Linux que ya mencionamos. A continuación describiremos los pasos a seguir para la instalación del servidor MySQL en el Arduino Yún.

Paso #1: Ampliar la memoria flash del Yún.

Lo primero que debemos hacer es expandir la memoria interna para instalar programas de nuestro Arduino. Esto se ha escrito anteriormente en esta página: Expandir la memoria del Arduino Yún con una MicroSD.

Paso #2: Instalar el servicio MySQL

Para este paso necesitamos acceder a la terminal de OpenWRT de nuestro Yún. Esto lo podemos completar utilizando SSH. Una vez estemos debemos introducir los siguientes comandos:

Instalación del servicio

Instalación de los directorios

Forzar la instalación de la base de datos

Crear el usuario root

En la consola utilizamos el comando:

Luego elegimos la base de datos

Se limpian los privilegios actuales y se crea el usuario root.

Iniciar el servicio

Con esto tendremos el usuario root con la contraseña “arduinoYun”. Podemos asignarle la contraseña que deseemos. La próxima ves que deseemos entrar a la consola de MySQL debemos agregarle el parámetro -p :

Donde luego se nos pedirá introducir la contraseña. En nuestro caso es “arduinoYun”.

Opcional: Instalar librería de PHP

Abrimos la terminal nuevamente y ejecutamos el siguiente comando:

Anteriormente se utilizaba la librería php5-mod-mysql en ves de php5-mod-mysqli. La última tiene mejoras en términos de seguridad y de rendimiento con respecto a la primera.

Paso #3: Crear nuestra primera base de datos

Es hora de probar el MySQL Server que hemos instalado.

Crear la base de datos

Seleccionar la base de datos

Crear nuestra primera tabla y columnas

Esto nos creará una tabla llamada prueba, con 3 campos: id (ya que se necesita un indice), nombre y fecha. Note que la fecha es un entero, lo cual es muy utilizado para guardar fechas basadas en los segundos transcurridos desde el primero de enero de 1970.

Ver la información de nuestra tabla creada

Si todo sale bien, nos debe aparecer lo siguiente.

Tabla "prueba" creada en MySQL mediante la terminal.
Tabla “prueba” creada  mediante la terminal.

Podemos borrar la tabla creada anteriormente utilizando el siguiente comando:

También podemos borrar la base de datos:

Utilizar MySQL es un poco más complejo que SQLite, pero representa una mejora en ciertos ambientes. Está en nosotros el discernir las situaciones en las cuales resulta ventajoso la utilización de una u otra opción. Esperamos que la información presentada sea de utilidad para ustedes.

Saludos.