Projecte Final de 2n d'SMX - Curs 2020-2021

De binefa.com
Salta a la navegació Salta a la cerca

Enunciat[modifica]

PS18b-. Aplicacions Node-Red i MQTTS: Monitorització de sistemes

1- Desenvolupament d'una aplicació de monitorització de sistemes remots Windows Server i Linux utilitzant Node-Red, UDP, MQTTS, Powershell i bash script. Visualització via web i aplicació mòbil sobre Android.

2- Realització d'un sistema de simulació de control de llums basat en Linux, Node-Red i MQTT. Control via web i aplicació Android.

Alguns enllaços d'interès[modifica]

Guia del curs 2019-2020

Snap! a GitHub

mqtt4snap

Teoria sobre MQTT

broker test.mosquitto.org

Nodes sensors (motes) i passarel·les (gateways)

MQTT-Dash[modifica]

Aplicació MQTT-Dash

Exemple de configuració de l'aplicació MQTT Dash

Serveis per a donar-se d'alta[modifica]

Duck DNS

GitHub d'en Joan Sanahuja

Github d'en Raúl Galcerán

Github d'en Pau Quintero

NodeRED[modifica]

Instal·lació de node i npm

ecat@iot-ecat:~$ sudo bash
root@iot-ecat:/home/ecat# curl -sL https://deb.nodesource.com/setup_14.x | bash -
root@iot-ecat:/home/ecat# apt install -y nodejs
root@iot-ecat:/home/ecat# exit
ecat@iot-ecat:~$ node --version
v14.15.4
ecat@iot-ecat:~$ npm -- version
6.14.10
  • Instal·lació i funcionament del NodeRed autònom:
ecat@iot-ecat:~$ mkdir bin
ecat@iot-ecat:~$ cd bin
ecat@iot-ecat:~/bin$ sudo apt install unzip
ecat@iot-ecat:~/bin$ mkdir nodered-ui
ecat@iot-ecat:~/bin$ cd nodered-ui
ecat@iot-ecat:~/bin/nodered-ui$ wget https://binefa.cat/dam2021/20200928/node_red_ui.zip
ecat@iot-ecat:~/bin/nodered-ui$ unzip node_red_ui.zip
ecat@iot-ecat:~/bin/nodered-ui$ node node_modules/node-red/red.js --userDir node_modules/node-red/data --settings node_modules/node-red/settings.js -v --port 2222 --title elmeuTitol --safe flows_meuTitol.json

Broker MQTT[modifica]

Instal·lació de MQTT amb contrasenya

Més[modifica]

Accés des de Finestrots[modifica]

ssh 172.20.19.23 -l usuari

canvieu 172.20.19.23 per la vostra IP de la màquina GNU/Linux (feu servir ip a) i usuari pel vostre usuari a la mateixa màquina.

Alternativament podeu fer servir putty

Cal afegir aquests paquets a la màquina GNU/Linux (per a poder fer servir netstat):

sudo apt update
sudo apt install net-tools
sudo apt install aptitude
sudo apt install openssh-server

Per consultar els ports oberts a GNU/Linux:

sudo netstat -atpun | grep 22

22 és el filtre que aplico en aquest cas (port del servei SSH).

Memòria lliure:

free -h

Espai de disc lliure:

df -Th

Afegim els escriptoris LXDE i XFCE

sudo apt install lxde xfce4

Per a executar tasques al rerefons:

sudo apt install screen

Per a sortir de l'screen: Ctrl A + D

Per a tornar a l'screen: screen -r

Per a sortir completament de l'screen: exit

Per a veure tots els processos en marxa:

top

Instal·leu x2go a Windows

Instal·leu x2go-server a GNU/Linux:

sudo apt install x2goserver

DuckDNS[modifica]

Pàgina oficial del DuckDNS

Exemple de configuració

Arduino IDE amb l'ESP32[modifica]

Descarregueu-vos el darrer IDE d'Arduino 1.x (al moment de fer aquesta wiki era 1.8.13)

Añadir ESP32 al IDE de Arduino

Algunes biblioteques d'Arduino

Alguns codis d'Arduino

Placa IoT-02 al GitHub

IoT-02[modifica]

provaIoT02.xml Baixeu-vos-ho amb el botó dret del ratolí (Desa l'enllaç com a...). Cal obrir-ho des d' Snap! sense SSL

Microprogramari IoT-02_mqtts_10_dam per a provar la connexió MQTT amb la placa IoT-02 (un exemple de microprogramari fent servir MQTTS en comptes d'MQTT)

Flux de NodeRED per a provar la connexió MQTT amb la placa IoT-02 (Caldrà afegir l'usuari ecat i la contrasenya clotClot al broker. A l'exportar el flux no es copien per seguretat)