这里写自定义目录标题
使用Mqtt.fx连接OneNet平台,并实现消息订阅和推送
一、使用OnetNet平台创建产品
1 登录网址:https://open.iot.10086.cn/
2 选择右上角开发者中心
3 选择左上角全部产品服务,选择下面的物联网开发平台
4 选择产品开发,进入产品开发界面,选择创建产品
5 选择需要的产品,这里选择灌溉系统
6 选择设备接入
7 填写地点后,下面的选项默认,本次使用ESP8266,故选择了wifi
8 点击右边的产品开发,进入产品界面
9 抄下下面的产品ID和access_key,然后点击设备物模型
10设置物模型,可以将不需要的东西删除,然后点击自定义功能点,添加2个
11 添加1个湿度
12 再添加一个水泵开关,控制开关。
13 点选左上角设备接入管理,选中设备管理
14 点选右上角的添加设备
15 填写设备名,再点确定,创建设备。
16 可以看到设备已经出现在设备列表了。点击详情
17 把设备的密钥和产品ID都复制下来备用。
二、 使用mqtt.fx做产品的模拟器连接onenet平台,这部分比较复杂,
1 下载onenet平台提供的token工具,照着填写产品id和密钥。
https://open.iot.10086.cn/doc/mqtt/book/manual/auth/tool.html
2 在此平台查询当前的时间戳,在et下面填写一个比现在时间靠后较多的数,因为到时间,就连不上了。
https://tool.lu/timestamp/
3 生成下面的密码。
4 mqttfx创建产品。点下面的齿轮。
5 填写下表,环中的数据要分别是网络地址:mqtts.heclouds.com;端口:1883;Client ID是你的设备名。下面的user Name是产品ID,password是token生成的。
6 选择General,设备版本,将下面的MQTT Version的勾选去掉,然后点选右下角apply,再cancel返回。
7 在主界面,点击connet,连上onenet云平台。
8 在publish下,使用这个topic发消息到云端 $sys/产品id/设备名/thing/property/post
上报设备的属性。
{
“id”: “123”,
“version”: “1.0”,
“params”: {
“humidity”: {
“value”: 99
},
“water_motor”: {
“value”: true
}
}
}
可以看到云平台数据刷新了。
9 云平台下发数据到终端设备。选择运维监控,再选API调试,再选物模型使用。
10 在模拟器上写入订阅的topic: $sys/产品ID/设备名/thing/property/set
11 在云端下发指令时,模拟器收到了对应的指令。详细的topic,请参考云平台文档:
https://open.iot.10086.cn/doc/v5/fuse/detail/920