目录

用MQTT.fx上报数据给Onenet云平台

用MQTT.fx上报数据给Onenet云平台

在Onenet云平台创建物模型及产品和设备的详细教程详见


如果没能成功实现将传感器获取的数据传输给Onenet云平台,可以用这个方法先给Onenet云平台传输定值,来检验Onenet传输数据给微信小程序是否成功。

1.生成token

token v1.0链接:(注意!不是token v2.0,要重新下载)

链接:https://pan.baidu.com/s/1JORdqeOmH_Ac2ezk3p7j5A

提取码:vcnd

MQTT.fx链接:

链接:https://pan.baidu.com/s/11u0Ksc5olXMVVUDDsFuiGg

提取码:nsfr

打开token v1.0 https://i-blog.csdnimg.cn/blog_migrate/03edd191e0ede9c2e5b8d121c7aa88dd.png

res:products/产品ID/devices/设备ID

et:未来时间戳

key:设备密钥

method:md5

然后点Generate生成token

https://i-blog.csdnimg.cn/blog_migrate/128e557bdc159089416de1516b974171.png

2. MQTT.fx客户端配置

打开MQTT.fx

https://i-blog.csdnimg.cn/blog_migrate/425c8b65b07fd126df7f8915ee925bb0.png

红色框起来的地方改成跟我一样,紫色框起来的地方改成自己的用户信息,然后点“ok"

https://i-blog.csdnimg.cn/blog_migrate/a9c20474ec4a28c9c8099d08e7131bf9.png

点“Connect"后连接成功为绿灯,连接失败为红灯。若失败根据报错查找原因

https://i-blog.csdnimg.cn/blog_migrate/d5f00b608d57b5e797548178d98680cb.png

3. 属性上报

为了确保设备上传消息确实被平台所接受处理,设备可以订阅系统 topic 获取属性上报结果消息

属性上报回复topic为:

$sys/{productID}/{deviceID}/thing/property/post/reply

填入自己的信息,

记得把花括号删掉!

https://i-blog.csdnimg.cn/blog_migrate/fcce5a7fd83b9381603bc537b9d41968.png

属性上报的topic为:

$sys/{productID}/{deviceID}/thing/property/post

https://i-blog.csdnimg.cn/blog_migrate/01efe168cea708263cad19fe16deb0dd.png

OneJSON请求数据格式:

id和version不需要更改,将“temp”和“humi"改为自己设备属性的标识符,value要注意属性的数据类型(其他类型格式我放在后面了),time是由时间戳生成的,可以更改为任意时间。

{
	"id": "123",
	"version": "1.0",
	"params": {
		"temp": {
			"value":  23,
			"time": 1706673129818
		},
		"humi": {
			"value":  55,
			"time": 2706673139818
		}
	}
}

点击"Publish",数据就会上报,可以在“Subscribe"中查看上报情况。

上报数据成功后,订阅的属性上报会返回success。

4.查看上报数据

可以看到,通过MQTT.fx上报数据到Onenet成功啦!

https://i-blog.csdnimg.cn/blog_migrate/8b67c51766906b2e3e590db953ebafcd.png

以上便是MQTT.fx上报数据给Onenet云平台的全部教程,用问题可以在评论区留言,看到就会回复,这块容易犯的小问题还是不少的。


其他数据类型 (注意空格!)

"params": {
        "switch": true,           // bool
        "text": "hello",          // string
        "humidity": 12 ,          // int32
        "number": 1564448722123,        // int64
        "temperature": 30.2             // float
        "lng": 3.1234567890123456789,   // double
        "type": 1,                      // enum
        "error": 256,                   // bitmap
        "event":  {                     // struct
            "a": 1,
            "b": true 
        }