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

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

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

ex3.5.2.3) Exemple de comunicació LoRaWAN amb ABP trametent tres nombres reals

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

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.