找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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, 下载次数: 261)

评分

参与人数 2黑币 +55 收起 理由
mashuiyou + 5 赞一个!
admin + 50 共享资料的黑币奖励!

查看全部评分

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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