GET sensor data from RetePAIoT - Lepida

Questo flow permette di interrogare il server di lepida e restituire il payload di un sensore. Oltre all’interrogazione, i sensori possono essere anche comandati (esclusivamente sensori classe “C”) fornendo un idoneo payload. I metodi messi a disposizione dalla risorsa sono due: GET e PUT, rispettivamente per interrogare i sensori o per inoltrare un comando. Manuale per l’accesso alle API (PULL e PUSH) per i servizi IoT di Lepida ScpA: https://www.retepaiot.it/pdf/retepaiot_api.pdf Fonte: retepaiot.it

[{"id":"8c7a0112.529068","type":"tab","label":"GET sensor data from RetePAIoT - Lepida","disabled":false,"info":"Questo flow permette di interrogare il server di lepida e restituire il payload di un sensore.\r\nOltre all’interrogazione, i sensori possono essere anche comandati (esclusivamente sensori classe “C”) fornendo un idoneo payload.\r\nI metodi messi a disposizione dalla risorsa sono due: GET e PUT, rispettivamente per interrogare i sensori o per inoltrare un comando.\r\nManuale per l’accesso alle API (PULL e PUSH) per i servizi IoT di Lepida ScpA: https://www.retepaiot.it/pdf/retepaiot_api.pdf\r\nFonte: retepaiot.it "},{"id":"90b6baef.bc62e8","type":"inject","z":"8c7a0112.529068","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":40,"wires":[["1eaaf8e3.74a2f7"]]},{"id":"7aea69d0.7d7718","type":"http request","z":"8c7a0112.529068","name":"","method":"GET","ret":"txt","paytoqs":"body","url":"https://retepaiot.it/sensordata/<string: eui>","tls":"","persist":false,"proxy":"","authType":"","x":470,"y":40,"wires":[["828ed0ee.88784"]]},{"id":"828ed0ee.88784","type":"debug","z":"8c7a0112.529068","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":650,"y":40,"wires":[]},{"id":"1eaaf8e3.74a2f7","type":"change","z":"8c7a0112.529068","name":"set parameters","rules":[{"t":"set","p":"headers.content-type","pt":"msg","to":"application/json","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"{\"auth_key\":\"<secret_key>\",\"from\":\"2020-08-20T12:00:00\",\"to\":\"2020-08-20T23:00:00\",\"payload\":null}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":280,"y":40,"wires":[["7aea69d0.7d7718"]],"info":"Poiché inviamo oggetti JSON, l'header HTTP deve avere il campo \"content-type\" impostato ad \"application/json\", ma il il campo \"content-type\" è un sotto campo di headers, non esiste da solo.\r\nQuindi, nel componente \"function change\" (\"set parameters\"), il campo da settare è \"headers.content-type\" -> \" application/json\".\r\n\r\n**Risorsa SensorData**\r\n\r\nQuesta risorsa ritorna i dati provenienti da i sensori di un particolare utente. Oltre all’interrogazione, i sensori possono essere anche comandati (esclusivamente sensori\r\nclasse “C”) fornendo un idoneo payload.\r\nI metodi messi a disposizione dalla risorsa sono due: GET e PUT, rispettivamente per interrogare i sensori o per inoltrare un comando.\r\n● GET: restituisce i dati relativi ad un sensore in un dato intervallo temporale selezionato dai parametri “from” e “to”. Se questo intervallo non è specificato, viene ritornato solo il valore più recente disponibile.\r\nSe “to” non viene specificato, ma si specifica “from” si considera la data ed ora istantanea.\r\nSe “to” è specificato, ma non lo è “from”, si considera automaticamente tutti i dati disponibili fino alla data (ed ora) specificata in “to”.\r\nSe “to” e “from” sono impostati e “null”, restituisce l’ultimo record disponibile per il sensore desiderato.\r\n\r\nIl sistema si aspetta di ricevere una oggetto JSON strutturato come segue:\r\n\r\n{\r\n\"auth_key\": \"<secret-key>\" ,\r\n\"from\": \"2019-01-10T12:00:00\",\r\n\"to\": \"2019-01-19T12:00:00\",\r\n\"payload\": null\r\n}\r\n\r\nSolo il parametro in grassetto (“auth_key”) è obbligatorio. I parametri “from” e ”to” sono stringhe in formato ISO8601 senza time zone (no UTC). Il parametro “payload” è opzionale e non è usato da GET.\r\n\r\nIl metodo restituisce una struttura JSON come segue:\r\n\r\n{\r\n\"data\":[\r\n{\r\n\"id\": int, # identificatore del record\r\n\"time\": str, # formato ISO8601\r\n\"device_eui\": str,\r\n\"rssi\": float, # in dBm\r\n\"station\": str, # gateway da cui è stato raccolto\r\n\"frequenza\": str,\r\n\"modulazione\": str,\r\n\"data\": str, # in hex secondo le specifiche del\r\nproduttore del sensore\r\n\"lat\": float, # latitudine\r\n\"lon\": float, # longitudine\r\n}\r\n],\r\n\"message\": str\r\n}\r\n\r\nIl campo “data” contiene una lista di tutte le misurazioni (payload) del sensore specificato nell’intervallo di tempo di interesse. Nel caso in cui il sensore fornisca più di una tipologia di misura, il payload le contiene tutte. In caso di errori, il campo\r\n“response” è popolato con una stringa leggibile che descrive l’errore, “OK” altrimenti.\r\n\r\nManuale per l’accesso alle API (PULL e PUSH) per i servizi IoT di Lepida ScpA: https://www.retepaiot.it/pdf/retepaiot_api.pdf\r\nFonte: retepaiot.it "}]

Flow Info

Created 3 years, 11 months ago
Rating: not yet rated

Owner

Actions

Rate:

Node Types

Core
  • change (x1)
  • debug (x1)
  • http request (x1)
  • inject (x1)
Other
  • tab (x1)

Tags

  • lepida
  • retepaiot
  • lora
  • lorawan
  • iot
  • sensor
  • sensors
Copy this flow JSON to your clipboard and then import into Node-RED using the Import From > Clipboard (Ctrl-I) menu option