设备接入和上报数据
获取设备访问令牌(Access Token)后,通过MQTT协议将设备接⼊物联平台。
前提条件
已创建设备。具体操作,请参见 创建设备。
确保开发环境为Python3及以上版本。
操作步骤
说明:示例通过设备模型默认内置的Topic上报数据。您也可以通过自定义Topic,向设备发送数据,更多信息,请参见 自定义Topic。
1.在本地计算机创建py文件(例如quick_start.py),用来存放示例代码。
Python 示例代码如下所示:
from wt_mqtt.wt_device_mqtt import WTDeviceMqttClient, WTPublishInfo
# import logging
# logging.basicConfig(level=logging.DEBUG,format='%(asctime)s-%(filename)s%(funcName)s(%(lineno)d)[%(thread)d]-[%(levelname)s]%(message)s')
telemetry = {"Current": 0.54, "Leakage": 3.5, "Power": 120, "Voltage": 241.81}
client = WTDeviceMqttClient("things.xiaobodata.com", "T0LR8GjS94KBooofeaqk")
# Connect to WaveletThings
client.connect()
# Sending telemetry without checking the delivery status
client.send_telemetry(telemetry)
# Sending telemetry and checking the delivery status (QoS = 1 by default)
result = client.send_telemetry(telemetry)
# get is a blocking call that awaits delivery status
success = result.get() == WTPublishInfo.WT_ERR_SUCCESS
if success:
print('data upload success')
# Disconnect from WaveletThings
client.disconnect()
2.使用 pip 安装:
pip3 install wt_mqtt
3.建立连接
设备或网关在接入物联网平台时首先需要和平台建立连接,从而将设备或网关与平台进行关联。开发者通过传入设备信息,将设备或网关连接到物联网平台。 在建立连接之前,先修改以下参数:
client = WTDeviceMqttClient(host="things.xiaobodata.com", token="yourAccessToken")
- host:为小波物联平台云服务地址
- token:为设备访问令牌,在成功 创建设备 后获取。
4.打开CMD窗口,使用cd命令找到quick_start.py文件所在路径,在该路径下运行程序:
python quick_start.py
5.程序运行成功后,在平台可以看到设备显示在线。代码运行成功后,设备状态显示为在线
在设备详情页面,单击最新遥测页签,可看到最新上报的电流值、电压值、功率等。
更多
更详细开发指导请参考 Python SDK使用说明 接入或更多其他语言的Demo接入。