1,因爲企業級項目一般都用共有云讓設備與雲端建立連接,所以我打算先寫寫這一部分內容,基於阿里雲的物聯網平臺,讓STM32與雲端建立連接,協議採用的是基於TCP協議進一步封裝的MQTT協議。
首先在阿里雲物聯網平臺創建產品
創建完產品之後,我們去創建並添加雲端的設備與我們的本地設備綁定
獲取設備證書(三元組),包含(ProductKey,DeviceName,DeviceSecret),還有個華東二(上海),這個地區要記一下,這些比較重要,後面寫程序也要用到。
2.然後,我們用一個MQTT.fx這個軟件模擬一下連接過程,方便後面我們理解與寫程序。
在這裏我們可以參考一下阿里的幫助文檔。善於利用關鍵資源。
我們能看見如下界面
參考文檔來一步步填入關鍵信息
這裏有個地域和可用區,我們之前記下了華東二(上海),現在點進去看看Region ID。
所以我的Broker Address爲: a1JOSzpWdAq.iot-as-mqtt.cn-shanghai.aliyuncs.com
Broker Port爲:1883,這個基本是MQTT固定的端口
繼續往下看Clinet ID
我的Client ID爲 : MQTT_01|securemode=3,signmethod=hmacsha1|
採用TCP直連模式 算法類型hmacsha1
然後單擊軟件第二項User Credentials,去設置User Name和Password。
我的User Name爲 : MQTT_01&a1JOSzpWdAq
繼續看文檔設置我們的密碼。
這裏一定要注意大小寫,因爲是不可逆加密算法,我把ID都打成大寫會出錯(一切認真對照文檔,這一步很重要)。
可以用文檔給的工具先連接,對照一下,因爲這個加密不可逆,解密不了。要先保證能連接上。
然後我們到平臺上看看設備有沒上線
3.最後我們測試一下通信。
主題在阿里雲上可以用自定義的。說白了就是自帶的。
訂閱了之後我們測下下行數據,就是雲端發數據給設備(現在接着網線或者WIFI的是我的電腦設備,單片機同理)
然後我們測一下上行數據,設備端傳數據給雲端。
發完之後我們去雲端的日誌看一下是否收到這個消息。
到了最後我們就可以按照這個思路讓STM32去連接阿里雲平臺了。
舉部分慄圖
後面會詳細寫連接過程如何實現,這個設備密鑰就不打碼了,我會刪除,因爲阿里雲物聯網平臺一個月內使用超過一定數量的消息是要收費的,小於256個字節爲一條消息。
Fighting!