麻花豆传媒剧国,亚洲国产精品无码,欧州黄片视频免费观看,外国性生活一区二区

問答

如何用arduino來測試ESP8266 WIFI模塊

提問者:yangshuan62016-09-23 00:00

最佳答案

  首先,我估計大家都沒有USB TO TTL 硬件,也不是所有的壇友都有mangoII,所以我今天就寫個特別的arduino程序,讓arduino變成一個串口轉(zhuǎn)發(fā)器。  原理很簡單。。從串口芯片到單片機和這個口是個并聯(lián)關系。。然后usb 到這個IO口有1k電阻,我就啟用了單片機的內(nèi)上拉稍微平衡下阻抗,,就把arduino板子作為usb to ttl工具了。。嘿嘿  (本設置在mangoII板硬件環(huán)境下測試通過,不確定其他硬件是否可以使用,請自行嘗試)  代碼如下:  ARDUINO 代碼復制打印  void setup() {  pinMode(0,INPUT_PULLUP);  pinMode(1,INPUT_PULLUP);    }    void loop() {  // put your main code here, to run repeatedly:    }  因為程序很簡單,我又偷懶就沒寫注釋了。主要內(nèi)容就是創(chuàng)建一個軟串口,軟串口接模塊 ,然后讓軟串口的回顯數(shù)據(jù)轉(zhuǎn)發(fā)到硬件串口,硬件串口的輸入數(shù)據(jù)轉(zhuǎn)發(fā)到軟串口。  下面來介紹下接線  3V3 ------------ VCC  ARDUINO GND ------------ GND esp8266  IO1 ------------ TX  IO0 ------------ RX  注意,TX 是直接對應板子上的TX RX 對應RX。,。原因自己思考下。  非常簡單的接線,就是把我們的WIFI模塊接到arduino的軟串口上,需要注意的是,wifi模塊是3.3V供電。  好了。已經(jīng)全部準備好了。我們要正式開始了。首先我們打開串口監(jiān)視器,然后重新插拔一下模塊的VCC接線(讓模塊重啟,顯示其啟動信息),你應該能看到如下圖所示的啟動信息,說明已經(jīng)沒有任何問題了。  1.png  前面的亂碼是因為模塊啟動信息的波特率與后面啟動后不一致造成的,不管就行了  重點來了看窗口的右下角“沒有結束符”  這個要選擇成“回車”如下圖  1.png  我們輸入下面這個指令  AT+Reset  復制代碼  點擊發(fā)送后,模塊會重啟  顯示如下  AT+Reset  done  返回字符是done 為啥d沒了呢,實際上是有的。可能是軟串口的bug,這個我們不研究了。。反正能用知道就行了,不影響使用。  好上面的重啟命令我們等會會經(jīng)常用到  下面,我們要查詢一下模塊的工作模式,模塊一共有三種工作模式1.Station 2.AP 3.Station+AP 第一種是客戶端模式,第二種是接入點模式,第三種是兩種模式共存。既然我們是登陸路由器然后往指定網(wǎng)絡傳數(shù)據(jù),所以我們選第一種模式。。  設置之前先查詢  AT+MODE?  復制代碼  返回內(nèi)容:  AT+MODE?  +MODE:0  done  這個0就是沒配置的意思。。我們配置成1即可  用這個命令來設置  AT+MODE=1  復制代碼  這樣就設置成模式1了。具體的詳細指令請參閱上面的指令手冊以及自己多嘗試  返回如下:  AT+MODE=1  one  坑爹的d又丟了,不管~~~這個時候,關鍵的時刻來了,這時候雖然設置了。但還沒有生效,需要重啟模塊。還記得我之前說的指令么?我就不重復寫了。。反正這時候要重啟(拔電源插頭也是可以的)  然后我們來查詢下  AT+MODE?  復制代碼  返回如下:  AT+MODE?  +MODE:1  done  大概就是這樣就設置好模式了。  我們后面就暫時不介紹回顯內(nèi)容了,很簡單  然后就是查詢一下附近能搜索到的wifi網(wǎng)絡信號  AT+ShowAP  復制代碼  回顯內(nèi)容就是周圍wifi信號  看到自己的wifi就可以加入網(wǎng)絡了  AT+JoinAP="SSID","PASSWD"  復制代碼  很簡單的命令對吧,前面寫SSID號,后面寫密碼。回車發(fā)送命令就可以加入網(wǎng)絡了。記得加完網(wǎng)絡重啟下模塊  好了,這樣模塊就連上路由器了  下面就需要有個小工具,在自己計算機(局域網(wǎng)內(nèi))上建立一個TCP端口的監(jiān)聽,來模擬服務器  小工具連接  我計算機IP是192.168.1.101 我打算監(jiān)聽8089端口,如下圖配置,監(jiān)聽(當然你也可以監(jiān)聽你需要的任何端口)  tcp.png  (說明:任何網(wǎng)絡服務器都可以看成是工作在指定端口,負責解析指定協(xié)議的端口監(jiān)聽器)  設置模塊到單鏈接模式(只能使用一個連接的模式,這種比較方便簡單,多鏈接模式我們以后再講)  AT+MUX=0  復制代碼  然后重啟模塊(拔電或者用reset指令都可以)  好了。以上的設置模塊設置一次后,斷電后還是會有記憶的。。也就是說只需要配置一次。。下面開始建立TCP連接啥的。斷電不會重連了。。  下面我們在模塊上建立一個TCP的連接  使用指令  AT+NewSTA=“TCP”,“192.168.1.101”,8089  復制代碼  很簡單的指令,首先說明連接類型,目標ip地址,端口號。。這樣就建立好了。。  然后我們就能發(fā)送數(shù)據(jù)了  指令  AT+UpDate=11  復制代碼  然后串口會返回一個>號,我們繼續(xù)輸入hello world發(fā)送  這樣就會從TCP監(jiān)聽的一端看到數(shù)據(jù)了。很簡單吧  指令后面的11的意思就是你要發(fā)送的字符的長度。系統(tǒng)是靠字符長度判斷一句話是否可以發(fā)送,所以我們的數(shù)據(jù)長度要和下面要發(fā)送的字符串的長度等長才行。。  簡單的教程目前就到這里了,有助于大家理解AT指令的使用。  另外我們還有一個arduino的庫,雖然目前開發(fā)的不太完全,基本函數(shù)都開發(fā)完了,例程還沒寫好,bug可能還有不少,也都在調(diào)試中,有興趣的可以去看看

回答者:Npmutkhs2016-09-25 00:00

相關問題

車友關注

最新標簽

按字母分類:
ABCDEFGHIJKLMNOPQRSTWXYZ0-9