在《程式設計師》雜誌2017.4刊上,曾寫過一篇《微軟百度阿里三大物聯網平臺探析》,上面曾介紹了阿里雲物聯網套件的一些內容,在寫該篇文章的時候,凌霄物聯網閘道器還無法對接到此平臺(TLS必須1.1版本以上)。但是隨著阿里雲物聯網套件的不斷髮展,目前裝置除了支援HTTPS認證外,也支援MQTT客戶端域名直連認證(可以是TCP直連模式,也可以是TLS直聯模式)。
最近有幸參與了阿里的飛鳳物聯網平臺計劃,可以更為深入的去研究阿里雲物聯網套件,除了用直接編寫程式碼連線雲外,也嘗試用組態的方式去對接阿里雲物聯網套件。
相對而言,阿里雲物聯網套件,雲端的操作簡單易用。
第一步:建立產品(目前杭州點已經不支援建立產品),建立產品成功後,會產生一個ProductKey。
第二步:新增裝置。可以新增若干裝置,為每個裝置配置Topic列表。
新增裝置後,裝置證書裡面的裝置名稱(deviceName)和裝置金鑰(deviceSecret)是我們連線雲端裝置所必要的。
每個裝置建立後,預設就自動擁有了如下3個Topic。使用者可以根據需要自行新增。
雲端做了這些工作,我們就可以在裝置中編寫程式和雲端通訊了。
MQTT需要對接的伺服器域名為:”$productKey. iot-as-mqtt.cn-shanghai.aliyuncs.com”,其中$productKey用實際的產品金鑰來替換,埠號預設為1883。
MQTT連線需要三個參量:mqttClientId, mqttUsername, mqttPassword
這個三個參量如何根據productKey、deviceName和deviceSecret來建立,可以參考阿里雲物聯網套件的相關文件說明,連結如下:https://help.aliyun.com/document_detail/30539.html?spm=5176.doc42743.6.574.ewvmlO
程式碼程式設計完成後,部署到凌霄智慧閘道器執行後,就可以在“日誌服務”頁面看到裝置上線及裝置傳送的各種資訊通知了。
除了自行編寫程式碼外,為了便於各種感測器和智慧模組的接入,我們還採用了YFIOs組態的方式去連線阿里雲物聯網套件,這樣無需程式設計,就可以快速和雲端進行雙向通訊了。
第一步:新增智慧裝置
新增裝置的同時,IO變數會自動建立。
第二步:新增系統策略:阿里雲物聯網套件客戶端
填寫必要的引數,勾選需要上傳到物聯網套件的IO變數。
第三步:部署執行
執行後,我們檢視裝置的狀態,已經線上,也會在“日誌服務”中看到資料上傳的資訊。