目錄
-
-
-
- 1. 相關連接配接:
- 2. 具體功能:
- 3. 硬體環境:
- 4. 雲平台環境配置:
- 5. 接線:
- 6. 功能展示:
- 7. 要修改的的地方:
-
-
簡介: ESP8266通過MQTT協定将溫濕度資料傳輸至OnenNet雲平台
關鍵詞: OneNet、ESP8266、DHT11、MQTT、LED
1. 相關連接配接:
- github(源碼): https://github.com/Mbwide/DHT11_ToOneNetByMqtt
- CSDN:(圖文解析):
- Bilibili(視訊解析):https://www.bilibili.com/video/BV1Vi4y1w7U1
2. 具體功能:
- DHT11采集環境溫濕度資料,ESP8266子產品通過MQTT協定将溫濕度資料傳輸至OnenNet雲平台
- OneNET可以通過雲平台遠端控制LED燈的亮滅
- 序列槽顯示相關資料資訊
3. 硬體環境:
- 正點原子STM32F103RCT6(正點原子MiniSTM32)
- DHT11溫濕度傳感器
- ESP8266-01S無線子產品
4. 雲平台環境配置:
- 雲平台配置:
- OneNET控制台—全部産品服務(多協定接入,選MQTT舊版)—添加産品—進入産品(記住産品ID)—裝置清單—添加裝置(記住鑒權資訊)—建立完成(記住裝置ID)
- 雲平台應用設定:
- 添加應用—編輯應用—元件庫中添加折線圖和開關
- 折線圖(資料上傳成功後進行配置): 選擇資料流 — 選擇裝置—資料流選擇要顯示的資料(這裡選擇溫度,temperature)
- 開關(資料上傳成功後進行配置): 選擇資料流 — 選擇裝置—資料流選擇要顯示的資料(這裡選擇LED,ledFlag)—開關開值(LEDON)—開關關值(LEDOFF)—EDP不填
5. 接線:
- ESP8266-01S(5根線)
- PA2 RX
- PA3 TX
- PA4 複位
- 3V3 VCC
- GND GND
- DHT11(3根線)
- PA6 DATA
- 3V3 VCC
- GND GND
- LED
- PD2 LED1
6. 功能展示:
- 資料流
- APP應用管理
- 序列槽資料
- 源碼簡要解析
- stm32f10x_it.c:中斷處理函數
- usart1.c:與上位機通信
- usart2.c:與ESP8266通信,序列槽2接收中斷處理上位機發送來的資料
- timer2.c:定時器2中斷用來發送溫濕度資料,10S
- timer3.c:定時器3中斷用來發送心跳包(ping,用于保持和伺服器連接配接,長時間沒給伺服器發送資料會被踢下線),2s和30s兩種模式
- timer4.c:将序列槽2接收到的伺服器資料依次存放在MQTT接收緩存數組中,50ms
- control.c:控制LED燈,并且發送LED燈開關信号
7. 要修改的的地方:
- mqtt.h :
#define PRODUCTID "393773" //自己的産品ID #define DEVICEID "660024974" //自己的裝置ID #define AUTHENTICATION "123456" //自己的鑒權資訊(建立裝置的時候設定)
- wifi.h
#define SSID "PPP" //自己的路由器名稱 #define PASS "qaz123qaz" //自己的路由器密碼
- mqtt.c
根據平台位址清單填寫,這裡是mqtt協定sprintf(ServerIP,"%s","183.230.40.39"); //建構伺服器域名(ONENET的) ServerPort = 6002; //伺服器端口号6002