一、
前言继上篇文章:http://t.csdnimg.cn/7yCFG
讲解http接入设备上报数据之后
继续说一下怎么设备上线
如果你真的理解了上篇文章的内容
我相信你不看这个也是可以做到了
关于设备上线的官方开发文档:
连接:OneNET - 中国移动物联网开放平台 (10086.cn)
二、url:
https://open.iot.10086.cn/fuse/http/device/online
三、利用上篇文章的代码新增一个body:
data = {
"pid": "产品id",
"devName": "设备名字",
"status": 1, # 1-在线, 0-离线
"protocol": "HTTP",
"at":1663894946000 # 当前时间戳 ,可以修改,设备上线时间
}
把上篇文章的json等于body改成json=data即可
四、代码
import requests
import json
# 直连设备属性上报
def report_device_property():
# 设备信息
product_id = "产品id"
device_name = "设备名字"
# 构造topic和protocol参数
topic = f"$sys/{product_id}/{device_name}/thing/property/post"
protocol = "http"
# 构造完整的URL
url = f"https://open.iot.10086.cn/fuse/http/device/online"
# 请求头部信息
headers = {
"Content-Type": "application/json",
"token": "version=2018-10-31&res=products%2Fa3hxHHpJ0s%2Fdevices%2Fdht11&et=1871337547&method=md5&sign=c71utpObg6vuAApdEznM%2Fg%3D%3D"
}
# 设备属性信息
body = {
"id": "123",
"version": "1.0",
"params": {
"temp": {"value": 27},
"RH": {"value": 84}
}
}
data = {
"pid": "产品id",
"devName": "设备名字",
"status": 1, # 1-在线, 0-离线
"protocol": "HTTP",
"at":1663894946000 # 当前时间戳
}
# 发送POST请求
response = requests.post(url, headers=headers, json=data)
print("Response:", response.json())
# 测试直连设备属性上报
report_device_property()