在《程序員》雜志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變量。
第三步:部署運行
運行后,我們查看設備的狀態,已經在線,也會在“日志服務”中看到數據上傳的信息。