Diferència entre revisions de la pàgina «Exercicis d'Internet de les Coses (M15UF1, M09UF2 i M09UF3 del curs 2020-2021)»

De binefa.com
Salta a la navegació Salta a la cerca
Línia 24: Línia 24:
 
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.  
  
A un NodeRED funcionant des del terminal (no com a servei. Precisament com ho fem a aquest curset) dóna errors d'execució 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 un NodeRED funcionant des del terminal (no com a servei. Precisament, com ho fem a classe) dóna errors d'execució 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:
 
A una aplicació anomenada '''dam2021-Cognom1Cognom2Nom''' afegiu-hi un dispositiu anomenat '''dam2021-Cognom1Cognom2Nom-0001'''. Al NodeRED caldrà introduir aquestes dades:

Revisió del 17:53, 9 març 2021

3.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

3.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.

3.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.

3.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.

3.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ó 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.

  • 3.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

  • 3.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.

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

Exemple de microprogramari per a la placa IoT-02 de comunicació LoRaWAN amb ABP trametent un nombre real

Exemple de microprogramari per a la placa IoT-02 de comunicació LoRaWAN amb ABP trametent tres nombres reals

Codi de NodeRED per a rebre tres nombres reals LoRaWAN amb ABP

  • 3.5.3) Desxifreu els 3 floats des de NodeRED, fent servir l'aplicació ABP dam2021-Cognom1Cognom2Nom-0002
  • 3.5.4) 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.
  • 3.5.5) 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.

3.6 Ús de LoRaWAN per la tramesa de dades

  • 3.6.1) 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.
  • 3.6.2) 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.