全网最详细的云产品流转操作
两个设备间相互通信
在网上找了好多资料,发现没有哪一个写的比较详细,不断的查阅,也找不到关于脚本编写的资料,经过不断的摸索,才找到方法,现在把他记录下来,希望还在找有关阿里云数据转发的,可以帮上一点忙。
阿里云平台不同设备间订阅或发布的主题所限制——不同的设备不能订阅或发布同一主题,只能通过云消息流转来达到不同设备间传输消息的目的。
阿里云物联网平台设备间不能订阅和发布同一主题,官网制定的规则是,设备只能订阅的格式为:/产品/设备/user/topic。
(1)创建产品

这里因为以为了测试数据传输(云产品流转),所以取名为“两个设备传数据”。
(2)创建两个设备

设备名字只能用英文,可以随便取,但是要方便自己记忆用于区分。
第一个设备本来想取a的,但是因为长度有限制,所以取名为aaaa。

注意,前面添加设备的时候,是直接在创建后点击弹出页面的里添加设备。
添加设备与三种方式,这里用第二种方式。
添加设备的时候不选择产品,等到添加设备的时候再选择产品(当然也可以这个时候就选择产品——就是第三中添加设备的方法)。

选择产品


现在,在——“两个设备传数据”——这个产品下,有两个设备:aaaa和bbbb。

注意看他们所属产品和设备名称(DeviceName)。这两个设备都属于: “两个设备传数据”这个产品。
设备显示“未激活”,不要着急,是因为还没有使用所以未激活,不是不成功。
可以查看。

这个时候,“发布”按钮点不点都可以,现在还是不点吧,只是要熟知界面,这到这里有个发布按钮。
(3)创建自定义topic
因为是要在“两个设备传数据”(上面创建的产品)这个产品里做测试,所以在产品列表里选择“两个设备传数据”这个产品,不要选择错误。
1)选择产品

2)点击topic


可以看到,topic有三个,下面只要点击自定义就可以。
3)自定义topic


可以看见自定义topic里面已经有一些topic,不用管。
4)点击定义topic类添加
为了简单测试,添加的类简单一点比较好,所以就叫“fabu”、“dingyue”、“fabuhedingyue”。

给产品——“两个设备传数据”——添加三个topic:订阅、发布、订阅和发布。



下面自定义的topic列表。

(4)云产品流转规则
找到左边菜单栏——“消息转发”——“云产品流转”——功能项。

注意观察,云产品流转显示有三个步骤:解析器——数据源——数据目的,这不是填写顺序,填写的顺序是:数据源——数据目的——解析器,一步一步填写。
这与显示的顺序不同。

1)数据源
数据源——就是谁来发数据——这个实验当然是用“aaaa”来发数据。
点击顺序:数据源——创建数据源。

有两个地方可以点击,任意点一个都可以。

注意,这还没创建好,因为还没有选择topic,也就是用哪一个topic发数据,所以注意在点击确定后,会弹出下一个界面,点击前往编辑。如果因为不熟练,没来得及点击也不要紧,重新创建数据源就可以了。


选择好topic,注意:这个时候要记住是哪一个topic,因为后面测试的时候要用到这个topic名字。

2)数据目的

填写名字,注意选择产品。操作因为就是为了测试传数据到另一个topic,所以默认即可,不用选择。
在前面发送数据的时候有一个topic——fabu——在这里没有,好像不对呀!往哪里发?
不用着急,往哪里发是一个规则,所以等会“解析器”里会填写的。
3)解析器


创建好后,点击查看就是编辑。

点击查看后会弹出下一个界面,依次填写就可以了,但是要注意填写规则。

点击关联数据源后会弹出一个界面,选择数据源——也就是谁来发数据——所以选——“发送数据”。


可以点击查看。

可以看到topic。
然后点击数据目的。


在右边找到—— “关联数据目的”——点击。


然后点击解析器脚本。


注意脚本只需要改一句。

writeIotTopic(1007, " /k0s88Lfp7jQ/user/dingyue", data);
修改的方式为——"/产品/设备/user/topic"——这里因为是接收,所以用订阅。

修改好后点击发布。
然后回到——“云产品流转”——点击启动。



启动后就可以看到状态变为绿色。
可以先用一用——“调试”——这里的调试需要先连接设备,这里用MQTT.fx来模拟。

注意:
从上面的图可以看出,这是发布界面框,所以调试的时候使用接收设备——也就是——bbbb。
所以MQTT.fx连接设备b。

(5)MQTT.fx连接




(6)通信测试

(7)删除


先撤销发布然后再删除。

(8)总结
在整个流转中最重要的是脚本。
网上很多文章都没有讲清楚脚本如何编写。
writeIotTopic(1007, "/k0s88Lfp7jQ/bbbb/user/dingyue", data);

另外云平台给出的这个过程,其实还可以简化,比如很多地方是可以选择的,期待着平台操作的简化吧!
不停建立——删除,多操作几次就熟练了。