前言
本項目主要通過使用STM32F103C8T6作為主控MCU,ESP8266作為數據透傳模塊,接入機智云AIoT云平臺,通過在線智能產品,實現了遠程聯網、溫濕度監測、APP控制等功能。
上文介紹了“創建云端產品,燒錄Gagent”,“DHT11驅動的編寫”。本文主要介紹,機智云代碼工程移植、采集數據上發、控制數據下拉、配置入網。
機智云代碼工程移植
前面我們有說到,在機智云平臺創建產品完成后,生成了一個 MCU 的工程,這個工程是 CubeMX 所創建的,為了保持一致性,我們選擇使用 HAL 庫進行開發。
1、創建一個新的 CubeMX 工程。
芯片選型為:STM32F103RCTx
2、配置相關外設
2.1 SYS 配置為 SWD 調試

2.2 使能外部高速時鐘,并配置為外部晶振


2.4 配置 TIM2 相關參數,用于實現 us 級的延時

2.5 配置 USART1,用在 PC 端打印信息

2.6 配置 USART2,用于連接 ESP-8266

2.6 配置所用到的 IO 口
兩個按鍵
兩個按鍵的公共端配置為 推挽輸出模式、低電平且下拉
兩個按鍵的自由端配置為 輸入模式、上拉
DHT11 DATA 引腳
配置為 推挽輸出模式、高電平且上拉
LED 燈
配置為 推挽輸出模式、低電平

2.7 配置時鐘樹
輸入頻率根據板子上的晶振頻率填寫,我們現在是 8 MHz。接著鎖相環進行 9 倍頻,使 AHB、APB1、APB2 橋的頻率達到最高。

2.8 自動生成 CubeMX 工程
最好對下面的選項進行勾選。

3、將機智云平臺生成的協議 demo 移植進入自己的工程
打開機智云工程文件夾,將其中的 Gizwits、Hal、Utils 文件夾復制到自己的工程文件夾中。

在 Keil 中將復制的所有文件導入工程


修改 hal_key.c 中的初始化
語句中對應的IO 口和引腳號改為自己配置好的

完成上述步驟后,工程移植成功。
采集數據的上發
voidgizwitsHandle(dataPoint_t*dataPoint)參數 dataPoint [in]:用戶設備數據點。
該函數中完成了相應協議數據的處理即數據上報的等相關操作。
自定義相關代碼如下:
void userHandle(void){ DHT11_Read_Data(&temperature, &humidity); currentDataPoint.valuetemperature = temperature;//Add Sensor Data Collection currentDataPoint.valuehumidity = humidity;//Add Sensor Data Collection}控制數據的下拉
int8_tgizwitsEventProcess(eventInfo_t*info,uint8_t*gizdata,uint32_tlen)參數 info [in]:事件隊列
參數 data [in]:數據
參數 len [in]:數據長度
用戶數據處理函數,包括wifi狀態更新事件和控制事件。
自定義相關代碼如下:
case EVENT_LED: currentDataPoint.valueLED = dataPointPtr->valueLED; GIZWITS_LOG("Evt: EVENT_LED %d \n", currentDataPoint.valueLED);if(0x01 == currentDataPoint.valueLED) {//user handle PCout(15) = 1; // led燈亮 }else {//user handle PCout(15) = 0; // led燈滅 }break;ESP8266配置入網
有兩種配網的方式:airlink、softap。
這里我們選用 softap 模式進行配網。
步驟如下:
1、板子上電后,短按 按鍵2 進入 softap 模式
如果想要查詢是否處于 softap 模式,可以將串口連接至 PC,查看打印出的相關信息。
2、進入機智云 APP 中選擇 熱點配置
填寫要連接的路由器的賬號和密碼,以及ESP-8266發出的 WIFI 名前綴和密碼。

3、選擇樂鑫模組

4、按照提示,連接前綴為 XPG-GAgent- 的熱點信號

5、等待幾秒鐘時間

6、連接成功

至此,即完成了 ESP-8266 softap 模式的配網。
-
物聯網
+關注
關注
2945文章
47818瀏覽量
414834 -
監測系統
+關注
關注
8文章
3071瀏覽量
84541
發布評論請先 登錄
冷庫溫濕度監控系統物聯網解決方案
基于芯源CW32F030 MCU低功耗溫濕度監測系統設計
宏集案例 | COMET無線溫濕度監測系統助力文物展陳與長期保存
基于LORA無線通訊的祥控多點式煙葉溫濕度監測系統
【上海晶珩睿莓1開發板試用體驗】Home Assistant 物聯網溫濕度計
基于物聯網的溫濕度監測系統方案:構建全域感知的智能環境網絡
遠程溫濕度測量與報警系統:智能化環境監控的核心解決方案
STM32+esp8266連接機智云,上傳溫濕度數據并控制繼電器開關(平臺配置、代碼生成、代碼移植)
基于物聯網的溫濕度監測系統
物聯網溫濕度監控系統
溫濕度變送器功能有哪些?一文詳細解析
LoRa無線技術的溫濕度監測預警系統
基于物聯網的遠程溫濕度監測系統(3)機智云代碼移植
評論