日常感悟
高手不要做的更强,要做的不同。
简介
遥测数据是物联网平台(例如Thingsboard)的核心数据。遥测数据是从设备(例如传感器)中收集的,代表了设备的某些特定状态或功能。通常情况下,遥测数据表示了从设备中采集的温度、湿度、压力、电量、速度等。遥测数据可以在物联网平台中展示和分析,以帮助组织了解和控制其环境和设备。
实验
在tb服务端创建一个设备,PC机模拟物联网设备,通过一个简单的python代码实现遥测数据上报。体验设备数据是如何上传到服务器平台端。
tb平台创建设备
首先以租户模式登录平台,并创建一个Device,如下:
![](https://img-blog.csdnimg.cn/img_convert/16fe1496362bab6e706d06a94429680f.png)
创建的设备名字,名字是可以随意设置的,这里使用TEST_DEVICE_TOKEN。Device Profile 默认配置。
![](https://img-blog.csdnimg.cn/img_convert/710a6451b78fdf95901dc6f4d8843b7d.png)
add一个新的设备,完成!下一步,查看并复制acess token。
![](https://img-blog.csdnimg.cn/img_convert/5c198d5e52579ccb476c77b0c407037a.png)
上述创建设备的token是“fY2MoWDZEQTH5BdXy72H”
代码实现
代码第7行的IP地址要换成你自己的服务器公网IP(如果是服务器的话,别忘了安全组添加1883端口!)
from tb_device_mqtt import TBDeviceMqttClient
import time
uploadFrequency = 1
# 配置client ip & token
# 注意:"127.0.0.1"要替换成你自己的服务公网IP!!!fY2MoWDZEQTH5BdXy72H是上面创建的设备token
client = TBDeviceMqttClient("127.0.0.1", 1883, "fY2MoWDZEQTH5BdXy72H")
# 连接服务器
client.connect()
def main():
temperature_val = 23.3
humidity_val = 55.5
while True:
client.send_telemetry({"temperature": temperature_val, "humidity": humidity_val})
print("temperature", temperature_val, "humidity",humidity_val)
time.sleep(uploadFrequency)
if temperature_val <= 100:
temperature_val += 1
else:
temperature_val = 23.3
if humidity_val <= 100:
humidity_val += 1
else:
humidity_val = 55.5
if __name__ == '__main__':
main()
验证
首先把代码运行起来,进入平台查看我们创建的设备。租户模式进入Devices->TEST_DEVICE_TOKEN->Latest telemetry,可以查看我们发送的遥测数据是否已经显示上来了。
![](https://img-blog.csdnimg.cn/img_convert/22fc5d7ae900b45a57a8c96206b04624.png)
结束
第一次简单的遥测数据上报完成,再见!