赞
踩
本实验用两个mqtt.fx客户端接入阿里云物联网平台,来实现不同设备间消息的传输。
要注意的是:阿里云平台不同设备间订阅或发布的主题所限制,这意味着,不同的设备不能订阅或发布同一主题,我们智能通过云消息流转来达到不同设备间传输消息的目的。
如图所示,点击公共示例
进入如图所示界面,点击创建产品。
按下图填入对应信息。
产品名字:test
所属品类:自定义
节点类型:直连设备
连网方式:蜂窝
其它默认
填完后,点击确认
一个产品里可以添加多个设备,比如我们做一个智能家居项目,有下位机(esp8266),还有上位机(app,微信小程序…)这些都可以看作是一个产品下的不同设备。
现在点击左侧栏的设备。
然后再点击,添加设备
先创建第一个设备:
填入信息:
产品:选择test
DeviceName : mqtt1 (可以写自己想写的)
备注名称:无(可写可不写)
再创建第二个设备:
填入信息:
产品:选择test
DeviceName : mqtt2 (可以写自己想写的)
备注名称:无(可写可不写)
创建完设备后,我们来为产品添加主题,
左侧栏点击产品
点击查看
点击Topic类列表,再点击自定义Topic,
再点击定义Topic类
创建一个主题,注意下方提示里的信息,设备只能按照以下规则来发布订阅主题。
这里我们填入信息:
设备操作权限 : 发布和订阅
Topic类 :mqtt1
点击确认
阿里云物联网平台设备间不能订阅和发布同一主题,官网制定的规则是,设备智能订阅注意的格式为:/a15T****dhK/${deviceName}/user/update,第一个代表产品标识 ProductKey,第二个 ${deviceName} 通配 DeviceName,第三个 user 用来标识产品的自定义 Topic 类。因为不同的设备,deviceName是不同的,所以他们不能订阅相同的主题。
再次点击左侧栏的消息转发,云产品流转,返回旧版
然后点击创建规则,按以下信息填入:
点击确认
编写数据源,点击编写SQL。
按图填入以下信息:
字段:*(*意味着接受所有信息)
Topic : 自定义
test
mqtt1
user/mqtt1
点击确认
创建数据目的地,点击添加操作。
填入以下信息:
Topic : 自定义
test
mqtt2
user/mqtt1
然后返回云产品流转,然后点击启动。
这里我使用技小新工具。
在左侧栏点击设备,然后查看mqtt1设备
查看设备的三元组
然后打开技小新工具,填入三元组信息,然后点击生成信息。
生成以下信息
MQTT域名
ClientID
UserName
Password
先配置第一个客户端
打开mqtt.fx,配置信息。
把技小新生成的信息填入。
点击ok
配置第二个mqtt.fx客户端,按照第二个配置
第二个客户端订阅主题/a1pPFtATH7L/mqtt2/user/mqtt1
然后第一个客户端对主题/a1pPFtATH7L/mqtt1/user/mqtt1发布JSON数据(注意这里发送的数据只能为JSON格式,其它形式数据流转不了){“LEDSiwtch”:1}
按以上操作,后得到以下图片
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。