完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 谢燕璇 于 2019-8-2 14:32 编辑 一、概述 ESP8266是由乐鑫公司出品的一款物联网芯片,因为价格较低,性能稳定等收到很大关注。该芯片可工作于三种种模式下,分别是:AP模式,station模式以及混合模式,通过常用的AT指令进行控制。自芯片面世以来发行过多种型号。单单我用过的就有ESP8266-01,ESP8266-12F,ESP8266-12E这三种。当然,我没接触到过的型号还有很多。在使用这三种芯片时均是使其工作在AP模式下。所以,就拿这三个型号说一下ESP8266在AP模式下的配置吧(AP模式下通信协议为TCP,也就是说AP模式下的ESP8266相当于一个TCP服务器)。 二、ESP8266-01 因为ESP8266-01是比较早的型号,所以也存在诸多不完善的地方。一开始用的时候也走过很多弯路,例如:ESP8266-01型号不支持1200及2400的波特率(网上的资料说是支持的),就因为这个原因就玩坏了三块芯片,将近100人民币就打水漂了(幸亏指导老师还安慰我,学习的过程就是消耗的过程),一开始不知道什么原因,后来才发现是波特率的问题。因为一开始的测试用的普中V3.0的学习版,该板搭载的是12.0Mhz的晶振,而且身边也没有可以换的11.0592Mhz的晶振,没办法才选择了2400的波特率,最终导致三块ESP8266-01坏掉。而且坏掉后上电就出现乱码,这些乱码用“格西烽火串口助手”中的所有波特率都读不出来所以一旦出问题无法修复。另外,该芯片对电压要求出奇的高,标准3.3V,一点小的电压波动都会引起模块工作异常。网上曾有一种说法,“十个不能正常工作的芯片中就有八个是电压问题引起的”。(ESP8266-01的接线图如下) 三、ESP8266-12F ESP8266-12F相比于ESP8266-01有很多改进。首先12F的flash闪存比较大,另外12F支持机智云的MCU运行。当然,与增加的功能相适应,12F增加了很多IO口,一般是16个。但工作在AP模式下,二者并没有本质区别。但是12F有一个缺点就是需要自己搭建一些简单的外围电路。(接线图如下) > 四、ESP8266-01与ESP8266-12F工作在AP模式下的配置命令。 1.基本配置命令: AT+CIOBAUD=******//修改波特率为********(模块初始波特率默认为115200,该命令通过串口助手发送,重新上电后有效) AT+CWMODE=2//设置模块为AP模式 AT+CWSAP="111","222",11,0//设置wifi名字为111,密码是222,通道号是11,加密方式是OPEN(可以修改) AT+CIPMUX=1//启动多路连接方式(可以修改) AT+CIPSERVER=1,5000//开启server,端口号为5000(可以修改) AT+CIPSEND=0,5//向id为0的链接发送5字节数据(可以修改) 2.单片机控制程序:单片机型号为STC89C52RC,晶振11.0592MHz,波特率为9600(控制程序均为自己编写且测试有效) #include void Serial_Inti();//初始化程序(必须使用,否则无法收发) void Uart_Sends(unsigned char *str);//发送char型字符串 //void Delay1ms(unsigned int t);//1ms延时函数 unsigned char Uart_Receive();//接收字符子函数 void Uart_Dat(unsigned char dat);//数据发送子函数 void Wifi_Init();//wifi模块初始化 void Uart_Byte(char byte);//字节发送子函数 void Delay1ms(unsigned int t);//t ms延时子函数 /*串口初始化子函数*/ void Serial_Inti()//串口初始化,一定注意不要启动T1的串口中断 { TMOD = 0x20; SCON = 0x50; TH1 = 0xFD; TL1 = TH1; PCON = 0x00; ES=0;//关闭串口中断 TR1 = 1; } /*字符串发送子函数(用于配置)*/ void Uart_Sends(unsigned char *str) { while(*str!=' |