目录

设备接入ONENET4ONENET虚拟MQTT设备-simulate-device-使用

设备接入ONENET(4)ONENET虚拟MQTT设备 simulate-device 使用

重要提示:由于OneNET版本迭代,导致鉴权方式可能变更,若程序无法连接,请参考官方手册或再OneNET论坛搜索相关内容

simulate-device 可以用来模拟硬件设备接入,有助于MQTT设备的调试。可以在调试窗口中,查看MQTT发出原始数据,也可以在 translator 选项中,输入原始数据,根据原始数据解析,以便查看设备产生的数据是否正确:

https://i-blog.csdnimg.cn/blog_migrate/939e13a9cc90b1d46b55c131b33b3d21.png#pic_center

提取码:1234

本文创建了2个LED设备:

LED1LED2
产品ID:365646产品ID:365646
设备ID:617446846设备ID:617446887
鉴权信息:led01鉴权信息:led02

1. 连接

simulate-device 可以用来模拟硬件设备,在计算机上运行后,只需要输入产品ID,设备ID,和鉴权信息点击 connect 即可:

https://i-blog.csdnimg.cn/blog_migrate/49bdd056bf87465d755e66a403c87605.png#pic_center

上图填入了设备 Led01 的信息,并勾选 Auo KeepAlive 自动保活,这样即使长时间不收发数据,也不会断开,Led02 也是同理:

https://i-blog.csdnimg.cn/blog_migrate/21e372c1288599599a1049ac349e42a9.png#pic_center

连接以后,,在 调试信息 窗口中,可以看到设备收发的数据,并且在ONENET云平台,可以看到2个设备在线:

https://i-blog.csdnimg.cn/blog_migrate/d558adb86c6d36f6b79588a8c13b4430.png#pic_center

2. 发送数据

https://i-blog.csdnimg.cn/blog_migrate/8ffb290f35b8907bf048b69197cfc489.png#pic_center

我们是在 debuger 选项的 json数据 文本框输入数据的内容的,如果我们要发送一个数据,应该填入什么内容呢?应该查ONENET的相关手册,在 设备终端接入协议-MQTT.doc( )5.2 中上报数据相关章节,有详细的说明和举例:

https://i-blog.csdnimg.cn/blog_migrate/b2dfb3c2ed5c5548ce84d287ce5e7d2d.png#pic_center

上图是数据类型3的说明,以此为例,我们使用设别Led01发送一个名为 ``Led01_sta,值为On` 的数据:

https://i-blog.csdnimg.cn/blog_migrate/305ed2f208848cd8e147f107c236a78c.png#pic_center

如果操作无误,那么可以在 调试信息 窗口中,看到 Send One Packet Succ 的提示,并在云平台看到数据:

https://i-blog.csdnimg.cn/blog_migrate/ec42642e9721cbbe18fd52db7d7812c5.png#pic_center

3. 发布和订阅主题

  • 发布主题

    https://i-blog.csdnimg.cn/blog_migrate/17327e38d9a9457f416838ae3be2e312.png#pic_center

    直接在选项卡 发布 中,输入主题名和内容即可。

  • 订阅主题

    https://i-blog.csdnimg.cn/blog_migrate/e9da6921ccb34b207e5f5f8d04826867.png#pic_center

    直接在 订阅 选项卡,输入需要订阅的主题,并点击订阅即可。

现在,本文使用设备 led02 订阅了主题LED1_Topic,所以只要改主题有数据发送,就会推送到设备 led02 中来:

https://i-blog.csdnimg.cn/blog_migrate/75fa3247a4f81bd048136996a5cfefab.png#pic_center

左侧是 led01 设备,右侧是 led02 设备。

4. 调试

可以通过虚拟设备对云平台的操作,查看调试信息窗口中,MQTT具体发送的原始数据来参考设计程序,也可以将使用simulate-device来转换我们程序生成的内容,验证是否正确。