硬件STC89C52RC单片机最小系统ESP8266系列模块5V继电器模块蜂鸣器DHT11温湿度传感器软件keil4sbitLED1 = P1 ^ 0; //手动和自动状态sbitLED2 = P1 ^ 1; //湿度状态sbitLED3 = P1 ^ 2; //温度状态sbitK1 = P1 ^ 3; sbitK2 = P1 ^ 4; sbitK3 = P1 ^ 5; sbitFMQ = P1 ^ 6; Easy Android PC功能MCU通过串行端口与8266进行通信,而8266通过AP模式建立服务器以与手机进行通信以进行数据传输。温度和湿度警报的上限可以通过手机设置。
有手动和自动两种模式,可以添加三个按钮来手动控制三个继电器。基本功能是这样,稍后将添加OLED屏幕以进行同步显示。
8266调试步骤阿阳QQ1137035271欢迎彼此学习。 AT测试WiFi模块是否正常。
返回值是OK。单片机的晶体振荡器11.0592的串行通信波特率为9600。
因此将8​​266波特率设置为9600命令AT + UART = 9600,8,1,0,0要查看返回值,请确定WiFi模块的工作模式为LAN AP模式选择2命令AT + CWMODE = 2,然后设置WiFi热点命令AT + CWSAP =“ AP热点名称”,“密码可以自己设置”,11、4名称和密码可以自己修改。是否可以使用此步骤。
如果有此步骤,则无需在此处修改MCU代码。最好在单片机上设置一个重置按钮,以方便测试并防止崩溃。
以下是自用程序void ESP8266_SERVER(void)//设置服务器的代码段{Send_Str(“ AT ”); delayms(500); Send_Str(" AT + CWMODE = 2 "); //服务器建立在WIFI模块delayms(500)上; Send_Str(“ AT + CWSAP =” wifi”,“ 12345678”,5、3 "); //设置显示名称:wifi,密码:12345678delayms(1500); Send_Str(" AT + CIPMUX = 1 "); //要启动多个连接并建立服务器,您需要配置delayms(500); Send_Str(" AT + CIPSERVER = 1,5000 "); //建立服务器delayms(500); Send_Str(" AT + CIPSTO = 0 ”)}简单的Android界面截图和一些源代码事件按钮1.单击()如果K1开关=“ 1”,则客户端1.发送数据(文本到字节(“ GPIO0 = 00;”, “ GBK”))标签1。否则,客户端1.发送数据(文本到字节(“ GPIO0 = 01;”,“ GBK”))标签1。
如果事件结束,则结束事件按钮2。如果K2开关=“ 1”,则单击()。
然后客户1。发送数据(文本到字节(“ GPIO0 = 10;”,“ GBK”))标签1。
标题=“加热”。否则,客户1.发送数据(文本到字节(“ GPIO0 = 11;”,“ GBK”))标签1。
结尾。如果活动结束,以下是手机APP界面