Diferència entre revisions de la pàgina «4a sessió. Curset introductori d'Internet de les Coses. (24 / novembre / 2020)»
(Es crea la pàgina amb «= Panell de control (''dashboard'') del NodeRED = [https://binefa.cat/training/adtelecom/20201117/ledColorNodeRed.nodered.txt Control d'indicador de color al panell de...».) |
m (→Configuració inicial) |
||
(Hi ha 4 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 1: | Línia 1: | ||
+ | = Teleconferència = | ||
+ | [https://meet.google.com/scz-mmxg-vyj Adreça de la teleconferència d'avui] | ||
+ | |||
+ | = Darrera versió del microprogramari de la placa IoT-02 = | ||
+ | [https://binefa.cat/training/adtelecom/20201124/IoT-02_mqtt_11_jsonLeds.zip Versió amb JSON bidireccional] | ||
+ | |||
= Panell de control (''dashboard'') del NodeRED = | = Panell de control (''dashboard'') del NodeRED = | ||
[https://binefa.cat/training/adtelecom/20201117/ledColorNodeRed.nodered.txt Control d'indicador de color al panell de control] | [https://binefa.cat/training/adtelecom/20201117/ledColorNodeRed.nodered.txt Control d'indicador de color al panell de control] | ||
Línia 37: | Línia 43: | ||
* Comunicació entra la placa IoT-02 i el NodeRED mitjançant dades encapsulades JSON | * Comunicació entra la placa IoT-02 i el NodeRED mitjançant dades encapsulades JSON | ||
Codi importable de NodeRED per a gestionar[https://binefa.cat/training/adtelecom/20201117/iot02_json_00.nodered.txt missatges MQTT des de la placa IoT-02 mitjançant dades encapsulades JSON] | Codi importable de NodeRED per a gestionar[https://binefa.cat/training/adtelecom/20201117/iot02_json_00.nodered.txt missatges MQTT des de la placa IoT-02 mitjançant dades encapsulades JSON] | ||
+ | |||
+ | [https://binefa.cat/training/adtelecom/20201124/controlLedsJson.nodered.txt Flux de control dels leds mitjançant JSON] (Funciona amb aquest microprogramari [https://binefa.cat/training/adtelecom/20201124/IoT-02_mqtt_11_jsonLeds.zip Versió amb JSON bidireccional]) | ||
= Bases de dades temporals '''InfluxDB''' = | = Bases de dades temporals '''InfluxDB''' = | ||
== Configuració inicial == | == Configuració inicial == | ||
− | [http://binefa.com/index.php?title=Puesta_en_marcha_de_InfluxDB Exemple d'instal·lació bàsica d'InfluxDB]. Això '''no ho feu''', és per a veure [https://devconnected.com/how-to-install-influxdb-telegraf-and-grafana-on-docker/ com ha estat configurat] l'InfluxDB: | + | [http://www.binefa.com/index.php?title=Puesta_en_marcha_de_InfluxDB Exemple d'instal·lació bàsica d'InfluxDB]. Això '''no ho feu''', és per a veure [https://devconnected.com/how-to-install-influxdb-telegraf-and-grafana-on-docker/ com ha estat configurat] l'InfluxDB: |
usuari@vps-12a7ecda:~$ docker ps -a | usuari@vps-12a7ecda:~$ docker ps -a | ||
Línia 227: | Línia 235: | ||
* Mastodon, una alternativa lliure a Twitter | * Mastodon, una alternativa lliure a Twitter | ||
− | No totes las | + | No totes las instàncies de [https://ca.wikipedia.org/wiki/Mastodon_(xarxa_social) Mastodon] faciliten la instal·lació de ''bots''. Per a fer els primers passos us recomano aquesta [https://botsin.space/ instància pensada per a hostatjar ''bots'' de Mastodon]. |
[https://botsin.space/@siarq_sensors Exemple de bot de Mastodon] per a fer lectures de sensors cada hora. | [https://botsin.space/@siarq_sensors Exemple de bot de Mastodon] per a fer lectures de sensors cada hora. |
Revisió de 17:16, 23 des 2021
Contingut
Teleconferència
Adreça de la teleconferència d'avui
Darrera versió del microprogramari de la placa IoT-02
Panell de control (dashboard) del NodeRED
Control d'indicador de color al panell de control
Botons
Control dels leds de la placa IoT-02 mitjançant botons al panell de control del NodeRED
Ginys
Visualització del nivell de la LDR de la placa IoT-02 mitjançant ginys al panell de control del NodeRED
Gràfiques
Visualització del nivell de la LDR de la placa IoT-02 mitjançant gràfiques al panell de control del NodeRED
Dades encapsulades JSON
- Ús de dades encapsulades JSON al NodeRED
Escritura de múltiples datos al mismo tiempo. Uso del formato de datos json
- Ús de les dades encapsulades a la placa IoT-02
Codi d'Arduino IoT-02_mqtt_10_adtelecom (Biblioteca Arduino_JSON)
#include <Arduino_JSON.h> ... JSONVar json_IoT; ... json_IoT["bIO0"] = (bIO0currentState)?"1":"0"; json_IoT["bI34"] = (bI34currentState)?"1":"0"; json_IoT["bI35"] = (bI35currentState)?"1":"0"; json_IoT["LDR"] = analogRead(LDR); ... if (szTopic == String("/" + String(sMac) + TOPIC_JSON_INPUT_REQ).c_str()) { String szJson = JSON.stringify(json_IoT); Serial.print("JSON: "); Serial.println(szJson); client.publish( String("/" + String(sMac) + TOPIC_JSON_INPUT).c_str(), szJson.c_str()); }
- Comunicació entra la placa IoT-02 i el NodeRED mitjançant dades encapsulades JSON
Codi importable de NodeRED per a gestionarmissatges MQTT des de la placa IoT-02 mitjançant dades encapsulades JSON
Flux de control dels leds mitjançant JSON (Funciona amb aquest microprogramari Versió amb JSON bidireccional)
Bases de dades temporals InfluxDB
Configuració inicial
Exemple d'instal·lació bàsica d'InfluxDB. Això no ho feu, és per a veure com ha estat configurat l'InfluxDB:
usuari@vps-12a7ecda:~$ docker ps -a usuari@vps-12a7ecda:~$ docker exec -it 67ca6e3e82d6 /bin/bash I have no name!@67ca6e3e82d6:/$ influx -username admin -password txxxxsCxx Connected to http://localhost:8086 version 1.8.3 InfluxDB shell version: 1.8.3 > create database formacioDB > show databases name: databases name ---- weather _internal formacioDB > use formacioDB Using database formacioDB > insert Temperatura value=24.5 > insert Pressio value=1000.0 > insert Humitat value=50.0 > CREATE USER "iot" WITH PASSWORD 'iot' > GRANT ALL ON "formacioDB" TO "iot" > CREATE USER "convidat" WITH PASSWORD 'benvingut' > GRANT READ ON "formacioDB" TO "convidat" > show users user admin ---- ----- admin true iot false convidat false > quit I have no name!@67ca6e3e82d6:/$ exit exit usuari@vps-12a7ecda:~$ docker container restart 67ca6e3e82d6
Accés i configuració d'usuaris i mesures
I have no name!@67ca6e3e82d6:/$ influx -username iot -password iot Connected to http://localhost:8086 version 1.8.3 InfluxDB shell version: 1.8.3 > show databases name: databases name ---- formacioDB > use formacioDB Using database formacioDB > show measurements name: measurements name ---- Humitat Pressio Temperatura jb_Temp > select * from Temperatura name: Temperatura time value ---- ----- 1605478183340088709 24.5 > select * from Humitat name: Humitat time value ---- ----- 1605478195987797491 50 > insert Pressio value=1000.20 > select * from Pressio name: Pressio time value ---- ----- 1605478189310421317 1000 1605478716591764598 1000.2 > delete from Pressio where time=1605478716591764598 > select * from Pressio name: Pressio time value ---- ----- 1605478189310421317 1000 > quit
Ús de prefixos (aa_, ta_, vf_, sa_ i jb_) per a compartir la base de dades temporal InfluxDB
I have no name!@67ca6e3e82d6:/$ influx -username iot -password iot Connected to http://localhost:8086 version 1.8.3 InfluxDB shell version: 1.8.3 > use formacioDB Using database formacioDB > insert jb_Temp value=25.3 > insert jb_Temp value=25.7 > insert jb_Temp value=25.2 > select * from jb_Temp name: jb_Temp time value ---- ----- 1605479011234461680 25.3 1605479015733795563 25.7 1605479018394171773 25.2 >
Lectura de dades
I have no name!@67ca6e3e82d6:/$ influx -username convidat -password benvingut Connected to http://localhost:8086 version 1.8.3 InfluxDB shell version: 1.8.3 > use formacioDB Using database formacioDB > select * from jb_Temp name: jb_Temp time value ---- ----- 1605479011234461680 25.3 1605479015733795563 25.7 1605479018394171773 25.2 >
Dades crues i encapsulades
- Dades crues (raw data)
- Dades encapsulades. Ús de JSON a InfluxDB
Connexió d'InfluxDB amb NodeRED
Des de l'adreça personalitzada del vostre 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.
Accés i visualització de dades
Grafana
Emprant el vostre navegador, accediu a
http://formacio.things.cat:3000/
Els usuaris editors són antonio, jordi, simone, toni i vicente.
Telegram
- Creació de bots amb BotFather
- Instal·lació de nodes de Telegram a NodeRED
- Interacció amb un usuari de Telegram
- Interacció amb un grup de Telegram
Mastodon
- Mastodon, una alternativa lliure a Twitter
No totes las instàncies de Mastodon faciliten la instal·lació de bots. Per a fer els primers passos us recomano aquesta instància pensada per a hostatjar bots de Mastodon.
Exemple de bot de Mastodon per a fer lectures de sensors cada hora.
Getting credentials for the Mastodon API with Mastodon.py, step by step
Exercicis
Exercicis del curset introductori a Internet de les Coses per ADTelecom