标题: STM32单片机+ESP8266 WiFi智能插座程序设计 [打印本页]

作者: lovekmjb    时间: 2021-7-5 15:18
标题: STM32单片机+ESP8266 WiFi智能插座程序设计
通过WiFi远程控制插座的开与关,可远程操控插座的开启与关闭。
a.采用0.96英寸OLED显示屏显示插座状态信息与WiFi信息。
b.通讯模块采用ESP8266WiFi模块。
c.主控模块采用STM32F103C8T6核心板。

d.执行模块采用单路光耦继电器。
  核心板使用串口与ESP8266进行通信,接收WiFi模块回传的指令,从而控制继电器的开与关。ESP8266使用AT固件,在初始化时配置成AP兼Station模式,使用TCP协议模拟成TCP服务端。PC端盖通过链接WiFi模块生成的热点,使用网络调试助手即可与WiFi模块通信。STM32核心板通过串口与WiFi模块通信,并通过串口初始化WiFi模块与接收指令。再对串口接收到的数据进行判断,控制IO口的电平从而起到对继电器的控制。

AT
指令
  
AT+CWMODE=3
  
AP兼Station模式
AT+RST
重启
AT+CWSAP=”ssid”,”pwd”,”chl”,”ecn”
配置wifi名称,密码通道,加密方式
AT+CIPMUX=1
启动多连接
AT+CIPSERVER=1,8080
建立SERVER,端口8080
1. 硬件示意图


2. 程序流程图


制作出来的实物图如下:

3. 程序设计
/************************************************************/
/**************************主函数****************************/
/************************************************************/

void JTAG_Set(u8 mode)
{
    u32 temp;
    temp=mode;
    temp<<=25;
    RCC->APB2ENR|=1<<0;     //开启辅助时钟      
    AFIO->MAPR&=0XF8FFFFFF; //清除MAPR的[26:24]
    AFIO->MAPR|=temp;       //设置jtag模式
}
u8 ch='0';
int main(void)
{   
    delay_init();                //初始化延时函数
    LED_GPIO_Config();           //初始化IO口
    JTAG_Set(JTAG_SWD_DISABLE);  
    JTAG_Set(SWD_ENABLE);        
    USART_Config();              //初始化串口
    IIC_Init();                  //初始化IIC总线
    OLED_Init();                 //初始化OLED
    oled_1();
    ESP8266_Init();              //初始化Wifi模块
    oled_2();
    while(1){                    //接受串口数据并判断
        ch=getchar();
        if(ch=='0'){
            KEY_OFF
        }
        else if(ch=='1'){
            KEY_ON
        }
    }
}
/******************************************************/


全部程序51hei下载地址:
WiFi智能插座.7z (209.75 KB, 下载次数: 265)

作者: 梨子李子    时间: 2022-4-15 12:54
请问这个wifi模块用的是开发板嘛?
作者: 3523485271    时间: 2022-9-16 15:21
proteus仿真可以作吗
作者: 许玩童    时间: 2023-3-16 18:26
期待看到仿真运行的实例
作者: Longan.Wang    时间: 2023-4-14 11:16
仿真应该还做不到吧




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1