文檔時間: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>