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