引腳圖及連接方式 
紅色字體的引腳需要連接,其余不用連,只需了解 VCC:接3.3V的高電平(必須是3.3v 否則會(huì)燒壞模塊) GND:接地 RX:模塊串口通信的接收引腳,接到單片機(jī)的TX引腳。 TX:模塊的發(fā)射端,接單片機(jī)的RX接口。 CH_PD:接高電平(和vcc引腳焊接起來(lái)) GPIO0:默認(rèn)情況下不接線,在刷固件時(shí)要接低電平。 GPIO2:懸空 RST:低電平復(fù)位,默認(rèn)懸空。 用下載器連接WiFi模塊,然后用串口助手發(fā)送一下AT指令 串口助手附件 SSCOM.rar (267.9 KB, 下載次數(shù): 127) 串口助手中波特率初始為115200,更改以后波特率將永久保存,除非再次更改 1、設(shè)置模塊為ST模式:發(fā)送:AT+CWMODE=1;返回:OK 2、 查看當(dāng)前WiFi列表:AT+CWLAP返回: OK 3、 加入當(dāng)前無(wú)線網(wǎng)絡(luò):發(fā)送命令:AT+CWJAP=”MERSAIN”,”XXXXXXXX” 第一個(gè)填你想要連接的WiFi名稱,第二個(gè)填WiFi的密碼 4、查看當(dāng)前模塊IP地址:發(fā)送: AT+CIFSR返回:當(dāng)前IP地址 5、開(kāi)啟多連接模式 :發(fā)送命令:AT+CIPMUX=1返回:OK 6、建服務(wù)器 發(fā)送命令:AT+CIPSERVER=1,8080(設(shè)置指令) 指令:AT+CIPSERVER=<mode>[,<port>]
說(shuō)明:<mode>:0-關(guān)閉server模式,1-開(kāi)啟server模式 <port>:端口號(hào),缺省值(默認(rèn)值)為333 響應(yīng):OK 7、更改波特率為9600 AT+UART=9600,8,1,0,0(視單片機(jī)波特率而定) 更改波特率 wifi模塊ESP8266的默認(rèn)波特率是115200,但是單片機(jī)不能達(dá)到那么快的傳輸速率,只能使用9600bps,那么設(shè)置的時(shí)候,必不可少的要先用轉(zhuǎn)串口調(diào)試下載器(速度比較快,而且wifi模塊默認(rèn)115200bps,用單片機(jī)不能正確更改波特率,轉(zhuǎn)串口工具可以),設(shè)置指令,AT+UART=9600,8,1,0,0 在下載器連接模塊時(shí)更改波特率 程序 向單片機(jī)下載程序時(shí)先不接模塊,下載完成之后斷電之后再連接模塊 //此程序是手機(jī)連接ESP8266模塊以后向模塊發(fā)送字符a,控制單片機(jī)蜂鳴器的鳴與滅 #include<reg52.h> typedef unsigned char u8; typedef unsigned int u16; u8 dat; sbit beep=P2^3; void ConfigUART(u16 buad);//串口通信初始化函數(shù),buad為單片機(jī)設(shè)置的波特率。 void Delay_ms(u16 n); void Uart_Send_String(u8 *string);//串口發(fā)送多個(gè)字節(jié)。 void Delay_Us(u8 us); void Sent_UART(u8 dat);//串口發(fā)送一個(gè)字節(jié) 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) //接收到字節(jié) { RI = 0; //手動(dòng)清零接收中斷標(biāo)志位 dat = SBUF; //接收到的數(shù)據(jù)保存到接收字節(jié)變量中 if(dat=='a') { beep=~beep; } //接收到的數(shù)據(jù)又直接發(fā)回,叫作-"echo", //用以提示用戶輸入的信息是否已正確接收 } if (TI) //字節(jié)發(fā)送完畢 { TI = 0; //手動(dòng)清零發(fā)送中斷標(biāo)志位 }
} 手機(jī)軟件
這兩個(gè)軟件均可使用 以netassist為例 打開(kāi)后點(diǎn)擊tcp client 設(shè)置ip地址和端口號(hào) ip地址看發(fā)送AT+CIFSR返回的IP值; 端口號(hào)看你發(fā)送的端口 AT+CIPSERVER=1,8080 這里是8080 然后連接 在發(fā)送框發(fā)送a即可控制蜂鳴器 |