前言
本項目主要通過使用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 模式的配網。
-
物聯網
+關注
關注
2914文章
44978瀏覽量
377477 -
監測系統
+關注
關注
8文章
2763瀏覽量
81559
發布評論請先 登錄
相關推薦
XKCON祥控倉庫存儲環境溫濕度在線監測系統能夠取代人工巡檢,實現遠程倉庫存儲環境溫濕度變化的實時
![XKCON祥控倉庫存儲環境<b class='flag-5'>溫濕度</b>在線<b class='flag-5'>監測</b><b class='flag-5'>系統</b>能夠取代人工巡檢,實現<b class='flag-5'>遠程</b>倉庫存儲環境<b class='flag-5'>溫濕度</b>變化的實時](https://file1.elecfans.com/web1/M00/F5/71/wKgZoWc9VTeAEyK7AADzfBS5zKI716.png)
評論