Diferència entre revisions de la pàgina «Exercicis d'Internet de les Coses (M15UF1, M09UF2 i M09UF3 del curs 2020-2021)»
m |
m |
||
Línia 1: | Línia 1: | ||
− | = ex3.1 Exercici d'introducció a les bases de dades temporals. Ús de l'InfluxDB 2.0 = | + | = ex3.1) Exercici d'introducció a les bases de dades temporals. Ús de l'InfluxDB 2.0 = |
[https://binefa.cat/training/nodered/influxDB_2.0/escripturaUnaDadaAleatoriaInfluxDB.nodered.txt Flux NodeRED d'escriptura d'una dada aleatòria a InfluxDB] a l'organització '''Clot''' al ''bucket'' '''aleatori/v1''' | [https://binefa.cat/training/nodered/influxDB_2.0/escripturaUnaDadaAleatoriaInfluxDB.nodered.txt Flux NodeRED d'escriptura d'una dada aleatòria a InfluxDB] a l'organització '''Clot''' al ''bucket'' '''aleatori/v1''' | ||
Línia 8: | Línia 8: | ||
Expliqueu com es poden emmagatzemar dades a InfluxDB 2.0 emprant NodeRED i com es poden visualitzar emprant el mateix servei web d'InfluxDB 2.0 | Expliqueu com es poden emmagatzemar dades a InfluxDB 2.0 emprant NodeRED i com es poden visualitzar emprant el mateix servei web d'InfluxDB 2.0 | ||
− | = ex3.2 Visualització a Grafana de les dades emmagatzemades a una base de dades temporal = | + | = ex3.2) Visualització a Grafana de les dades emmagatzemades a una base de dades temporal = |
* Visualitzeu a Grafana les dades de temperatura, humitat relativa, pressió atmosfèrica i de nivell de llum. Feu servir missatgeria MQTT amb un '''''broker'' públic'''. Gestioneu les dades amb NodeRED emmagatzemant-les a una base de dades temporal InfluxDB v2.0. Visualitzeu les dades a un panell de gràfiques emprant Grafana. | * Visualitzeu a Grafana les dades de temperatura, humitat relativa, pressió atmosfèrica i de nivell de llum. Feu servir missatgeria MQTT amb un '''''broker'' públic'''. Gestioneu les dades amb NodeRED emmagatzemant-les a una base de dades temporal InfluxDB v2.0. Visualitzeu les dades a un panell de gràfiques emprant Grafana. | ||
* Visualitzeu a Grafana les dades de temperatura, humitat relativa, pressió atmosfèrica i de nivell de llum. Feu servir missatgeria MQTT amb un '''''broker'' local''' (a la vostra màquina base o màquina virtual). Gestioneu les dades amb NodeRED emmagatzemant-les a una base de dades temporal InfluxDB v2.0. Visualitzeu les dades a un panell de gràfiques emprant Grafana. | * Visualitzeu a Grafana les dades de temperatura, humitat relativa, pressió atmosfèrica i de nivell de llum. Feu servir missatgeria MQTT amb un '''''broker'' local''' (a la vostra màquina base o màquina virtual). Gestioneu les dades amb NodeRED emmagatzemant-les a una base de dades temporal InfluxDB v2.0. Visualitzeu les dades a un panell de gràfiques emprant Grafana. | ||
− | = ex3.3 Pont d'HTTP a MQTT = | + | = ex3.3) Pont d'HTTP a MQTT = |
* Mitjançant '''navegador web''' encén i/o apaga qualsevol led de la placa IoT-02 connectada a un ''broker'' MQTT. Feu servir com a pont el NodeRED. | * Mitjançant '''navegador web''' encén i/o apaga qualsevol led de la placa IoT-02 connectada a un ''broker'' MQTT. Feu servir com a pont el NodeRED. | ||
* Mitjançant '''''curl'' al terminal''' encén i/o apaga qualsevol led de la placa IoT-02 connectada a un ''broker'' MQTT. Feu servir com a pont el NodeRED. | * Mitjançant '''''curl'' al terminal''' encén i/o apaga qualsevol led de la placa IoT-02 connectada a un ''broker'' MQTT. Feu servir com a pont el NodeRED. | ||
− | = ex3.4 Presa de contacte amb FreeRTOS = | + | = ex3.4) Presa de contacte amb FreeRTOS = |
Fent servir la placa IoT-02 feu un programa amb dues tasques. Una tasca farà que el led groc faci pampallugues (500ms encés i 500ms apagat). Una altra tasca llegirà el botó I35, fent que quan estigui premut el cicle del led groc sigui de 100ms encés i 100ms apagat. | Fent servir la placa IoT-02 feu un programa amb dues tasques. Una tasca farà que el led groc faci pampallugues (500ms encés i 500ms apagat). Una altra tasca llegirà el botó I35, fent que quan estigui premut el cicle del led groc sigui de 100ms encés i 100ms apagat. | ||
− | = ex3.5 Presa de contacte amb LoRaWAN = | + | = ex3.5) Presa de contacte amb LoRaWAN = |
Expliqueu com donar-vos d'alta a The Things Network i com heu adjuntat la vostra placa IoT-02 com a una aplicació d'aquest servei. | Expliqueu com donar-vos d'alta a The Things Network i com heu adjuntat la vostra placa IoT-02 com a una aplicació d'aquest servei. | ||
Línia 71: | Línia 71: | ||
Expliqueu un microprogramari mínim per a la placa IoT-02 que tramet les dades llegides a la fotoresistència (LDR). Expliqueu un flux mínim de NodeRED per a capturar les dades rebudes emprant LoRaWAN fent servir '''OTAA'''. | Expliqueu un microprogramari mínim per a la placa IoT-02 que tramet les dades llegides a la fotoresistència (LDR). Expliqueu un flux mínim de NodeRED per a capturar les dades rebudes emprant LoRaWAN fent servir '''OTAA'''. | ||
− | = ex3.6 Ús de LoRaWAN per la tramesa de dades = | + | = ex3.6) Ús de LoRaWAN per la tramesa de dades = |
== ex3.6.1) Tramesa OTAA d'un conjunt de dades llegides als sensors de la placa IoT-02 == | == ex3.6.1) Tramesa OTAA d'un conjunt de dades llegides als sensors de la placa IoT-02 == | ||
Emprant '''OTAA''', visualitzeu a Grafana les dades de temperatura, humitat relativa, pressió atmosfèrica i de nivell de llum. Feu servir LoRaWAN trametent al rerefons de The Things Network, NodeRED emmagatzemarà les dades rebudes mitjançant LoRaWAN a una base de dades temporal. Visualitzeu les dades mitjançant el visualitzador web Grafana. | Emprant '''OTAA''', visualitzeu a Grafana les dades de temperatura, humitat relativa, pressió atmosfèrica i de nivell de llum. Feu servir LoRaWAN trametent al rerefons de The Things Network, NodeRED emmagatzemarà les dades rebudes mitjançant LoRaWAN a una base de dades temporal. Visualitzeu les dades mitjançant el visualitzador web Grafana. |
Revisió del 18:07, 9 març 2021
Contingut
- 1 ex3.1) Exercici d'introducció a les bases de dades temporals. Ús de l'InfluxDB 2.0
- 2 ex3.2) Visualització a Grafana de les dades emmagatzemades a una base de dades temporal
- 3 ex3.3) Pont d'HTTP a MQTT
- 4 ex3.4) Presa de contacte amb FreeRTOS
- 5 ex3.5) Presa de contacte amb LoRaWAN
- 6 ex3.6) Ús de LoRaWAN per la tramesa de dades
ex3.1) Exercici d'introducció a les bases de dades temporals. Ús de l'InfluxDB 2.0
Flux NodeRED d'escriptura d'una dada aleatòria a InfluxDB a l'organització Clot al bucket aleatori/v1
Codi Flux per a la graficació a Grafana:
from(bucket: "aleatori/v1") |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
Expliqueu com es poden emmagatzemar dades a InfluxDB 2.0 emprant NodeRED i com es poden visualitzar emprant el mateix servei web d'InfluxDB 2.0
ex3.2) Visualització a Grafana de les dades emmagatzemades a una base de dades temporal
- Visualitzeu a Grafana les dades de temperatura, humitat relativa, pressió atmosfèrica i de nivell de llum. Feu servir missatgeria MQTT amb un broker públic. Gestioneu les dades amb NodeRED emmagatzemant-les a una base de dades temporal InfluxDB v2.0. Visualitzeu les dades a un panell de gràfiques emprant Grafana.
- Visualitzeu a Grafana les dades de temperatura, humitat relativa, pressió atmosfèrica i de nivell de llum. Feu servir missatgeria MQTT amb un broker local (a la vostra màquina base o màquina virtual). Gestioneu les dades amb NodeRED emmagatzemant-les a una base de dades temporal InfluxDB v2.0. Visualitzeu les dades a un panell de gràfiques emprant Grafana.
ex3.3) Pont d'HTTP a MQTT
- Mitjançant navegador web encén i/o apaga qualsevol led de la placa IoT-02 connectada a un broker MQTT. Feu servir com a pont el NodeRED.
- Mitjançant curl al terminal encén i/o apaga qualsevol led de la placa IoT-02 connectada a un broker MQTT. Feu servir com a pont el NodeRED.
ex3.4) Presa de contacte amb FreeRTOS
Fent servir la placa IoT-02 feu un programa amb dues tasques. Una tasca farà que el led groc faci pampallugues (500ms encés i 500ms apagat). Una altra tasca llegirà el botó I35, fent que quan estigui premut el cicle del led groc sigui de 100ms encés i 100ms apagat.
ex3.5) Presa de contacte amb LoRaWAN
Expliqueu com donar-vos d'alta a The Things Network i com heu adjuntat la vostra placa IoT-02 com a una aplicació d'aquest servei.
A un NodeRED funcionant des del terminal (no com a servei. Precisament, com ho fem a classe) dóna errors d'execució al fer servir els nodes instal·lats com a node-red-contrib-ttn (nodes oficials de TheThingsNetwork o TTN). També es veu que des de fa dos anys no s'ha fet manteniment d'aquests nodes. Degut a això es tractaran les trames emeses pels dispositius LoRaWAN com a missatges MQTT.
A una aplicació anomenada dam2021-Cognom1Cognom2Nom afegiu-hi un dispositiu anomenat dam2021-Cognom1Cognom2Nom-0001. Al NodeRED caldrà introduir aquestes dades:
Broker: eu.thethings.network
Port: 1883
Security / Username: dam2021-Cognom1Cognom2Nom (el nom de l'aplicació a TTN)
Security / Password: ttn-account-v2.LVh3FzICF-3yhHe__no__es__la__que__toca__yPaQ3kEJ9uiCNkyPkGM (default key d'ACCESS KEYS)
Topic: dam2021-Cognom1Cognom2Nom/devices/dam2021-Cognom1Cognom2Nom-0001/up (tema de pujada o uplink)
El missatge arriba com a text, es converteix a json i hi ha els temes: app_id, dev_id, hardware_serial, port, counter, payload_raw (codificat en base 64) i metadata. Dins de metadata: time, frequency, modulation, data_rate, airtime, coding_rate i gateways. Dins de gateways: les passarel·les que han captat el missatge LoRa començant per 0. I dins de cada passarel·la: gtw_id, timestamp. time, channel, rssi, snr, rf_chain, latitude, longitude i altitude.
ex3.5.1) Poseu en marxa una aplicació fent servir OTAA
Exemple de microprogramari per a la placa IoT-02 de comunicació LoRaWAN amb OTAA
Codi de NodeRED per a rebre missatges LoRaWAN amb OTAA
ex3.5.2) Poseu en marxa una aplicació fent servir ABP
Feu una nova aplicació anomenada dam2021-Cognom1Cognom2Nom-0002. Quan canvieu d'OTAA a ABP desactiveu la casella Frame Counter Check.
ex3.5.2.1) Exemple bàsic de comunicació LoRaWAN amb ABP
Exemple bàsic de microprogramari per a la placa IoT-02 de comunicació LoRaWAN amb ABP
Codi de NodeRED per a rebre missatges LoRaWAN amb ABP
ex3.5.2.2) Exemple de comunicació LoRaWAN amb ABP trametent un nombre real
ex3.5.2.3) Exemple de comunicació LoRaWAN amb ABP trametent tres nombres reals
Codi de NodeRED per a rebre tres nombres reals LoRaWAN amb ABP
ex3.5.3) Desxifreu els 3 floats des de NodeRED
Desxifreu els 3 floats des de NodeRED, fent servir l'aplicació ABP dam2021-Cognom1Cognom2Nom-0002
ex3.5.4) Tramesa del nivell de l'LDR fent servir ABP
Expliqueu un microprogramari mínim per a la placa IoT-02 que tramet les dades llegides a la fotoresistència (LDR). Expliqueu un flux mínim de NodeRED per a capturar les dades rebudes emprant LoRaWAN fent servir ABP.
ex3.5.5) Tramesa del nivell de l'LDR fent servir OTAA
Expliqueu un microprogramari mínim per a la placa IoT-02 que tramet les dades llegides a la fotoresistència (LDR). Expliqueu un flux mínim de NodeRED per a capturar les dades rebudes emprant LoRaWAN fent servir OTAA.
ex3.6) Ús de LoRaWAN per la tramesa de dades
ex3.6.1) Tramesa OTAA d'un conjunt de dades llegides als sensors de la placa IoT-02
Emprant OTAA, visualitzeu a Grafana les dades de temperatura, humitat relativa, pressió atmosfèrica i de nivell de llum. Feu servir LoRaWAN trametent al rerefons de The Things Network, NodeRED emmagatzemarà les dades rebudes mitjançant LoRaWAN a una base de dades temporal. Visualitzeu les dades mitjançant el visualitzador web Grafana.
ex3.6.2) Tramesa ABP d'un conjunt de dades llegides als sensors de la placa IoT-02
Emprant ABP, visualitzeu a Grafana les dades de temperatura, humitat relativa, pressió atmosfèrica i de nivell de llum. Feu servir LoRaWAN trametent al rerefons de The Things Network, NodeRED emmagatzemarà les dades rebudes mitjançant LoRaWAN a una base de dades temporal. Visualitzeu les dades mitjançant el visualitzador web Grafana.