WIFI模組ESP8266使用總結和示例
ESP8266這個模組真的很便宜,但比之前用過的各種wifi模組都難折騰。主要是很多細節說明書都沒怎麼提及,或者是我沒看仔細。總之,本篇就根據我的使用經歷來教大家如何折騰這東東。
引腳連線:
GND:接地
GPIO16:其實是RST,低電平復位,所以為了正常工作,直接連線VCC即可
VCC:接3.3V,看過其他教程說不能接5V,不過小編有試過直接用5V來把玩,玩了一段時間都沒啥問題,可以正常使用。但是有個問題就是晶片很燙,所以用久了可能會燒壞模組,而且wifi模組一過熱,連線會很慢。所以,儘量用3.3V。
UTXD、URXD:前者接微控制器或USB轉串列埠模組的RXD,後者接TXD。這兩個可以和5V微控制器的RXD、TXD連線,經測試通訊正常,無需5V轉3,3V
GPIO2、GPIO0:懸空
CH_PD:看一些教程說可以直接接VCC,但經測試不行,電流太大了,所以要經電阻連線到VCC,也就是串聯個電阻然後電阻再接到VCC,電阻的阻值:數k。小編用4.7k,其實這個沒什麼嚴格限制
除錯:
除錯用的是USB轉串列埠模組,根據上面的引腳連線配合麵包板進行連線。然後就可以插電腦開串列埠助手來除錯了。
波特率的話得自己試,有可能是9600或115200,甚至是其他的。小編有一塊是9600一塊是115200。怎麼試 呢?
在串列埠助手勾傳送新行,然後傳送AT+RST,如果先出現一堆亂碼最後帶個ready則說明試對了。然後說明該模組
正常是什麼大問題了,還不放心的話還可以嘗試其他AT指令配合TCP除錯工具來測試。
示例:
用微控制器通過該模組和上位機通訊的例子(AP模式)
code uchar at_1[14]={'A','T','+','C','I','P','M','U','X','=','1',0x0D,0x0A,'\0'};
code uchar at_2[17]={'A','T','+','C','I','P','S','E','R','V','E','R','=','1',0x0D,0x0A,'\0'};
經過上一步的除錯,測試後覺得該模組沒問題,就可以直接根據引腳連線和微控制器連線了。
在微控制器的初始化程式中要發這兩個字串到wifi模組,先發at_1[14],延時100ms,再發
at_2[17]。當然不一定要在初始化程式中發這兩串,也可以在按鍵中斷中傳送,需要建立連線的時候按下按鍵行了。
這兩個AT指令就當做是在建立連線就行。傳送完這兩句之後就可以用上位機連線wifi模組了。
wifi模組的IP為:192.168.4.1 埠號:333 ;
ESP8266的出產設定都這個IP和埠,一般不會出錯。如果不放心
可以用串列埠除錯發AT+CIFSR=? ,會返回模組的IP和埠號。
PS:後面的0x0d,0x0a相當於傳送新行的功能,不加的話AT指令無效!
做完這幾步就可以和上位機進行wifi連線了!
注意:關於微控制器接收來自上位機的字串,由於wifi會自動在接收的
內容前面自動加“+IPD,x,x:"的字元,所以接收的時候記得加個判斷,截掉”:“前面的字元,留下後面的就是
來自上位機的內容了。
好吧,需要注意的東西就這些,希望對大家有幫助!
補:常用的幾個AT指令
AT+CWMODE=3
:STA+AP模式
AT+RST:復位
AT+CIPMUX=1:多連線
AT+CIPSERVER=1:建立伺服器
AT+CIFSR:查詢模組IP埠
AT+CIPSERVER=1,6000:建立伺服器的同時順便設埠號
AT+CIPMUX=0:單連線
AT+CIPSEND=0,1:向連線序號為0的連線發1個位元組