文档时间:2018.-1-24
首注:此文章是参照以下文章的整合与补充:
https://bbs.aliyun.com/read/309106.html?amp;displayMode=1&page=1&toread=1
https://help.aliyun.com/document_detail/50633.html?spm=5176.doc42693.6.567.LkRjr4
https://help.aliyun.com/document_detail/42693.html?spm=5176.doc42648.6.573.OEriWB
正文
服务端订阅设备获得消息模型
注:阅读本文档之前需要通读物联网套件开发帮助文档
1.首先用淘宝或者其他账号登录阿里云选择物联网套件
2.点击控制台,如果没有权限需要申请
一、创建产品
1、进入物联网套件控制台,创建产品
二、创建产品下的设备
1、进入产品,找到设备管理,添加设备
效果如下:
服务端订阅从队列中获取消息,这里完成的场景是灯泡产品的服务端订阅,来监听设备发送的消息
2、首先配置服务端订阅
保存之后如下图:
3、根据帮助文档中的服务端快速接入的指导完成服务端的代码配置,主要是产品和设备的key和 secret
https://help.aliyun.com/document_detail/50633.html?spm=5176.doc42693.6.567.LkRjr4
4、回到物联网套件页面,配置规则引擎,将topic中的消息转发到MNS消息队列中。
3-1、创建规则
4-2、配置处理数据
字段:直接填 *
topic:选中产品, / 后面的就填设备的Topic,如下图
添加规则引擎的操作方式:主题的创建可以参考第三步进行创建主题,创建之后选中即可
规则引擎配置完成效果如下:
三、查看消息队列
1、进入消息服务,根据区域找到第二步中的创建服务端订阅时,自动创建的队列,看看logging是否为true如果不是,可点击 修改设置 进行修改
2、创建主题
在与队列的相同区域下新建主题,并开启logging
3、配置主题的订阅列表,将主题中收到的消息转发到指定队列中
配置成功如下图:
6.代码中设置要接收消息的队列启动监听,也可以使用队列的SDK进行接收消息
队列的SDK:https://help.aliyun.com/document_detail/32449.html?spm=5176.doc27509.6.649.NJBOae
IOT的SDK:https://help.aliyun.com/document_detail/30579.html?spm=5176.doc30581.6.597.5046av
注:
6-1、在官网下载的SDK要导入maven包
6-2、accessId和accessKey的获取方式如下图,accountEndpoint要使用队列公网的地址
6-3、client.getQueueRef("需要接收消息的队列名称");
7.设备发送消息,观察服务端是否接收到
服务端收到消息
至此,简单的设备连接上云端并且发布消息到自己的服务端完成。
附上套件的maven包坐标与套件依赖的公共包
<!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-iot -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-iot</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>3.2.10</version>
</dependency>
来源:oschina
链接:https://my.oschina.net/u/4408894/blog/4215604