資源簡介
【STM32F407ZET6項(xiàng)目】簡單的環(huán)境監(jiān)測系統(tǒng),采用dht11溫濕度模塊、gp2y1051au粉塵傳感器以及簡單的ADC分貝傳感器采集數(shù)據(jù),最后通過ESP8266WiFi模塊通過tcp/ip協(xié)議發(fā)送給上位機(jī)。

代碼片段和文件信息
#include?“common.h“
//ATK-ESP8266
//開始傳輸
void?atk_8266_start_trans(void)
{
//設(shè)置工作模式?1:station模式???2:AP模式??3:兼容?AP+station模式
atk_8266_send_cmd(“AT+CWMODE=1““OK“50);
//讓W(xué)ifi模塊重啟的命令
atk_8266_send_cmd(“AT+RST““ready“20);
delay_ms(1000);?????????//延時3S等待重啟成功
delay_ms(1000);
delay_ms(1000);
delay_ms(1000);
//讓模塊連接上自己的路由
while(atk_8266_send_cmd(“AT+CWJAP=\“TP-link_889628\“\“12345678\“““WIFI?GOT?IP“600));
//=0:單路連接模式?????=1:多路連接模式
atk_8266_send_cmd(“AT+CIPMUX=0““OK“20);
//建立TCP連接??這四項(xiàng)分別代表了?要連接的ID號0~4???連接類型??遠(yuǎn)程服務(wù)器IP地址???遠(yuǎn)程服務(wù)器端口號
while(atk_8266_send_cmd(“AT+CIPSTART=\“TCP\“\“192.168.0.102\“8080““CONNECT“200));
//是否開啟透傳模式??0:表示關(guān)閉?1:表示開啟透傳
atk_8266_send_cmd(“AT+CIPMODE=1““OK“200);
//透傳模式下?開始發(fā)送數(shù)據(jù)的指令?這個指令之后就可以直接發(fā)數(shù)據(jù)了
atk_8266_send_cmd(“AT+CIPSEND““OK“50);
}
//atk_8266發(fā)送命令后檢測接收到的應(yīng)答
//str:期待的應(yīng)答結(jié)果
//返回值:0沒有得到期待的應(yīng)答結(jié)果;其他期待應(yīng)答結(jié)果的位置(str的位置)
u8*?atk_8266_check_cmd(u8?*str)
{
char?*strx=0;
if(USART3_RX_STA&0X8000) //接收到一次數(shù)據(jù)了
{?
USART3_RX_BUF[USART3_RX_STA&0X7FFF]=0;//添加結(jié)束符
strx=strstr((const?char*)USART3_RX_BUF(const?char*)str);
}?
return?(u8*)strx;
}
//向atk_8266發(fā)送命令
//cmd:發(fā)送的命令字符串;ack:期待的應(yīng)答結(jié)果如果為空則表示不需要等待應(yīng)答;waittime:等待時間(單位:10ms)
//返回值:0發(fā)送成功(得到了期待的應(yīng)答結(jié)果);1發(fā)送失敗
u8?atk_8266_send_cmd(u8?*cmdu8?*acku16?waittime)
{
u8?res=0;?
USART3_RX_STA=0;
u3_printf(“%s\r\n“cmd); //發(fā)送命令
if(ack&&waittime) //需要等待應(yīng)答
{
while(--waittime) //等待倒計(jì)時
{
delay_ms(10);
if(USART3_RX_STA&0X8000)//接收到期待的應(yīng)答結(jié)果
{
if(atk_8266_check_cmd(ack))
{
printf(“ack:%s\r\n“(u8*)ack);
break;//得到有效數(shù)據(jù)?
}
USART3_RX_STA=0;
}?
}
if(waittime==0)res=1;?
}
return?res;
}?
//向atk_8266發(fā)送數(shù)據(jù)
//cmd:發(fā)送的命令字符串;waittime:等待時間(單位:10ms)
//返回值:發(fā)送數(shù)據(jù)后,服務(wù)器的返回驗(yàn)證碼
u8*?atk_8266_send_data(u8?*cmdu16?waittime)
{
char?temp[5];
char?*ack=temp;
USART3_RX_STA=0;
u3_printf(“%s“cmd); //發(fā)送命令
if(waittime) //需要等待應(yīng)答
{
while(--waittime) //等待倒計(jì)時
{
delay_ms(10);
if(USART3_RX_STA&0X8000)//接收到期待的應(yīng)答結(jié)果
{
USART3_RX_BUF[USART3_RX_STA&0X7FFF]=0;//添加結(jié)束符
ack=(char*)USART3_RX_BUF;
printf(“ack:%s\r\n“(u8*)ack);
USART3_RX_STA=0;
break;//得到有效數(shù)據(jù)?
}?
}
}
return?(u8*)ack;
}?
//atk_8266退出透傳模式???返回值:0退出成功;1退出失敗
//配置wifi模塊,通過想wifi模塊連續(xù)發(fā)送3個+(每個+號之間?超過10ms這樣認(rèn)為是連續(xù)三次發(fā)送+)
u8?atk_8266_quit_trans(void)
{
u8?result=1;
u3_printf(“+++“);
delay_ms(1000); //等待500ms太少?要1000ms才可以退出
result=atk_8266_send_cmd(“AT““OK“20);//退出透傳判斷.
if(result)
printf(“quit_trans?failed!“);
else
printf(“quit_trans?success!“);
return?result;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????109142??2014-07-17?21:52??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\CODE\core_cm4.h
?????文件??????22735??2014-07-17?21:52??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\CODE\core_cm4_simd.h
?????文件??????17146??2014-07-17?21:52??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\CODE\core_cmFunc.h
?????文件??????20513??2014-07-17?21:52??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\CODE\core_cmInstr.h
?????文件??????29605??2014-08-02?00:12??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\CODE\startup_stm32f40_41xxx.s
?????文件???????3077??2020-10-15?21:36??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\common.c
?????文件????????746??2020-05-31?16:45??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\common.h
?????文件???????4206??2020-10-15?21:39??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\delay.c
?????文件????????218??2020-10-15?21:38??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\delay.h
?????文件???????2280??2020-05-27?19:03??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\dht11.c
?????文件????????227??2020-05-27?18:57??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\dht11.h
?????文件???????3104??2020-05-28?02:57??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\gp2y.c
?????文件????????279??2020-05-28?02:52??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\gp2y.h
?????文件????????468??2020-10-15?21:40??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\sys.c
?????文件???????2882??2020-05-27?15:30??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\sys.h
?????文件???????1566??2020-09-11?17:14??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\timer.c
?????文件????????104??2020-05-27?15:29??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\timer.h
?????文件???????4094??2020-10-15?21:40??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\usart.c
?????文件????????460??2020-10-15?21:40??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\usart.h
?????文件???????3854??2020-05-31?16:45??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\usart3.c
?????文件????????622??2020-05-27?05:11??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\usart3.h
?????文件???????2399??2020-09-02?13:19??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\voice.c
?????文件????????192??2020-05-30?16:36??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECCODE\voice.h
?????文件???????6924??2014-08-01?23:18??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECLIB\inc\misc.h
?????文件??????32880??2014-08-01?23:18??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECLIB\inc\stm32f4xx_adc.h
?????文件??????27318??2014-08-01?23:18??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECLIB\inc\stm32f4xx_can.h
?????文件???????2416??2014-08-01?23:18??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECLIB\inc\stm32f4xx_crc.h
?????文件??????14481??2014-08-01?23:18??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECLIB\inc\stm32f4xx_cryp.h
?????文件??????14946??2014-08-01?23:18??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECLIB\inc\stm32f4xx_dac.h
?????文件???????4296??2014-08-01?23:18??工業(yè)現(xiàn)場生產(chǎn)環(huán)境監(jiān)測系統(tǒng)\GECLIB\inc\stm32f4xx_dbgmcu.h
............此處省略272個文件信息
評論
共有 條評論