Using local node red to get TTN lorawan data through ubidots
This is kind of cloud data to local data storage.
I have a Lorawan node sending data to TTN. I have it presented on Ubidots . which provide a very good presentation of data and management of device and data.
Ubidots also provide 2 nodes in node red, one to put data to Ubidots, one to receive data from ubidots.
Getting data to/from Ubidots has a great example:
I have 2 shorts of data on Ubidots, one is direct data integration from TTN, one my local zigbee sensor data uploaded to ubidots using node:ubidots_out.
To receive the 2nd type of data correctly with ubidots in, you will need to add device label in your message payload when using ubitdots out to up load your data.
Othe wise, you can still view the data on the dashboard, but won't be able to down load it.
The 2nd tricky thing is the format returned from unbidots in node, it's not like the my zigbee2mqtt format.There are layers, and each value has it's own sentence.
So need some work to be able to put these data into influxDB.
(the device is the API label of your device on ubidots)
I'm not so familiar with Json manipulation, I tried several errors to redo the message out form ubidots node with a function block:
data and label get correct info from payload, but....
so with the cofiguration of ubidots node and function, I can get data in my influxDB. But since each value has one msg, so it took a line in database. I think we can do some thing with it in function.
[{"id":"948b347c.c35558","type":"ubidots_in","z":"82b75844.2fd748","tier":"business","name":"TTN sensor01 Ubidots in","token":"BBFF-dwBg3A5w4Xi7cHH4Bz27BZ45iB39rM","device_label":"002a9876b6e00ebf","tls_checkbox_in":true,"custom_topic_checkbox":false,"label_variable_1":"temperature","label_variable_2":"humidity","label_variable_3":"lux","label_variable_4":"voltage","label_variable_5":"pressure","label_variable_6":"","label_variable_7":"","label_variable_8":"","label_variable_9":"","label_variable_10":"","checkbox_variable_1_last_value":true,"checkbox_variable_2_last_value":true,"checkbox_variable_3_last_value":true,"checkbox_variable_4_last_value":true,"checkbox_variable_5_last_value":true,"checkbox_variable_6_last_value":true,"checkbox_variable_7_last_value":true,"checkbox_variable_8_last_value":true,"checkbox_variable_9_last_value":true,"checkbox_variable_10_last_value":true,"x":430,"y":140,"wires":[["9fdf9557.29a3a8","7afa6f60.a2847","3e6900c2.d2fb4"]]},{"id":"3e6900c2.d2fb4","type":"function","z":"82b75844.2fd748","name":"function","func":"\nvar payload = msg.payload;\nvar label = Object.keys(payload)[0];\nvar data = payload[label].value;\nvar o={};\no[label]=data;\nmsg.payload=o;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":440,"y":260,"wires":[["1d978560.83e4bb","8c2e62bc.0b8dc"]]},{"id":"8c2e62bc.0b8dc","type":"influxdb out","z":"82b75844.2fd748","influxdb":"3118462c.ca816a","name":"testinfluxDB","measurement":"testing","precision":"","retentionPolicy":"","x":670,"y":280,"wires":[]},{"id":"1d978560.83e4bb","type":"debug","z":"82b75844.2fd748","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":670,"y":220,"wires":[]},{"id":"3118462c.ca816a","type":"influxdb","hostname":"192.168.0.35","port":"8086","protocol":"http","database":"lorawansensor01","name":"TTN sensor01 to influx","usetls":false,"tls":""}]
留言
張貼留言