Diferència entre revisions de la pàgina «Exercicis del curset introductori a Internet de les Coses per ADTelecom»

De things.cat
Salta a: navegació, cerca
m (MQTT i NodeRED)
m (Telegram i NodeRED)
 
(Hi ha 21 revisions intermèdies del mateix usuari que no es mostren)
Línia 2: Línia 2:
  
 
Des del terminal de GNU/Linux:
 
Des del terminal de GNU/Linux:
  ssh -o ServerAliveInterval usuari@formacio.things.cat
+
  ssh -o ServerAliveInterval=30 usuari@formacio.things.cat
  
 
Des del terminal (CMD) de Windows:
 
Des del terminal (CMD) de Windows:
Línia 20: Línia 20:
 
  df -Th
 
  df -Th
 
  free
 
  free
 +
node -v
 +
npm -v
 
  history
 
  history
  
Línia 61: Línia 63:
  
 
Importeu aquest [https://binefa.cat/training/adtelecom/20201105/primerMqtt.nodered.txt primer flux de NodeRED] al vostre NodeRED.
 
Importeu aquest [https://binefa.cat/training/adtelecom/20201105/primerMqtt.nodered.txt 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'[http://formacio.things.cat/snap/snap.html Snap! instal·lat a la màquina remota] aquest [https://binefa.cat/training/adtelecom/20201105/mqtt_Snap_00.xml codi d'Snap! de prova del MQTT].
 +
 +
[https://binefa.cat/training/adtelecom/20201105/blocsMqtt.xml Biblioteca per importar els blocs MQTT]
 +
 +
= MQTT i la placa IoT-02 =
 +
== MQTT ==
 +
Pugeu aquest [https://binefa.cat/training/adtelecom/20201110/IoT-02_mqtt_09_adtelecom.zip Codi de microprogramari per a provar el protocol '''MQTT''' a la placa IoT-02] mitjançant l'IDE d'Arduino.
 +
 +
Importeu aquest [https://binefa.cat/training/adtelecom/20201110/macReqMac.nodered.txt 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 [http://formacio.things.cat/mac_IoT-02/ client web amb sócols MQTT per a la placa IoT-02].
 +
 +
Carregeu a l'[http://formacio.things.cat/snap/snap.html Snap! instal·lat a la màquina remota] aquest [https://binefa.cat/training/adtelecom/20201110/prova_IoT02_mqtt.xml codi de prova per a la placa IoT-02]
 +
 +
== MQTTS ==
 +
Pugeu aquest [https://binefa.cat/training/adtelecom/20201105/IoT-02_mqtts_09.zip codi de prova de MQTTS per a la placa IoT-02] mitjançant l'IDE d'Arduino.
 +
 +
Carregeu a l'[http://formacio.things.cat/snap/snap.html Snap! instal·lat a la màquina remota] aquest [https://binefa.cat/training/adtelecom/20201105/prova_IoT02.xml codi de prova per a la placa IoT-02]
 +
 +
= Aplicació d'Android MQTT-Dash =
 +
[https://binefa.cat/IoT/mqtt/MQTT_Dash/brokerRemot/ Captures de pantalla d'una configuració de ''broker'' remot a MQTT-Dash]
 +
 +
[http://binefa.com/index.php?title=MQTT-Dash._Control_del_rel%C3%A9_de_enclavamiento_y_lectura_de_la_LDR 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'''.
 +
 +
[https://binefa.cat/training/adtelecom/20201117/influxdb_00.nodered.txt Flux emprant InfluxDB]
 +
 +
= Visualització de dades aleatòries =
 +
[https://binefa.cat/training/adtelecom/20201117/influxdb_01_aleatoritzador.nodered.txt 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 =
 +
[http://binefa.com/index.php?title=Uso_de_InfluxDB_en_el_VPS_del_M%C3%A1ster_de_Industria_4.0_el_curso_2019-2020 Emmagatzematge i visualització de dades encapsulades en JSON]
 +
 +
= Telegram i NodeRED =
 +
[https://wiki.binefa.cat/index.php?title=Un_exemple_d%27us_de_Telegram_amb_el_NodeRed Un exemple d'us de Telegram amb el NodeRed]
 +
 +
[https://binefa.cat/training/adtelecom/20201209/ 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.

Revisió de 23:07, 8 des 2020

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.