基于stm32的溫濕度數(shù)據(jù)采集,然后通過MQTT協(xié)議 上傳到云平臺上,程序如下,自取
單片機源程序如下:
- #include "main.h"
- u8 temp=0;
- u8 humi=0;
- //硬件初始化
- void Hardware_Init(void)
- {
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置中斷優(yōu)先級分組為組2:2位搶占優(yōu)先級,2位響應優(yōu)先級
-
- delay_init(); //延時函數(shù)初始化
-
- Usart1_Init(115200); //串口1初始化為115200
- Usart2_Init(115200); //串口2,驅(qū)動ESP8266用
- LED_Init(); //LED初始化
- }
- void Net_Init()
- {
- ESP8266_Init(); //初始化ESP8266
-
- while(OneNet_DevLink()) //接入OneNET
- delay_ms(500);
- LED = LED_ON; //入網(wǎng)成功
- }
- int main(void)
- {
- unsigned char *dataPtr = NULL;
- unsigned short timeCount = 300; //發(fā)送間隔變量
-
- Hardware_Init(); //初始化外圍硬件
- Net_Init(); //網(wǎng)絡初始化
- while(DHT11_Init()) //DTH11初始化
- {
- printf("wait DHT11_Init");
- }
- while(1)
- {
- DHT11_Read_Data(&temp,&humi); //讀取DTH11的溫濕度值
- delay_ms(10);
- timeCount ++;
-
- if(timeCount >= 300) //發(fā)送間隔
- {
- OneNet_SendData(); //發(fā)送數(shù)據(jù)
-
- timeCount = 0;
- ESP8266_Clear();
- }
-
- dataPtr = ESP8266_GetIPD(0);
- if(dataPtr != NULL)
- {
- OneNet_RevPro(dataPtr);
- }
- }
- }
復制代碼
所有代碼51hei提供下載:
STM32接入OneNET22.7z
(197.95 KB, 下載次數(shù): 88)
2021-5-2 04:41 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|