引脚图及连接方式 
红色字体的引脚需要连接,其余不用连,只需了解 VCC:接3.3V的高电平(必须是3.3v 否则会烧坏模块) GND:接地 RX:模块串口通信的接收引脚,接到单片机的TX引脚。 TX:模块的发射端,接单片机的RX接口。 CH_PD:接高电平(和vcc引脚焊接起来) GPIO0:默认情况下不接线,在刷固件时要接低电平。 GPIO2:悬空 RST:低电平复位,默认悬空。 用下载器连接WiFi模块,然后用串口助手发送一下AT指令 串口助手附件 SSCOM.rar (267.9 KB, 下载次数: 127) 串口助手中波特率初始为115200,更改以后波特率将永久保存,除非再次更改 1、设置模块为ST模式:发送:AT+CWMODE=1;返回:OK 2、 查看当前WiFi列表:AT+CWLAP返回: OK 3、 加入当前无线网络:发送命令:AT+CWJAP=”MERSAIN”,”XXXXXXXX” 第一个填你想要连接的WiFi名称,第二个填WiFi的密码 4、查看当前模块IP地址:发送: AT+CIFSR返回:当前IP地址 5、开启多连接模式 :发送命令:AT+CIPMUX=1返回:OK 6、建服务器 发送命令:AT+CIPSERVER=1,8080(设置指令) 指令:AT+CIPSERVER=<mode>[,<port>]
说明:<mode>:0-关闭server模式,1-开启server模式 <port>:端口号,缺省值(默认值)为333 响应:OK 7、更改波特率为9600 AT+UART=9600,8,1,0,0(视单片机波特率而定) 更改波特率 wifi模块ESP8266的默认波特率是115200,但是单片机不能达到那么快的传输速率,只能使用9600bps,那么设置的时候,必不可少的要先用转串口调试下载器(速度比较快,而且wifi模块默认115200bps,用单片机不能正确更改波特率,转串口工具可以),设置指令,AT+UART=9600,8,1,0,0 在下载器连接模块时更改波特率 程序 向单片机下载程序时先不接模块,下载完成之后断电之后再连接模块 //此程序是手机连接ESP8266模块以后向模块发送字符a,控制单片机蜂鸣器的鸣与灭 #include<reg52.h> typedef unsigned char u8; typedef unsigned int u16; u8 dat; sbit beep=P2^3; void ConfigUART(u16 buad);//串口通信初始化函数,buad为单片机设置的波特率。 void Delay_ms(u16 n); void Uart_Send_String(u8 *string);//串口发送多个字节。 void Delay_Us(u8 us); void Sent_UART(u8 dat);//串口发送一个字节 void ESP8266_Init();//ESP8266初始化 void main() { EA = 1; ConfigUART(9600); ESP8266_Init(); while(1); } void ConfigUART(u16 buad) { SCON = 0x50; TMOD &= 0X0F; TMOD |= 0x20; TH1 = 256 - (11059200/12/32)/buad; TL1 = TH1; ET1 = 0; TR1 = 1; } void Sent_UART(u8 dat) { ES = 0; TI=0; SBUF = dat; while(!TI); TI = 0; ES = 1; } void Delay_Us(u8 us) { while(us--); } void Delay_ms(u16 n) { unsigned int i,j; for(i=0;i<n;i++) for(j=0;j<123;j++); } void Uart_Send_String(u8 *string) { while(*string) { Sent_UART(*string++); Delay_Us(5); } } void ESP8266_Init() { Uart_Send_String("AT\r\n"); Delay_ms(2000); Delay_ms(1000); Uart_Send_String("AT\r\n"); Delay_ms(2000); Delay_ms(1000); Uart_Send_String("AT+CIPMUX=1\r\n"); Delay_ms(2000); Delay_ms(1000); Uart_Send_String("AT+CIPSERVER=1,8080\r\n"); } void InterruptUART() interrupt 4 { if (RI) //接收到字节 { RI = 0; //手动清零接收中断标志位 dat = SBUF; //接收到的数据保存到接收字节变量中 if(dat=='a') { beep=~beep; } //接收到的数据又直接发回,叫作-"echo", //用以提示用户输入的信息是否已正确接收 } if (TI) //字节发送完毕 { TI = 0; //手动清零发送中断标志位 }
} 手机软件
这两个软件均可使用 以netassist为例 打开后点击tcp client 设置ip地址和端口号 ip地址看发送AT+CIFSR返回的IP值; 端口号看你发送的端口 AT+CIPSERVER=1,8080 这里是8080 然后连接 在发送框发送a即可控制蜂鸣器 |