Tercera entrada de la serie, vamos a instalar las herramientas para realizar la conexión entre Arduino y Raspberry, grabando los datos recibidos en nuestra base de datos. Son los siguientes:
- Instalación Node.js y npm
- Instalación Node-Red
- Instalación Nodos necesarios
- Instalación Mosquitto
# curl -sL https://deb.nodesource.com/setup_11.x | sudo bash -
Este comando nos actualiza la lista de repositorios
# sudo apt-get install -y nodejs
para comprobar la instalación, tecleamos:
# node -v
# npm -v
Estos dos comandos nos devolverá la versión instalada de cada uno de los paquetes.
Una vez instalado Node.js y npm, continuamos con la instalación de Node-Red.
Se trata de una herramienta de programación, especifica para el IoT, desarrollada por IBM, su editor esta basado en web y no es necesario un conocimiento de programación, todo se realiza mediante lo que llama "nodos" y basta con arrástralos definir algunas propiedades y conectarlos.
Para instalar Node-Red en Raspberry Pi seguimos los pasos siguientes:
Abrimos una consola y tecleamos
# sudo apt-get install npm && sudo npm i -g npm
# bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
Para instalar los "Flows" (modulos) necesarios, debemos buscar el acceso directo que nos ha creado en el apartado de "Programación" "Node-red" o bien en una consola tecleamos:
# node-red-start
podemos hacer que Node-Red arranque automaticamente al iniciar nuestro sistema con el comando:
# sudo systemctl enable nodered.service
Cuando termina la carga, abrimos ventana del navegador y escribimos la dirección:
http://localhost:1880 (desde navegador local)
http://ip_de _nuestra_raspberry:1880 (desde otra maquina)
nos mostrara la siguiente ventana
Accedemos al menú, (tres rayas, arriba a la derecha)
y vamos a la opción "Manage Palette"
seleccionamos la pestaña "Install"
y buscamos, cada uno de los siguientes nodos, procediendo a instalarlos de uno en uno:
Tambien podemos instalarlos de forma manual según los pasos descritos en la web de cada uno de ellos.
abrimos consola
# cd ~/.node-red
# npm install node-red-node-mysql
# npm install node-red-dashboard
# npm install node-red-contrib-moment
Esta instalación nos creara nuevos nodos en la columna correspondiente en la parte izquierda de la ventana.
Para poder comunicar Arduino y Raspberry Pi vamos a utilizar el protocolo MQTT y en concreto, vamos a utilizar el "intermediario" o "Broker" Mosquitto.
Abrimos consola y tecleamos los siguientes comandos:
# sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
cargamos el repositorio
# sudo apt-key add mosquitto-repo.gpg.key
Obtenemos la "Key"
# cd /etc/apt/sources.list.d/
# sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list
# sudo apt-get update
Añadimos la a la lista de paquetes y actualizamos
# sudo apt-get install mosquitto mosquitto-clients
Instalamos Mosquitto y sus herramientas
# sudo systemctl status mosquitto
Comprobamos el funcionamiento de Mosquitto
Nos debe mostrar "Active: Running"
Podemos verificar el funcionamiento abriendo dos consolas, en una tecleamos el comando:
# mosquitto_sub -v -t "test/topic" (aquí vamos a recibir el mensaje)(consola 1)
# mosquitto_pub -t "test/topic" -m "Hello World!" (con este comando enviaremos el mensaje)(consola 2)
Si vamos a utilizar Mosquitto con GPIO podemos instalar tambien los siguientes paquetes
# sudo apt-get install python-pip
# sudo pip install paho-mqtt
Ahora vamos a configurar la seguridad para evitar accesos no deseados.
# sudo mosquitto_passwd -c /etc/mosquitto/passwd USUARIO
Con este comando asignaremos Usuario y contraseña, esta informacion se guardara en el fichero:
/etc/mosquitto/passwd
Ahora debemos modificar el fichero de configuración. lo encontramos en /etc/mosquitto/mosquitto.conf.
Recordar hacer copia del fichero antes de hacer alguna modificación.
Tecleamos:
# cd /etc/mosquitto
# sudo nano mosquitto.conf
Dejamos con el siguiente contenido:
# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example
pid_file /var/run/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
# Save all log in file
log_type all
log_timestamp true
allow_anonymous false
password_file /etc/mosquitto/pwfile
ahora "Ctrl"+ O (e Intro) para salvar y "Ctrl" + X para salir
Reiniciamos el servicio
# sudo systemctl restart mosquitto
y comprobamos el funcionamiento
# sudo systemctl status mosquitto
Para comprobar el funcionamiento con usuario y contraseña, abrimos dos consolas y repetimos los comandos de publicación/suscripción en cada una de ellas
# mosquitto_pub -d -t “test” -m “hola_mundo” -u USUARIO -P CONTRASEÑA
# mosquitto_sub -d -t “test” -u USUARIO -P CONTRASEÑA
Verificamos que llega el mensaje enviado.
Siempre recordar, que es conveniente realizar copia de la tarjeta SD, como hemos descrito en la primera entrada, así, podremos recuperar los puntos de instalación en cualquier momento.
con esto terminamos esta entrada, creo que ha ha podido ser algo densa, a si que
Continuamos en la siguiente entrada de la serie, la Entrada 4.
No hay comentarios:
Publicar un comentario