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