Soft-AP模式建立和51连接,最详细的傻瓜式小白入门

Posted 菜弱小垃圾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Soft-AP模式建立和51连接,最详细的傻瓜式小白入门相关的知识,希望对你有一定的参考价值。


前言

本文编辑:孙韶辉,如有侵权,请联系V18149072101

一、文章内容:

Esp8266和51单片机连接,实现无线控制灯开关及其他动作

二、实现思路

TXD RXD
下发AT指令建立热点
TXD RXD下发AT指令
通过wifi下发指令
TXDRXD
第一步
Esp8266
PC串口助手
Esp8266
第二步
51单片机代替PC串口助手
Esp8266建立热点
手机WIFI连接
第三步
手机WIFI连接
Esp8266
51单片机

三、实现教程

1:ESP8266和PC串口助手连接

把ESP8266模块的VCC, GND, CH_PD, UTXD, URXD 口分别接USB转TTL模块的3.3v, 地, 3.3v, RXD, TXD,不可接到5V。

2.下载串口助手,连接ESP8266

串口调试助手下载链接

提取码:3tz5
1:将串口助手波特率调节为115200,这是ESP8266初始状态波特率,
2:打开串口
3:在串口输入指令“AT”发送,返回OK,说明连接成功,如果乱码,查看波特率是否真确

3、配置ESP8266(通过PC机下发配置指令)

3.1 指令介绍

  1. AT+CIOBAUD=X 改模块的波特率, X 为要改成的波特率
  2. AT+CIOBAUD=X
    AT+CWMODE=X(设置工作模式指令, X 可以是 1、 2、 3,具体如下:
    1: Station 模式 //作为客户端
    2: AP 模式 //作为热点
    3: Station+AP 模式 //混合模式
    Station 可理解为让 wifi 模块去连接路由器或热点,此时模块作为客户端
    AP 模式可理解为模块本身是一个热点,手机或电脑可以连接这个热点,此时模块作为服务器。
    这里用的是 AP 模式
  3. AT+RST(重启指令,设置新的工作模式后需重启才能生效。 发送完这条指令后再发送其它指令可能会显示串口无效,需要退出串口调试助手再重新进入 )
  4. AT+CWSAP?(可以查看当前 AP 模式下模块热点的具体信息)
  5. AT+CIFSR( 查看 IP 地址)
  6. AT+CIPMUX=1
  7. AT+CIPSERVER=1, X( 1 表示开启服务器, X 为自己设置的端口号)
  8. AT+CWLAP //显示无线列表
  9. AT+CWJAP=“WIFI名称” ,“密码”
    注意:6和7指令掉电要重新配置

3.2 演示

  1. 发送‘AT’,返回OK;
  2. 发送‘AT+CWMODE=2’,设置模式为热点AP模式
  3. AT+CWSAP=“ESP8266”,“0123456789”,11,3//建立自身WIFI热点
  4. 发送‘AT+RST’;,回复OK,热点建立完毕
  5. AT+CIPMUX=1
  6. AT+CIPSERVER=1,6666//配置端口号
  7. 这两条掉电需要重新配置
  8. AT+CIFSR //获取IP地址
    现在热点已经建立完毕,可以用手机WIF搜索到ESP8266,并且连接,安卓手机端可以下载 TCP连接软件,
  9. 打开软件的界面
  10. 将刚查询到的IP地址还有自己设置的端口号输入进去,就可以与手机连接,这里我的单片机不在身边,就不做演示
  11. 软件界面,这些东西可以自定义设置
  12. 将ESP8266波特率设置和51波特率相同,因为51用的是12M晶振,所以这里设置为4800,
  13. AT+CIOBAUD=X,X为需要改的波特率,
  14. 发送AT+RST,重启设备,
  15. 然后将PC串口助手波特率设置为刚才改的波特率,
  16. 发送AT,如果返回OK,设置完成

这里不要高兴太早,我们只是手工完成了单片机该做的事,要完成自动连接,就必须往51单片机里写入我们刚才的流程,让他代替手动,第一步完成

4. 51单片机代替PC串口助手发送指令

 现在51单片机波特率和ESP8266波特率已经相同,可以通讯了,然后就来写程序,代替手动,这里只写入关键程序
//51发送指令程序建立热点
uchar code table[]="AT+CIPMUX=1\\r\\n";//光标移置行首,变行
uchar code table1[]="AT+CIPSERVER=1,6666\\r\\n";//波特率为6666
/*-----------------------------------------------------*/
void usart()	 //串口初始化函数// 波特率4800
{
    TMOD = 0x20;
    TH1 = 0xF3;
    TL1 = 0xf3;
    PCON = 0x00;
	  TR1 = 1;
	  SCON = 0x50;
    EA = 1;
    ES = 1;
    
}
/*-----------------------------------------*/
void Esp8266Init()
{
	uchar a=0,b=0;
	while(table[a]!='\\0')
	{
		 SBUF=table[a];
		while(!TI);
		TI=0;
		a++;
	}
	shortdelay(500);  
	shortdelay(500); 
	shortdelay(500); 
    shortdelay(500); 
	shortdelay(500); //这里用了多个延时,测试,如果太快了,热点无法建立
    while(table1[b]!='\\0')
    {
      SBUF=table1[b];
      while(!TI);  
      TI=0;
      b++;
	  }
	
}

到此处51已经控制8266热点建立完毕,可以连接WIFI了

5. 手机控制单片机执行任务

到这里,手机已经和8266连接,现在只需要写入单片机控制命令和服务程序就可以了

//串口终端来临,单片机接受指令,并存入缓冲区
void usart_()interrupt 4
{
    temp=SBUF;    //取出接收到的数据
    RI=0;     //清除接收中断标志位
 if(temp==':'||i>0)
 {
  receive[i]=temp;
  i++;
  if(temp=='\\n')
  {
   i=0;
  }
 }
}
//控制服务程序
 while(1)
	 {
       if(receive[1]=='1')
	       {    
              index++;
					  
					 if(index>=99)
						 index=0;
         }
     if(receive[1]=='0')     
		     {
             index--;
					
          if(index>=0)
              index=99;						
	 
          }
			if(receive[1]=='3')
	       {    //收到1点亮所有LED
              
					   P0=0XFF;
				
         }
     if(receive[1]=='4')     //否则熄灭所有LED
		     {
           
					 P0=0X00;
        			 
         }
   }
	 Motor_dec();//电机转动方向程序顺时针
	 Motor_add();//逆时针

}
}

将前后程序写入51,就可以完成控制,第三步完成。 本内容只为新手能快速入门,如有错误,请指正!

【手机控制51单片机-哔哩哔哩】https://b23.tv/GlFwyj

以上是关于Soft-AP模式建立和51连接,最详细的傻瓜式小白入门的主要内容,如果未能解决你的问题,请参考以下文章

用超级大傻瓜建立账户出现 基础连接已关闭未能为ssl/tls安全通道建立信任关系怎么办

Git使用教程:最详细最傻瓜最浅显真正手把手教!

Git使用教程:最详细最傻瓜最浅显真正手把手教!

Git使用教程,最详细,最傻瓜,最浅显,真正手把手教

Git使用教程:最详细最傻瓜最浅显真正手把手教!

史上最详细得虚拟机安装过程,傻瓜式操作