Node-RED是構建物聯網(IoT)應用程式的強大工具,它使用可視化的編程方法,允許開發人員將預定義的代碼塊(稱為“節點”)連接在一起以執行任務,
當預定義的代碼塊連接在一起時,通常由輸入節點,處理節點和輸出節點組成的連接節點構成一個“流”,
RevPi Core模塊已經內置Node-RED運行環境,本文將介紹基于Node-RED如何實作RevPi Core模塊與阿里云物聯網平臺的通信,
01 啟動Node-RED
RevPi Core模塊已經搭建好了Node-RED運行環境,并且額外包含適用于RevPi設備的節點,無需額外安裝軟體,直接啟動運行即可,
首先通過putty遠程連接RevPi,輸入以下命令以啟動Node-RED:sudo node-red-start,
等待Node-RED啟動后,通過在瀏覽器中輸入 RevPi的IP:1880進入Node-RED界面,

可以通過命令sudo systemctl enable nodered.service設定Node-RED的開機自啟動,
02 配置阿里云物聯網平臺
在物聯網平臺控制臺點擊設備管理->產品->創建產品:

安裝下圖所示配置產品:

點擊保存,并前往添加設備:

輸入設備名稱,可以自行選擇,這里設定的是RevPi:

點擊確認,并前往查看設備資訊:

暫時不要關閉此設備資訊頁面,稍后還需要此頁面的相關資訊,
03 創建Node-RED流
這里將采用MQTT通信方式與阿里云物聯網平臺進行通信,首先建立如下圖所示流:

時間戳(即inject節點)在這里僅起到觸發作用,無需設定,
exec節點可執行系統命令,本文借助exec節點采集RevPi的CPU溫度,并將其上傳到云平臺,對exec節點進行如下圖所屬配置,
其中命令框中輸入:/usr/bin/vcgencmd measure_temp,

04 mqtt out節點引數設定
mqtt out節點配置可以參考阿里云物聯網平臺檔案“使用MQTT.fx接入物聯網平臺”,檔案中采用的是MQTT.fx軟體,但配置引數基本相同,
點擊添加新的mqtt-broker節點,節點名稱自行設定,本例設為AliIOT,

需要配置的引數包括連接和屬性兩種,下面依次看一下:


服務端
根據官方檔案,Broker的地址格式為:
${YourProductKey}.iot-as-mqtt. ${YourRegionId}.aliyuncs.com
上面的ProductKey可以在設備資訊中找到,RegionId可以參考網址:https://help.aliyun.com/document_detail/40654.html?spm=a2c4g.11186623.2.19.3d1b5800pRBtd2#concept-h4v-j5k-xdb
完整示例:
a1A96I6bXvh.iot-as-mqtt.cn-shanghai.aliyuncs.com,
埠選擇1883即可,
客戶端ID
客戶端ID的格式為:
${clientId}|securemode=3,signmethod=hmacsha1| ,
- clientId用戶可以自行設定,長度在64字符以內,本例中設定為RevPiNodeRED,
- securemode為安全模式,TCP直連模式設定為securemode=3,TLS直連為securemode=2,本例選擇安全模式為3,
- signmethod為演算法型別,支持hmacmd5和hmacsha1,本例選擇hmacsha1,
完整示例:
RevPiNodeRED|securemode=3,signmethod=hmacsha1|
用戶名及密碼
用戶名的格式為:
${YourDeviceName}& ${YourProductKey} ,
DeviceName和ProductKey均可在設備資訊處找到,請自行對應填寫,
完整示例:
RevPi&a1A96I6bXvh
密碼需要根據設備資訊進行加密運算生成,可以借助password生成小工具,下載地址:
https://files.alicdn.com/tpsservice/88413c66e471bec826257781969d1bc7.zip?spm=a2c4g.11186623.2.21.3d1b5800pRBtd2&file=88413c66e471bec826257781969d1bc7.zip
下載后解壓,雙擊sign檔案即可運行,
如下圖所示,如實填寫相關資訊,時 間戳可省略,點擊generate即可生成密碼,

另外還可以以手動方法生成密碼,詳細可參考阿里云物聯網平臺官方檔案,
主題
將以上Broker相關資訊填寫完成后點擊添加即可:

主題可以在產品->Test->Topic類串列->自定義Topic中選擇具有發布權限的Topic,并根據設備名稱進行更改:

當然,也可以自定義具有發布權限的主題,本例采用的主題為:
/a1A96I6bXvh/RevPi/user/update
mqtt out節點的QoS和保留選項設定可自行選擇,配置完成后點擊“完成”即可,然后點擊“部署”按鈕,將此流程部署到設備并運行,
05 通信測驗
部署完成后,正常情況下mqtt out節點應顯示“已連接”,若“未連接”或者一直在“連接中”,請檢查相關配置是否有錯,

點擊時間戳,觸發流程,即可將溫度資訊上傳到云平臺,
可以在阿里云物聯網平臺控制臺的監控運維->日志服務下,選擇Test產品即可在云端運行日志下查看到接收到的溫度資訊,


當然,也可以通過具有訂閱權限的主題實作從云平臺將資訊發送到RevPi,如果您對這方面感興趣,可以根據官方手冊自行探索實作方式,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/123035.html
標籤:其他
上一篇:計算機網路初學——計算機網路概論
