Exercicis del curset introductori a Internet de les Coses per ADTelecom

De things.cat
Salta a: navegació, cerca

Accediu a la màquina remota formacio.things.cat mitjançant el protocol ssh

Des del terminal de GNU/Linux:

ssh -o ServerAliveInterval=30 usuari@formacio.things.cat

Des del terminal (CMD) de Windows:

ssh usuari@formacio.things.cat

Des de putty en Windows: Adreça formacio.things.cat pel port 22. Un cop a dins pregunta el vostre usuari i contrasenya.

Usuaris disponibles: antonio, simone, toni i vicente

Algunes ordres GNU/Linux

ls -ls
cd ..
du usuari (canvieu usuari pel vostre usuari)
du -sh usuari
cd ~
pwd
df -Th
free
node -v
npm -v
history

Ús d'screen

screen

Feu enter

ping 1.1.1.1

Sortiu d'screen prement Ctrl-A i deprés D. Torneu-hi a entrar fent:

screen -r

Premeu Ctrl-C i per a sortir completament de l'screen:

exit

Instal·lació d'execució local del NodeRED

mkdir bin
cd bin
mkdir nodered
cd nodered
wget https://binefa.cat/training/nodered/node_red_ui.zip
unzip node_red_ui.zip

Execució de NodeRED mitjançant screen

screen

Premeu Enter per a entrar-hi. Abans d'executar el següent codi canvieu xxxx per 2223 per a antonio, 2224 per simone, 2225 per a toni i 2226 per a vicente.

node node_modules/node-red/red.js --userDir node_modules/node-red/data --settings node_modules/node-red/settings.js -v --port xxxx --title elmeuTitol --safe flows_meuTitol.json

Feu Crtl-A i després D per a sortir, deixant-ho en marxa. Per a aturar el servei caldrà tornar a l'screen i fer un Ctrl-C

Provem que està funcionant el NodeRED remot

Emprant el vostre navegador, accediu a

http://formacio.things.cat:xxxx/ 

canviant xxxx pel vostre número de port assignat.

MQTT i NodeRED

Estat del servei mosquitto:

systemctl status mosquitto

Visualització de la configuració del broker mosquitto:

cat /etc/mosquitto/mosquitto.conf
cat /etc/mosquitto/certs/contrasenyes.txt

Per a aquest curset s'ha habilitat al broker mosquitto l'usuari ad amb la contrasenya telecom

Importeu aquest primer flux de NodeRED al vostre NodeRED.

MQTT, NodeRED i Snap!

Al NodeRED canvieu el tema del node mqtt out per /mac. I el tema del node mqtt in per #.

Carregeu a l'Snap! instal·lat a la màquina remota aquest codi d'Snap! de prova del MQTT.

Biblioteca per importar els blocs MQTT

MQTT i la placa IoT-02

MQTT

Pugeu aquest Codi de microprogramari per a provar el protocol MQTT a la placa IoT-02 mitjançant l'IDE d'Arduino.

Importeu aquest codi de NodeRED per a llegir la MAC de la placa IoT-02, després de fer-ne una petició explícita (amb el microprogramari actual cal mantenir premut el botó IO0 mentre es fa la petició al tema /macReq).

Comuniqueu-vos amb la placa mitjançant un client web amb sócols MQTT per a la placa IoT-02.

Carregeu a l'Snap! instal·lat a la màquina remota aquest codi de prova per a la placa IoT-02

MQTTS

Pugeu aquest codi de prova de MQTTS per a la placa IoT-02 mitjançant l'IDE d'Arduino.

Carregeu a l'Snap! instal·lat a la màquina remota aquest codi de prova per a la placa IoT-02

Aplicació d'Android MQTT-Dash

Captures de pantalla d'una configuració de broker remot a MQTT-Dash

MQTT-Dash. Control del relé d'enclavament i lectura de l'LDR

Panell de control al NodeRED

  • Es proposa fer una pràctica amb botons que encenen i apaguen els leds de la placa IoT. També hi haurà el control del relé d'enclavament.
  • Lectura del nivell de la LDR. Ús de ginys i gràfiques. Injecció per repetició.
  • Lectura dels paràmetres llegits pel sensor BME680 (temperatura, humitat relativa i pressió atmosfèrica).
  • Tramesa de text a la pantalla OLED.
  • Com fer servir encapsulat de dades de tipus JSON.

Instal·lació dels nodes InfluxDB a NodeRED

Aneu al menú, escolliu l'opció Settings, seleccioneu la pestanya vertical Palette, aneu a la pestanya horitzontal Install, a Search modules escriviu-hi node-red-contrib-influxdb i premeu el botó Install.

Flux emprant InfluxDB

Visualització de dades aleatòries

Aleatoritzador per a NodeRED

Configurar el Grafana per a visualitzar aquestes dades generades pel flux de NodeRED.

Emmagatzematge i visualització de dades encapsulades en JSON

Emmagatzematge i visualització de dades encapsulades en JSON

Telegram i NodeRED

Un exemple d'us de Telegram amb el NodeRed

Material per a fer el bot

Pràctica d'emmagatzematge i visualització al núvol

  • Anàlisi de recollida de dades del sensor de la placa IoT-02. Temperatura, humitat relativa i pressió atmosfèrica.
  • Captació i visualització d'aquestes dades al NodeRED.
  • Emmagatzematge de dades en format JSON a la base de dades temporal InfluxDB.
  • Visualització de dades mitjançant Grafana.
  • Petició de dades mitjançant Telegram.