第一步 建立産品

第二步 定義物模型
第三步 建立裝置
完成三步之後就可以進行裝置模拟上雲啦!
第四步 裝置上雲
第一種方案,利用Node.js進行上雲
完整流程可參考此文檔
https://help.aliyun.com/document_detail/189226.html?spm=a2c4g.11186623.6.573.5d52712dyEFako第一步:下載下傳安裝node.js
https://nodejs.org/en/download/?spm=a2c4g.11186623.2.7.60213acbG0fqIo點選上方連結進行下載下傳
安裝成功後,打開CMD視窗,通過以下指令檢視node版本。
windows電腦:
Mac電腦:打開終端即可,打開桌面搜尋終端
在終端中輸入node --version,檢視相應node版本。
第二步重點步驟:編寫代碼
在本地計算機建立一個JavaScript檔案(例如iot_device.js),用來存放Node.js示例代碼,如沒有JS開發工具也沒關系,建立一個TXT文檔。
代碼如下:
const mqtt = require('aliyun-iot-mqtt');
// 1. 裝置身份資訊
var options = {
productKey: "g34q2******",
deviceName: "hxt93489234",
deviceSecret: "b42db5a4fb95deb947f61655ad******",
host: "iot-cn-6ja1y******.mqtt.iothub.aliyuncs.com"
};
// 2. 建立MQTT連接配接
const client = mqtt.getAliyunIotMqttClient(options);
//訂閱雲端指令Topic
client.subscribe(`/g34q2******/hxt93489234/user/get`)
client.on('message', function(topic, message) {
console.log("topic " + topic)
console.log("message " + message)
})
setInterval(function() {
// 3.定時上報溫濕度資料
client.publish(`/sys/g34q2******/hxt93489234/thing/event/property/post`, getPostData(), { qos: 0 });
}, 5 * 1000);
function getPostData() {
const payloadJson = {
id: Date.now(),
version: "1.0",
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);
}
下方所示資料都要進行修改,
host:企業執行個體-執行個體詳情-檢視開發配置-公網終端節點。
三元組資訊:企業執行個體-裝置管理-裝置-Devicesecret-檢視
修改完後即可,TXT的同學,記得儲存好後,修改檔案字尾名,改為.js
第三步:下載下傳阿裡雲iot的mqtt庫
打開CMD/終端視窗,使用cd指令找到代碼檔案(XXX.Js)所在路徑,在該路徑下使用NPM指令下載下傳阿裡雲IoT的MQTT庫。
指令:npm install aliyun-iot-mqtt -S
下載下傳後的MQTT庫檔案如下圖所示
最後一步:運作代碼檔案(XXXX.js)
在CMD/終端視窗輸入如下指令,運作XXXX.js代碼,啟動裝置.
指令:node XXXX.js
如下圖則表示裝置運作成功,在往平台時時發送資料。
第二種方案,使用Mqtt模拟器進行上雲
第一步:下載下傳安裝模拟器
模拟器下載下傳位址:
https://developer.aliyun.com/article/781940第二步:裝置三元組資訊,連接配接上雲
下載下傳安裝成功後,打開mqtt模拟器,設定完三元組資訊後,點選連接配接即可。
連接配接成功後,裝置就已經上雲了,但是在物模型上是不會上報任何資料的,隻是表示裝置上線了。
第三步:編寫topic上報資料(屬性)
topic:/sys/{productKey}/{deviceName}/thing/event/property/post
topic中的productkey和devicename一定要改成自己的,括号不要!
如下圖中
具體的payload内容有固定格式,參考ALINK協定裡
https://help.aliyun.com/document_detail/89301.html?spm=a2c4g.11186623.6.738.18922437ArvRZZ簡單payload可參考:
點選發送後,雲平台會回複相關消息,code:200則為發送成功,可在雲平台物模型中檢視相關資料,日志中也可檢視。
第三種方案,使用線上裝置模拟器模拟上雲并實作資料上報
第一步:進入裝置模拟器
第二步:上報屬性即可
相關屬性上報後,可新開一個頁面觀察裝置的屬性。