? ? ? 之前在玩ESP8266-01,把學(xué)習(xí)的經(jīng)驗(yàn)寫出來(lái)讓大家共同學(xué)習(xí)。
首先,你要有一個(gè)ESP8266模塊,當(dāng)然,如果你買的是模塊,ESP8266的模塊竟然有十幾種,大概有這么幾個(gè)公司做它的模塊,首先是AI think,然后是什么WROOF,這第二個(gè)不知是啥,大概就是espressif的官方吧,賣的不多。不過淘寶大部分都是AI THINK的。
這是ESP8266的接線圖
ESP8266默認(rèn)的固件是使用AT指令來(lái)控制的,當(dāng)進(jìn)入AT指令模式以后上電就會(huì)出現(xiàn)如下一堆亂碼:
但是最后會(huì)有ready表示啟動(dòng)成功。需要注意的是,ESP8266工作電壓為3.3V。波特率一般為115200。
ESP8266有三種工作模式:
1.Station (客戶端模式)
2.AP (接入點(diǎn)模式)
3.Station+AP (兩種模式共存)
就是說(shuō)模塊可以當(dāng)成一個(gè)設(shè)備(client)連接區(qū)域網(wǎng)內(nèi)的路由,也可以設(shè)置成是一個(gè)路由(sever),也可以既作為局域網(wǎng)里面的client同時(shí)又是其他client的sever。
????下面我們可以嘗試一下配置ESP8266的指令(注意:每條AT指令后面都要加一個(gè)回車鍵再發(fā)送!!!輸入用串口軟件輸入,相當(dāng)于把電腦想象成單片機(jī)來(lái)用。):
一、先玩玩AP(sever)模式
1.輸入:AT+CWMODE=2
?響應(yīng):OK
說(shuō)明:指令原型為:AT+CWMODE=;其中:1-Station模式,2-AP模式,3-AP兼Station模式。
2.輸入:AT+RST
?響應(yīng): OK
說(shuō)明:配置好模式后需要重啟生效。
3.輸入:AT+CWMODE?
?響應(yīng):+CWMODE:2
? ? ? ?OK
說(shuō)明:這條指令可以不要,這是查詢當(dāng)前模式的指令,模式返回是2,說(shuō)明是AP模式。
4.輸入:AT+CWSAP="ESP8266","0123456789",11,0
?響應(yīng):OK
說(shuō)明:指令原型為:AT+ CWSAP=,,, ;其中:字符串參數(shù),接入點(diǎn)名稱;:字符串參數(shù),密碼最長(zhǎng)64字節(jié),ASCII;:通道號(hào);< ecn >:0-OPEN,1-WEP,2-WPA_PSK,3-WPA2_PSK,4-WPA_WPA2_PSK。
然后現(xiàn)在就可以在你的手機(jī)或者是電腦通過無(wú)線網(wǎng)卡連接到ESP8266上了。
5.輸入:AT+CIPMUX=1
?響應(yīng):OK
說(shuō)明:開啟多連接模式,因?yàn)橹挥性陂_啟多連接模式的時(shí)候才能開啟服務(wù)器模式。注意:透?jìng)髦荒茉趩芜B接模式下進(jìn)行。
6.輸入:AT+CIPSERVER=1,8080
?響應(yīng):OK
說(shuō)明:設(shè)置端口為8080。
最后,我們就可以通過網(wǎng)絡(luò)調(diào)試助手來(lái)通過“TCP Client”模式下添加“IP:192.168.4.1(模塊默認(rèn)的IP),端口8080(第6步設(shè)置的)”值得一提的是,ESP8266當(dāng)服務(wù)器的時(shí)候,客戶端如果沒有數(shù)據(jù)傳輸,隔一段時(shí)間會(huì)自動(dòng)斷開連接,可通過AT+CIPSTO= 命令設(shè)置超時(shí)時(shí)間(說(shuō)明: :服務(wù)器超時(shí)時(shí)間,0~2880,單位為s)。
二、再玩玩Station(client)模式
1.輸入:AT+CWMODE=1
?響應(yīng):OK
說(shuō)明:指令原型為:AT+CWMODE=;其中:1-Station模式,2-AP模式,3-AP兼Station模式。
2.輸入:AT+RST
?響應(yīng): OK
說(shuō)明:配置好模式后需要重啟生效。
3.輸入:AT+CWMODE?
?響應(yīng):+CWMODE:1
? ? ? ?OK
說(shuō)明:這條指令可以不要,這是查詢當(dāng)前模式的指令,模式返回是1,說(shuō)明是Station模式。再看電腦或者手機(jī)wifi連接窗口,剛才的熱點(diǎn)已經(jīng)消失了,說(shuō)明已經(jīng)把模式轉(zhuǎn)換為了客戶端模式。
4.輸入:AT+CWLAP
?響應(yīng):+CWLAP:(4,"呭摜",-84,"78:eb:14:f3:9c:1a",1)
+CWLAP:(4,"509509",-53,"20:dc:e6:d0:3b:3c",1)
+CWLAP:(4,"bing2014",-73,"ec:88:8f:63:40:d4",1)
+CWLAP:(3,"瀵嗙爜鏄?883125",-80,"7e:2f:68:6b:df:5e",11)
OK
說(shuō)明:可以讓模塊搜索周圍的信號(hào)了,列出可以連接的熱點(diǎn)(中文顯示為亂碼)。
5.輸入:AT+CWJAP="509509","ldzldz509"?
? ? ?響應(yīng):OK
說(shuō)明:指令原型為:AT+CWJAP=,),ssid就是wifi的名字,pwd就是wifi的密碼。
6.輸入:AT+CWJAP?
?響應(yīng):+CWJAP:”509509”
? ? ? ?OK
說(shuō)明:這條指令可以不要,這是查詢一下當(dāng)前連接的AP。
7.輸入:AT+CIFSR
?響應(yīng):192.168.1.104
? ? ? ?OK
8.輸入:AT+CIPSTA_CUR=”192.168.6.100”,"192.168.6.1","255.255.255.0"
? ? ?響應(yīng):OK
說(shuō)明:這條指令可以不要,這是分配固定ip。
說(shuō)明:通過路由器查看下模塊的IP地址。如果模塊之前我們?cè)O(shè)置成了AP和Station共存模式,則會(huì)出現(xiàn)兩個(gè)IP,上面的APIP是作為無(wú)線AP的IP地址。下面的STAIP是它作為客戶端從路由器獲取到的IP 地址。
ESP8266是有寄存器的,所以即使重啟連接信息也不會(huì)丟失,重啟后再查詢,發(fā)現(xiàn)會(huì)自動(dòng)連接。使用電腦ping一下這個(gè)ip,ip是可以ping通的,說(shuō)明連接正常。
C:\Users\Administrator>ping 192.168.1.104
正在 Ping 192.168.1.104 具有 32 字節(jié)的數(shù)據(jù):
來(lái)自 192.168.1.104 的回復(fù): 字節(jié)=32 時(shí)間=65ms TTL=255
來(lái)自 192.168.1.104 的回復(fù): 字節(jié)=32 時(shí)間=95ms TTL=255
來(lái)自 192.168.1.104 的回復(fù): 字節(jié)=32 時(shí)間=102ms TTL=255
來(lái)自 192.168.1.104 的回復(fù): 字節(jié)=32 時(shí)間=18ms TTL=255
192.168.1.104 的 Ping 統(tǒng)計(jì)信息:
數(shù)據(jù)包: 已發(fā)送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),
往返行程的估計(jì)時(shí)間(以毫秒為單位):
? ? 最短 = 18ms,最長(zhǎng) = 102ms,平均 = 70ms
通過路由器管理界面查看到模塊的MAC地址為:18-FE-34-9C-8B-9D
可以調(diào)整一下路由器的IP分發(fā)策略,讓這個(gè)mac地址獲得固定的ip,這樣每次連接路由器之后就不用查看ip了。配置后提示要重啟路由器才生效,沒關(guān)系以后有時(shí)間再重啟。
8.輸入:我們用來(lái)調(diào)試的這臺(tái)電腦(電腦也需連接同一個(gè)路由器)上建立一個(gè)TCP服務(wù)器,然后用我們剛剛連接到路由器的ESP8266模塊連接到我們建立的這個(gè)TCP服務(wù)器上,然后在這個(gè)模塊與服務(wù)器之間轉(zhuǎn)輸數(shù)據(jù)。用到的工具是網(wǎng)絡(luò)助手NetAssist.exe,運(yùn)行后在網(wǎng)絡(luò)協(xié)議類型:TCP Server ,然后點(diǎn)“連接”按扭,成為一臺(tái)TCP服務(wù)器。
9.輸入:AT+CIPSTART="TCP","192.168.1.100",8080
?響應(yīng):CONNECT
? ? ? ?OK
說(shuō)明:192.168.1.100為服務(wù)器IP地址;8080為端口。
10.輸入:AT+CIPSEND=4 ?
?響應(yīng):OK
說(shuō)明:意思是發(fā)送四個(gè)字節(jié)的數(shù)據(jù)。
11.輸入:ABCD?
?響應(yīng):SEND OK
說(shuō)明:NetAssist會(huì)收到ABCD四個(gè)字母。
這里他以十六進(jìn)制顯示出來(lái)了。
12.把網(wǎng)絡(luò)助手的“連接對(duì)象”選擇成我們的模塊IP地址,在下面輸入:CDEFG,點(diǎn)發(fā)送,會(huì)在串口工具收到+IPD,5:CDEFG。意思是接收到的數(shù)據(jù)長(zhǎng)度為5個(gè)字節(jié),CDEFG為數(shù)據(jù)內(nèi)容。
三、Station(client)模式下與手機(jī)通信
1.輸入:AT+CWMODE=3
?響應(yīng):OK
說(shuō)明:指令原型為:AT+CWMODE=;其中:1-Station模式,2-AP模式,3-AP兼Station模式。
2.輸入:AT+RST
?響應(yīng): OK
說(shuō)明:配置好模式后需要重啟生效。
3.輸入:AT+CWMODE?
?響應(yīng):+CWMODE:3
? ? ? ?OK
說(shuō)明:這條指令可以不要。
4.輸入:AT+CWSAP="ESP8266","0123456789",11,0
?響應(yīng):OK
說(shuō)明:指令原型為:AT+ CWSAP=,,, ;其中:字符串參數(shù),接入點(diǎn)名稱;:字符串參數(shù),密碼最長(zhǎng)64字節(jié),ASCII;:通道號(hào);< ecn >:0-OPEN,1-WEP,2-WPA_PSK,3-WPA2_PSK,4-WPA_WPA2_PSK。
然后現(xiàn)在就可以在你的手機(jī)或者是電腦通過無(wú)線網(wǎng)卡連接到ESP8266上了。
打開手機(jī)上的有人網(wǎng)絡(luò)助手,TCP server→配置→激活→能看到此時(shí)手機(jī)的IP和端口號(hào),要記下,下面要用。
5.輸入:AT+CIPMODE=1
?響應(yīng):OK
說(shuō)明:開啟透?jìng)髂J健?br />
6.輸入:AT+CIPMUX=0
?響應(yīng):OK
說(shuō)明:開啟單路模式。
?7.輸入:AT+CIPSTART="TCP","192.168.4.2",8080
?響應(yīng):CONNECT
? ? ? ?OK
說(shuō)明:192.168.4.2為服務(wù)器IP地址;8080為端口。填剛才記下的手機(jī)IP和端口號(hào)
這時(shí)手機(jī)已經(jīng)能向模塊發(fā)信息了,但模塊不能發(fā)。?
8.輸入:AT+CIPSEND
?響應(yīng):OK
說(shuō)明:退出透?jìng)髂J健?/p>
評(píng)論