天天看點

STM32F103RCT6(Mini闆)通過MQTT協定上傳溫濕度資料至OneNET雲平台并控制LED燈

目錄

        • 1. 相關連接配接:
        • 2. 具體功能:
        • 3. 硬體環境:
        • 4. 雲平台環境配置:
        • 5. 接線:
        • 6. 功能展示:
        • 7. 要修改的的地方:

簡介: ESP8266通過MQTT協定将溫濕度資料傳輸至OnenNet雲平台

關鍵詞: OneNet、ESP8266、DHT11、MQTT、LED

1. 相關連接配接:

  1. github(源碼): https://github.com/Mbwide/DHT11_ToOneNetByMqtt
  2. CSDN:(圖文解析):
  3. Bilibili(視訊解析):https://www.bilibili.com/video/BV1Vi4y1w7U1

2. 具體功能:

  1. DHT11采集環境溫濕度資料,ESP8266子產品通過MQTT協定将溫濕度資料傳輸至OnenNet雲平台
  2. OneNET可以通過雲平台遠端控制LED燈的亮滅
  3. 序列槽顯示相關資料資訊

3. 硬體環境:

  1. 正點原子STM32F103RCT6(正點原子MiniSTM32)
  2. DHT11溫濕度傳感器
  3. ESP8266-01S無線子產品

4. 雲平台環境配置:

  1. 雲平台配置:
    • OneNET控制台—全部産品服務(多協定接入,選MQTT舊版)—添加産品—進入産品(記住産品ID)—裝置清單—添加裝置(記住鑒權資訊)—建立完成(記住裝置ID)
  2. 雲平台應用設定:
    • 添加應用—編輯應用—元件庫中添加折線圖和開關
    • 折線圖(資料上傳成功後進行配置): 選擇資料流 — 選擇裝置—資料流選擇要顯示的資料(這裡選擇溫度,temperature)
    • 開關(資料上傳成功後進行配置): 選擇資料流 — 選擇裝置—資料流選擇要顯示的資料(這裡選擇LED,ledFlag)—開關開值(LEDON)—開關關值(LEDOFF)—EDP不填

5. 接線:

  1. ESP8266-01S(5根線)
    • PA2 RX
    • PA3 TX
    • PA4 複位
    • 3V3 VCC
    • GND GND
  2. DHT11(3根線)
    • PA6 DATA
    • 3V3 VCC
    • GND GND
  3. LED
    • PD2 LED1

6. 功能展示:

  1. 資料流
    STM32F103RCT6(Mini闆)通過MQTT協定上傳溫濕度資料至OneNET雲平台并控制LED燈
  2. APP應用管理
    STM32F103RCT6(Mini闆)通過MQTT協定上傳溫濕度資料至OneNET雲平台并控制LED燈
  3. 序列槽資料
    STM32F103RCT6(Mini闆)通過MQTT協定上傳溫濕度資料至OneNET雲平台并控制LED燈
  4. 源碼簡要解析
    STM32F103RCT6(Mini闆)通過MQTT協定上傳溫濕度資料至OneNET雲平台并控制LED燈
    • 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. 要修改的的地方:

  1. mqtt.h :
    #define  PRODUCTID      "393773"          //自己的産品ID
    #define  DEVICEID       "660024974"       //自己的裝置ID 
    #define  AUTHENTICATION  "123456"         //自己的鑒權資訊(建立裝置的時候設定)
               
    STM32F103RCT6(Mini闆)通過MQTT協定上傳溫濕度資料至OneNET雲平台并控制LED燈
  2. wifi.h
    #define SSID   "PPP"                     //自己的路由器名稱
     #define PASS   "qaz123qaz"               //自己的路由器密碼
               
    STM32F103RCT6(Mini闆)通過MQTT協定上傳溫濕度資料至OneNET雲平台并控制LED燈
  3. mqtt.c
    sprintf(ServerIP,"%s","183.230.40.39");              //建構伺服器域名(ONENET的)
    ServerPort = 6002;                                   //伺服器端口号6002
               
    根據平台位址清單填寫,這裡是mqtt協定
    STM32F103RCT6(Mini闆)通過MQTT協定上傳溫濕度資料至OneNET雲平台并控制LED燈
    STM32F103RCT6(Mini闆)通過MQTT協定上傳溫濕度資料至OneNET雲平台并控制LED燈

繼續閱讀