3a sessió. Curset introductori d'Internet de les Coses. (17 / novembre / 2020)
Contingut
Ús del telèfon mòbil per trametre i rebre temes MQTT
Panell de control (dashboard) del NodeRED
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
- Ús de les dades encapsulades a la placa IoT-02
- Comunicació entra la placa IoT-02 i el NodeRED mitjançant dades encapsulades JSON
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 exec -it 67ca6e3e82d6 /bin/bash I have no name!@67ca6e3e82d6:/$ influx -username admin -password thingsCat 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 > 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
Accés i visualització de dades
Grafana
- Ús de diferents instàncies de Grafana emprant contenidors (dockers)
Instal·lació de docker a Debian 10
How To Install InfluxDB Telegraf and Grafana on Docker
Redirecció de ports amb docker
Abans d'executar el següent codi, dins una nova instància screen canvieu xxxx per 3003 per a antonio, 3004 per simone, 3005 per a toni i 3006 per a vicente.
docker run -d -p xxxx:3000 grafana/grafana
Documentació oficial de Grafana per a llur instal·lació emprant Docker
Emprant el vostre navegador, accediu a
http://formacio.things.cat:xxxx/
canviant xxxx pel vostre número de port assignat.
- Graficació de dades crues
- Graficació de dades encapsulades
- Gràfiques en Grafana vs Gràfiques en NodeRED
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