透?jìng)?/h2>
最近閑的在搗鼓WiFi,以太網(wǎng)連接網(wǎng),不過(guò)好像沒(méi)有那么多時(shí)間去研究cc3200,先從封裝好的芯片模塊開始玩起吧,這幾天準(zhǔn)備研究下ESP8266,由于手頭上是有一個(gè)透?jìng)鞯哪K,和一個(gè)塊STM32F4的板子,而且有對(duì)應(yīng)的代碼例程,所以先開始研究下,工作的大致過(guò)程。
那開始從esp8266的透?jìng)鏖_始:
所謂的透?jìng)骺梢赃@樣來(lái)理解:
透?jìng)骶褪侵覆恍枰P(guān)心wifi協(xié)議是如何實(shí)現(xiàn)的.所需要做的就是A通過(guò)串口發(fā)數(shù)據(jù),B通過(guò)串口收數(shù)據(jù),整個(gè)過(guò)程中A串口和B串口就像是用導(dǎo)線直接連接起來(lái)了一樣。則對(duì)于開發(fā)人員來(lái)看,就是完全透明的。既可以用下面這句來(lái)表示:
A----串口---->wifi - - --> 電磁波 - - --> wifi----->串口----->B
則對(duì)開發(fā)人員來(lái)講完全可以認(rèn)為是這樣的:
A------------------------ 串口 --------------------------->B
插好模塊就是上面的這兩個(gè)樣子的了。模塊別插反了,不然會(huì)發(fā)熱明顯,不過(guò)好像沒(méi)那么容易燒掉
那我得了解下無(wú)線網(wǎng)可以工作的幾種模式了,可以分為3類:station , ap , sttaion&ap:
1、station模式:Station, 類似于無(wú)線終端,sta本身并不接受無(wú)線的接入,它可以連接到ap,一般無(wú)線網(wǎng)卡即工作在該模式。
2、ap模式:Access Point,提供無(wú)線接入服務(wù),允許其它無(wú)線設(shè)備接入,提供數(shù)據(jù)訪問(wèn),一般的無(wú)線路由/網(wǎng)橋工作在該模式下。ap和ap之間允許相互連接。
3、sttaion&ap模式:就是兩個(gè)功能支持。
則可以理解為:station為終端,就像我們手機(jī)做終端設(shè)備,連到我們的無(wú)線路由器上。ap就好比是你手機(jī)開了熱點(diǎn),像是一個(gè)無(wú)線路由器,其他的終端可以連進(jìn)來(lái)。
=========================================
選模式的指令:
AT+CWMODE=1 //station模式
AT+CWMODE=2 //ap模式
AT+CWMODE=3 //sttaion&ap模式
==========================================
那么好像主要就是一些AT指令的介紹咯,一般這類的設(shè)備包括藍(lán)牙,wifi ,GSM模塊等等設(shè)備 的功能 都是封裝成了相應(yīng)的AT指令,我們要使用模塊的功能,對(duì)應(yīng)查找手冊(cè)就行。
那就開始列出一些,感覺常用用的到的吧。(其實(shí)在對(duì)應(yīng)廠商出的測(cè)試軟件里面就有了這個(gè)些常用的了)
這里有一篇博客,是把常用的指令,運(yùn)行和返回值圖都粘出來(lái)了,不熟的朋友可以看看:
https://blog.csdn.net/weixin_40153838/article/details/78824388
測(cè)試指令: AT
工作模式選擇: AT+CWMODE=3
復(fù)位重啟: AT+RST
感覺還是太多了,還是貼圖吧。
4.1 選擇要工作的模式
4.2 加入某個(gè)AP:
AT+CWJAP=”public”,”123456789”
4.3 列出當(dāng)前的可用AP列表
4.4 退出當(dāng)前AP的連接
4.5 設(shè)置AP模式下的參數(shù)
AT+CWSAP="ESP8266","0123456789",11,0
好像就把幾個(gè)最常用的列出來(lái)了。。。
測(cè)試工具可以用這個(gè)esp8266調(diào)試工具-v1.1:
鏈接:https://pan.baidu.com/s/1vqxeWSQ2jz800kHuF0Uvaw 提取碼:ycjh
=====================================================
下面這段例子就是一個(gè)兩個(gè)透?jìng)髂K,組成服務(wù)器和客戶端的寫法了:
1) 服務(wù)端
AT
AT+CWMODE=3
AT+RST
AT+CWJAP=”public”,”123456789” //這里是讓兩個(gè)模塊都連到一個(gè)無(wú)線網(wǎng)中(即在同一個(gè)局域網(wǎng)),不過(guò)服務(wù)端的這邊同時(shí)也支持ap功能
AT+CIPMUX=1
AT+CIPSERVER=1,8080 //設(shè)置自己為服務(wù)器,且斷口號(hào)為8080
(默認(rèn)端口號(hào)為8080)
AT+CIFSR //可以查看自身的ip,下面客戶端連接時(shí)候需要知道他的ip的
2) 客戶端
AT
AT+CWMODE=1
AT+RST
AT+CWJAP=”public”,”123456789” //連入局域網(wǎng)
AT+CIPMUX=0
AT+CIPMODE=1
AT+CIPSTART=”TCP”,”192.168.43.136”,8080 //連接上服務(wù)器
(此處使用的IP服務(wù)端查詢到的隨機(jī)分配給客戶端的IP)
AT+CIPSEND
///////////////////////////////////////////////////////////////////////////////////////////////
第二例子:
插上一個(gè)透?jìng)鳎?a target="_blank" class="infotextkey" style="box-sizing: border-box; color: rgb(68, 162, 3); text-decoration-line: none; background-color: transparent; border: 0px; margin: 0px; padding: 0px; outline: none;">筆記本,然后兩者都連入,同一個(gè)wifi網(wǎng)絡(luò)當(dāng)中,然后,在本本上設(shè)置一個(gè)服務(wù)器,透?jìng)髂K,做客戶端連入,然后完成兩者的數(shù)據(jù)收發(fā)。
服務(wù)端,隨便這個(gè)軟件設(shè)置,或者自己用QT寫個(gè)最簡(jiǎn)單的demo就OK了
客戶端:
AT
AT+CWMODE=1
AT+RST
AT+CWJAP=”public”,”123456789” //連入局域網(wǎng)
AT+CIPMUX=0
AT+CIPMODE=1 //開啟透?jìng)髂J?/p>
AT+CIPSTART=”TCP”,”192.168.43.136”,8080 //連接上服務(wù)器
(此處使用的IP服務(wù)端查詢到的隨機(jī)分配給客戶端的IP)
AT+CIPSEND // 開啟透?jìng)?/p>
> //輸入要發(fā)的數(shù)據(jù)
退出透?jìng)髂J降霓k法是發(fā)送+++(后面不要加回車)即可退出。
(記得退出透?jìng)髂J胶?,相?dāng)于結(jié)束發(fā)送,數(shù)據(jù)在對(duì)方那是接受不到了。不然要重新AT+CIPSEND開始透?jìng)鳎?/p>
則效果圖就是大概下面的樣子了。
服務(wù)端:
客戶端(即透?jìng)髂K):
/*AT+CWJAP="Honor 8","1234567"
AT+CIPMUX=1 //設(shè)置服務(wù)器
AT+CIPSERVER=1,7777//連接服務(wù)器
AT+CIPSTART="TCP","192.168.43.49",6000*/