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!
