IoT物聯網平台-執行個體化開發實戰
前言
物聯網平台企業版支援使用者建立執行個體,用于裝置接入和業務管理。企業版有一下優勢:
- 根據業務規模,購買比對的執行個體規格,可大幅節約您的成本。
- 執行個體規格按需選擇,避免觸達公共執行個體預設限流門檻值的問題。
- 執行個體間隔離更徹底,具有更高的資料可靠性和安全性
- 一個執行個體出現問題不會影響到您的其它執行個體
接下來,我們介紹一下執行個體化中完整的裝置開發過程。
執行個體管理
進入IoT
物聯網平台控制台,選擇執行個體管理,在執行個體清單的Tab,點選建立執行個體。

購買執行個體
根據業務規模,購買比對的執行個體規格。
執行個體規格資訊
購買成功後,我們在執行個體管理頁面,能直接檢視到執行個體規格資訊。
切換執行個體
在執行個體管理頁面,切換到執行個體設定Tab,在下拉框中選擇目标執行個體,點選切換執行個體。重新整理後,控制台就進入目前執行個體狀态,頂部文案也會标記為執行個體。
檢視執行個體節點資訊
當我們選擇執行個體後,裝置MQTT接入點,雲端API接入點資訊都可以在執行個體管理頁面檢視,如圖所示。
在執行個體中建立産品
在切換到IoT物聯網平台的某個執行個體後,在左上角會看到執行個體的辨別,滑鼠移動到執行個體,會有Tips顯示目前使用的執行個體名稱。在執行個體裡,我們建立産品,并定義物模型。具體如下圖:
在執行個體中注冊裝置
基于建立的産品,我們注冊一個新裝置,擷取到裝置身份資訊。如下圖:
裝置開發
當我們擷取到了裝置身份三元組資訊,以及MQTT接入域名,即可以通過mqtt庫接入IoT物聯網平台了。
這裡我們以nodejs腳本模拟裝置接入IoT平台執行個體,并上報物模型屬性資料,訂閱雲端指令。
const mqtt = require('aliyun-iot-mqtt');
var options = {
productKey: "産品pk",
deviceName: "裝置dn",
deviceSecret: "裝置ds",
host: "執行個體 MQTT 接入域名",
};
//建立連接配接
const client = mqtt.getAliyunIotMqttClient(options);
setTimeout(function() {
//訂閱 自定義Topic
client.subscribe(`/${options.productKey}/${options.deviceName}/user/get`)
//上報物模型屬性資料
client.publish(`/sys/${options.productKey}/${options.deviceName}/thing/event/property/post`, getPostData(),{qos:0});
}, 3 * 1000);
function getPostData() {
const payloadJson = {
id: Date.now(),
params: {
temperature: Math.floor((Math.random() * 20) + 10),
humidity: Math.floor((Math.random() * 20) + 10)
},
method: "thing.event.property.post"
}
console.log("payloadJson " + JSON.stringify(payloadJson))
return JSON.stringify(payloadJson);
}
裝置線上,上報資料
我們在電腦上運作nodejs腳本,裝置成功建立MQTT連接配接,上報資料。
我們接入IoT物聯網平台的控制台的裝置詳情頁面,可以看到裝置線上,在運作狀态的Tab可以看到最後一次上報的屬性資料。如下圖:
日志服務
IoT物聯網平台的執行個體化中同樣提供了日志服務,友善我們開發聯調和運作時問題排查。
裝置行為分析
上行消息分析
檢視消息詳情
物模型資料處理過程分析
下行消息分析
我們接入裝置詳情頁面,選擇Topic清單,找到用于下行的Topic,點選釋出消息。在彈框中輸入消息内容,選擇QoS=1,點選确認,釋出消息到裝置端。如下圖:
消息發送成功後,我們進入日志服務的下行消息分析Tab,可以檢視到2條消息記錄。一條是雲端發送消息到裝置的日志,點選詳情可以檢視消息内容。另外一條是根據MQTT協定約定,裝置端回複IoT物聯網平台的PubACK。如下圖:
結束語
至此,我們熟悉了在IoT物聯網平台執行個體化中裝置接入,開發聯調,日志分析的完整過程。