前面一篇文章其实是这个设备自己跟自己玩,第一篇文章是通过自定义Topic实现多个多个设备联动,感觉比较麻烦,下面我们产品自带的Topic来整多个设备之间的数据的传递。
1、我们回到产品管理界面,再Topic类列表类中我们可以看到产品自带了三个自定义的Topic,我们用其中的发布类Topic来发布数据,用订阅类Topic来订阅数据。
2、在用这些Topic之前,我们需要开通一个云产品流转服务
3、然后点进去编辑,先编写数据处理的SQL,这个就是你数据发布的源头,注意要选择全部设备并匹配所有。
4、然后添加操作,即添加数据流转的目的地,你想要那几个设备获取数据就添加几个,我们这里需要实现的是两个设备之间既能发送数据,也能订阅到对方的数据。即两个设备既是数据的源头也是数据的目的地,所以得添加两个操作。注意最后一个选user/get
5、然后记得要开启服务
6、接下来我们来调试一下,看是能两个设备是否能订阅到对方的数据。,注意发布消息要用对应设备下的update类Topic,订阅要用对应设备下的get类Topic,发布数据要以Json的格式发送。我们用设备模拟器来模拟其中一个设备,用mqtt.fx来模拟另外一个设备,如下图可以看到mqtt¬_fx到board_stm32两个设备之间的数据已通。
我们在用设备模拟器来发布数据,用mqtt.fx数据来订阅数据。在设备模拟器端消息订阅栏选择get类Topic来接收数据,注意要点击一下订阅消息。在mqtt.fx端用update类Topic来发布数据,编辑好Json格式的数据后点击Public,在设备模拟器端就可以看到发布的数据。
7、接下来正式进入实战部分,用stm32发布数据,网页端可视化显示stm32发布的数据,手机端订阅stm32发布的数据。
注意前面我们制作网页的时候用的是mqtt_fx这个设备,现在网页端要接收stm32 的数据,所以要更改过来用board_stm32这个设备,将所有组件的设备改成stm32的
8、Stm32端以Json的格式发布数据,但是发布的时候要往两个地方发布,一个供网页端订阅就是自己跟自己玩,另外一个是供手机app订阅,相当于板子和app玩。
9、手机app端订阅数据,并解析数据
10、网页端接收到的数据以及手机app端接收到的数据