1. 程式人生 > 其它 >201-STM32F103+EC200(移遠4G Cat1)基本控制篇(阿里雲物聯網平臺)-裝置使用一機一密方式連線雲平臺,並使用物模型Topic上報溫溼度資料

201-STM32F103+EC200(移遠4G Cat1)基本控制篇(阿里雲物聯網平臺)-裝置使用一機一密方式連線雲平臺,並使用物模型Topic上報溫溼度資料

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ZLIOTB/EC200/aliyun.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

 

說明

這一節咱們使用平臺提供的物模型Topic把溫溼度資料展示在平臺上

為了是這一節可以單獨使用!故和前面有內容重複.

這一節是在  002-STM32+EC200使用MQTT+SSL加密方式接入阿里雲物聯網平臺(不驗證伺服器證書) 

章節的基礎上增加了訂閱主題和釋出溫溼度訊息(使用物模型主題);

 

注意:如果使用者已經看了前面的  關於阿里雲物聯網平臺物模型Topic  章節,不需要在平臺上重複新增溫溼度功能!

 

 

 

 

給產品新增上溫溼度功能

1.點選產品,檢視

 

 

2.各個版本不一樣,阿里雲總是在更新.....

選擇功能定義  點選編輯草稿

 

 

 

3.新增自定義功能

 

 

 

4.新增一個溫度

使用者請先按照我下面的填寫,待熟悉以後再自己自定義

識別符號是 temp,咱通訊的時候作為溫度的欄位

 

5.再新增一個溼度

使用者請先按照我下面的填寫,待熟悉以後再自己自定義

識別符號是 humi,咱通訊的時候作為溼度的欄位

 

 

 

6.提交

 

 

 

7.回到裝置裡面

 

 

 

 

 

使用微控制器裝置測試

1.安裝好模組

微控制器通過串列埠2和GPRS模組通訊;  微控制器PA8引腳作為復位模組使用

(微控制器)PA2  ----   (EC200)RX;

(微控制器)PA3  ----   (EC200)TX;

(微控制器)PA8  ----   (EC200)RST

 

2.開啟這節的微控制器程式

 

3.使用微控制器串列埠1列印串列埠日誌(115200)

 

 

 

4.修改為阿里雲的裝置引數.

 

5.檢視日誌

連線上伺服器以後,每隔一段時間上報溫溼度資料

 

 

 

6.檢視網頁端

 

 

 

 

 

 

 

程式說明

1,串列埠2接收模組資料的時候,單獨使用一個快取,快取了TCP接收的資料

 

 

 

 

 

 

2.整體概況

 

 

 

 

①:控制模組連線TCP伺服器(MQTT伺服器)

②:計算MQTT密碼

③:MQTT訊息處理封裝包(快取管理,支援訊息等級0,1,2)

④:使用Mbedtls裡面的sha1或者md5 計算密碼檔案

 

 

3.初始化MQTT,註冊相應的回撥函式

 

 

 

我編寫的包是以註冊回撥函式的形式使用.

 

 

4.先使用TCP連線上TCP伺服器(MQTT伺服器就是TCP伺服器嘛)

 

 

 

 

 

5.連線上TCP以後,傳送連線MQTT協議

 

 

 

 

 

6.傳送連線協議給伺服器以後,如果伺服器返回連線成功訊息,便會呼叫MQTT連線成功回撥函式

 

 

在連線成功回撥函式裡面組合訂閱的物模型主題,並執行api函式訂閱;   組合釋出的物模型主題

 

 

 

 

7.連線上了以後就輪訓mqtt_send_function函式

咱們後面呼叫訂閱,釋出的函式的時候, 資料都會儲存在快取裡面, 然後通過輪訓 mqtt_send_function函式,把MQTT的資料傳送出去

只要是判斷連線上了MQTT伺服器了, 使用者可以在任意地方呼叫訂閱,釋出的函式

 

 

 

 

 

8.接收訊息

連線MQTT成功以後收到的伺服器傳送的資料需要讓 mqtt_read_function函式處理, 該函式內部會處理訊息並呼叫相應的回撥函

 

 

 

 

9.輪訓傳送溫溼度資料給伺服器