找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1220|回复: 2
打印 上一主题 下一主题
收起左侧

基于无线WIFI温湿度检测报警系统

[复制链接]
跳转到指定楼层
楼主
ID:190577 发表于 2023-7-16 16:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、系统方案
本设计采用STC89C52单片机作为主控制器,液晶1602显示温湿度,按键设置温湿度阀值,实际温湿度低于设置下限或者大于上限,蜂鸣器报警,手机APP显示温湿度,同时APP可以设置温湿度阀值,实现下位机和手机APP的双向通讯。


二、硬件设计
原理图如下:
最终实物图片:
三、单片机软件设计
单片机代码主要是串口初始化、串口中断服务程序。首先是串口初始化:
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的截图:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:688460 发表于 2023-7-19 10:41 | 只看该作者
上传整套完整的代码 ,我奖励你50黑币.谢谢!
回复

使用道具 举报

板凳
ID:1053359 发表于 2023-7-20 11:41 | 只看该作者
发出代码和电路图,,大家学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表