標題: 基于無線WIFI溫濕度檢測報警系統 [打印本頁]
作者: bbxyliyang 時間: 2023-7-16 16:10
標題: 基于無線WIFI溫濕度檢測報警系統
一、系統方案
本設計采用STC89C52單片機作為主控制器,液晶1602顯示溫濕度,按鍵設置溫濕度閥值,實際溫濕度低于設置下限或者大于上限,蜂鳴器報警,手機APP顯示溫濕度,同時APP可以設置溫濕度閥值,實現下位機和手機APP的雙向通訊。
1.png (7.06 KB, 下載次數: 40)
下載附件
2023-7-16 16:09 上傳
二、硬件設計
原理圖如下:
2.png (227.27 KB, 下載次數: 45)
下載附件
2023-7-16 16:09 上傳
最終實物圖片:
3.png (431.79 KB, 下載次數: 42)
下載附件
2023-7-16 16:09 上傳
三、單片機軟件設計
單片機代碼主要是串口初始化、串口中斷服務程序。首先是串口初始化:
void Uart_init()
{
TMOD=0x20; //波特率發生器T1的工作方式為2,自動填裝初值
EA=1;
TH1=0xfd;
TL1=0xfd;
TR1=1;
ET1=0;
SM0=0;
SM1=1;
REN=1;
ES=1;
}
貼上51單片機負責串口發送的兩個函數:
void mcu_pc(unsigned char x)//串口發送程序 發送單個字節
{
SBUF=x;
while(TI==0);
TI=0;
}
void Send2_Str(char *s)//發送字符串
{
while (*s) //Check the end of the string
{
mcu_pc(*s++); //Send current char and increment string ptr
}
}
在串口中斷中處理接收到的數據:
void Usart() interrupt 4
{
if(RI==1)
{
receiveData=SBUF;//出去接收到的數據
RI = 0;//清除接收中斷標志位
}
}
WIFI模塊初始化
Send2_Str("AT+CWMODE=2\r\n");//選擇AP模式
delay(1000);
Send2_Str("AT+RST\r\n");//復位
delay(1000);
Send2_Str("AT+CWSAP=\"APP\",\"12345678\",11,3\r\n");//模塊創建熱點
delay(1000);
Send2_Str("AT+CIPMUX=1\r\n");//開啟多連接
delay(1000);
Send2_Str("AT+CIPSERVER=1,5000\r\n");//開啟TCP服務,設置端口號
delay(1000);
Send2_Str("AT+CIPSTO=0\r\n");//永遠不超時
delay(1000);
四、App軟件設計
APP界面比較簡單,操作之前打開手機WIFI,連接上下位機創建的熱點APP,密碼12345678,連接成功之后,點擊手機APP上面連接,手機界面會顯示連接成功,之后手機APP和下位機就可以實現數據的交換,放上一個手機APP的截圖:
最后.jpg (83.27 KB, 下載次數: 40)
下載附件
2023-7-16 16:10 上傳
作者: yyzf998 時間: 2023-7-19 10:41
上傳整套完整的代碼 ,我獎勵你50黑幣.謝謝!
作者: real8799190 時間: 2023-7-20 11:41
發出代碼和電路圖,,大家學習學習
| 歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |