1. 程式人生 > 實用技巧 >10分鐘物聯網裝置接入阿里雲IoT平臺

10分鐘物聯網裝置接入阿里雲IoT平臺

前言
最近嘗試了一下阿里雲IoT物聯網平臺,還是蠻強大的。在此記錄一下學習過程。
本教程不需要任何外圍硬體,一臺電腦和一根能上網的網線即可。算是一篇Hello World了。先上效果圖

第一章 準備工作
1.1 註冊阿里雲賬號
首先開啟阿里雲的官網並註冊新使用者,網址為:
https://www.aliyun.com/product/iot

1.2 註冊完成後自動跳轉到實名認證介面,可以通過支付寶授權快速完成認證。

1.3 開通物聯網平臺
在左邊選單選擇《產品與服務》中的物聯網平臺,並激活開通此功能。

開通成功後,即可進入管理控制檯

1.4 軟體環境搭建
下載並安裝編輯器VS Code(全稱Visual Studio Code)

https://code.visualstudio.com/

1.5 下載並安裝Nodejs
https://nodejs.org/en/download/

第二章 IoT雲端開發
2.1 開啟阿里雲控制檯
https://iot.console.aliyun.com

2.2 建立高階版產品
在產品管理介面點選 建立產品,並選擇高階版

2.3 新增產品屬性
在產品詳情的功能定義中點選 新增,建立屬性

新增 溫度

新增 溼度

注意:識別符號非常重要,是JSON裡傳遞的屬性!而且要區分大小寫!

屬性介面一覽

2.4 建立裝置
首先點選裝置管理,並在下拉選單中選擇Demo產品

點選 新增裝置,並命名Unit01

建立完成後獲得該裝置的重要資料——三元組

可以繼續新增其他裝置

雲端的任務告一段落。
點選Unit01進入裝置詳情,可以看到執行狀態中並無資料。

第三章 裝置端開發
本教程用nodejs程式來模擬裝置,建立連線,上報資料。無實際硬體。
3.1 在電腦桌面建立裝置端專案
建立專案資料夾 aliyun-iot-demo,本Demo共需要2個檔案和一個庫
建立檔案package.json,程式碼如下

{   "name": "aliyun-iot-demo",   "dependencies": {     "aliyun-iot-mqtt": "^0.0.4"   },   "author": "wongxming",   "license": "MIT" }

注:程式碼中author是原作者

3.2 下載阿里雲物聯網套件硬體端SDK
在VS Code中開啟CMD介面

用CD指令找到專案所在路徑

用NPM指令下載阿里IoT的MQTT庫,筆者的下載進度卡住過,重試很多次才成功。
文末有下載好的壓縮包,複製到專案路徑下即可。

npm install aliyun-iot-mqtt -S

3.3 建立Nodejs程式檔案thermometer.js

//1.引入[阿里雲](https://l.gushuji.site/aliyun)IoT的sdkconst mqtt = require('aliyun-iot-mqtt'); //2.裝置屬性const options = {    productKey: "產品productKey,這裡是a1wgoXxYRbs",     deviceName: "裝置deviceName,這裡是Unit01",    deviceSecret: "裝置的secret,AEU2vP略",    regionId: "cn-shanghai"}; //3.建立連線const client = mqtt.getAliyunIotMqttClient(options); //4.屬性資料上報const topic = `/sys/${options.productKey}/${options.deviceName}/thing/event/property/post`;setInterval(function() {    //釋出資料到topic    client.publish(topic, getPostData()); }, 5 * 1000); function getPostData(){    const payloadJson = {        id: Date.now(),        params: {            Temperature: Math.floor((Math.random() * 20) + 10),            Humidity: Math.floor((Math.random() * 20) + 60)        },        method: "thing.event.property.post"    }     console.log("===postData topic=" + topic)    console.log(payloadJson)     return JSON.stringify(payloadJson); }複製程式碼

3.4 執行程式
在CMD視窗輸入指令,執行程式碼,啟動裝置終端

node thermometer.js

程式會定期上傳隨機的溫度和溼度資料

第四章 最終效果
回到控制檯,在執行狀態頁面,啟用 實時重新整理,就可以看到溫度和溼度值了

回到裝置管理介面,可以看到當前只有Unit01裝置線上

本例框圖

原文地址:https://www.geek-workshop.com/thread-37883-1-1.html

更多工業交流和工作幫助可以訂閱我的個人訂閱號哦!