Saturday, May 23, 2020

IoT sobre MQTT - Fiware tutorial

Segue link do tutorial: https://fiware-tutorials.readthedocs.io/en/latest/iot-over-mqtt/index.html

 

É injetado requisições para a API do open Weather. Eu pego a temperatura e publico no broker mqtt (192.168.99.101) que instalei no docker. Subscrevo ao tópico e dou um debug:


No docker eu consigo visualizar também que os dados estão sendo publicados no tópico:
docker run -it --rm --name mqtt-subscriber \
  --network tutorialsiotovermqtt_default efrecon/mqtt-client sub -h mosquitto -t "/#"


O único ponto que não consegui visualizar foram os dados sendo persistidos no mongodb. Isso deve estar ocorrendo por causa da entidade que criei e também porque eu tenho que passar no seguinte formato t|23 ou t|25. 
O erro era esse mesmo. Portanto, reconfigurei meu node-red que ficou da seguinte forma:


Veja o template só da temperatura:



Depois de consertar no NODE-RED, veja como ficou:




O template é esse:


Um outro template que criei ele gera tanto a temperatura como a humidade:


Veja como ficou o componente template da figura acima:






O pulo do gato estava em criar a entidade corretamente. Ficou assim:


Criação do grupo:
POST em http://192.168.99.101:4041/iot/services
{
 "services": [
   {
     "apikey":      "4jggokgpepnvsb2uv4s40d59ov",
     "cbroker":     "http://orion:1026",
     "entity_type": "Dht11",
     "resource":    ""
   }
 ]
}

Provisionamento do sensor:
POST em http://192.168.99.101:4041/iot/devices
{
 "devices": [
   {
     "device_id":   "Sensor003",
     "entity_name": "urn:ngsi-ld:Sensor:003",
     "entity_type": "Dht11",
     "protocol":    "PDI-IoTA-UltraLight",
     "transport":   "MQTT",
     "timezone":    "America/Sao_Paulo",
     "attributes": [
       { "object_id": "t", "name":"temperatura", "type":"Double"}
      ],
      "static_attributes": [
         {"name":"refStore", "type": "Relationship","value": "urn:ngsi-ld:Sensor:003"}
      ]
   }
 ]
}

Fazendo o GET no mongodb:





Agora com a umidade também:



Tutorial interessante: https://www.youtube.com/watch?v=my6Kgiqx-OM&t=1277s

No comments:

Post a Comment