Diferència entre revisions de la pàgina «Exercicis del curset introductori a Internet de les Coses per ADTelecom»
m (→MQTT, NodeRED i Snap!) |
m (→Telegram i NodeRED) |
||
(Hi ha 16 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 67: | Línia 67: | ||
Al NodeRED canvieu el tema del node '''mqtt out ''' per '''/mac'''. I el tema del node '''mqtt in''' per '''#'''. | 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/ | + | 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] | [https://binefa.cat/training/adtelecom/20201105/blocsMqtt.xml Biblioteca per importar els blocs MQTT] | ||
= MQTT i la placa IoT-02 = | = 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 = | = 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 = | = 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://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
Contingut
- 1 Accediu a la màquina remota formacio.things.cat mitjançant el protocol ssh
- 2 Algunes ordres GNU/Linux
- 3 Ús d'screen
- 4 Instal·lació d'execució local del NodeRED
- 5 Execució de NodeRED mitjançant screen
- 6 Provem que està funcionant el NodeRED remot
- 7 MQTT i NodeRED
- 8 MQTT, NodeRED i Snap!
- 9 MQTT i la placa IoT-02
- 10 Aplicació d'Android MQTT-Dash
- 11 Panell de control al NodeRED
- 12 Instal·lació dels nodes InfluxDB a NodeRED
- 13 Visualització de dades aleatòries
- 14 Emmagatzematge i visualització de dades encapsulades en JSON
- 15 Telegram i NodeRED
- 16 Pràctica d'emmagatzematge i visualització al núvol
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.
Visualització de dades aleatòries
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
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.