Bootstrap

【MQTT】基于阿里云物联网平台实现两设备间相互订阅及发布消息

一、准备:

1.下载MQTT.fx - 1.7.1工具

https://www.jianshu.com/p/c9f50cf81cd2

2.进入物联网平台,并按照产品文档创建产品及设备

阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

3.打开两个MQTT.fx工具,并分别填写相关设备信息,连接物联网平台(参考阿里云产品文档)。

 二、两台设备发布及订阅功能的说明

device1与device2能够相互实现订阅及发布功能。

其中:

device1订阅topic为:/hjmeMtd96gu/device1/user/get

device1发布topic为:/hjmeMtd96gu/device1/user/update

device2订阅topic为:/hjmeMtd96gu/device2/user/get

device2发布topic为:/hjmeMtd96gu/device2/user/update

二、规则引擎配置

1.只需要创建一条规则。

2.流程说明:规则引擎-》云产品流转 创建解析器、数据源、数据目的。注意要先创建数据源和数据目的。因为解析器需要关联已有的数据源和数据目的。

 3.创建数据源说明 

 

 4.创建数据目的

 5.创建解析器

关联数据源

 关联数据目的(注意:“②数据目的”,是可以用鼠标点选的。)

 编写解析器脚本

 脚本内容如下:

var data = payload("json");

var select = {};
select.put("TargetDevice", getOrNull(data,"TargetDevice"));
select.put("test", getOrNull(data,"test"));
;

data.putAll(select);

if (true) {
    writeIotTopic(1004, "/hjmeMtd96gu/${TargetDevice}/user/get", select);
}

 三、客户端测试

1.device2订阅,device1发布

 消息内容如下:

{
	"TargetDevice": "device2", 
	"test":"1345asdgfddgsdfas"
}

 1.device1订阅,device2发布

 消息内容如下:

{
"TargetDevice": "device1", 
"test":177797
}

 

;