置頂文字

歡迎來訪 !! 如有任何問題歡迎一起討論或是 eMail 給我 legorunmail@Gmail.com

2015年11月25日 星期三

Arduino 與無線WIFI ESP8266 使用

Arduino 與無線WIFI ESP8266 使用

參考文章   參考文章  ESP8266與Android溝通   ESP8266與Web應用  ESP8266

克里斯遊戲自己做文章  ESP8266-12應用  DIY想像力Blog

ESP8266設定AP   ESP8266Code  ESP8266 AT Command

資料上傳到Web

這幾篇文章寫的太好了幾乎ESP8266的問題從接線、設定到韌體升級都寫的非常詳細,照著做幾乎都能成功。

3.3V電源供電的方式很多,我是從Arduino UNO 3.3V供電升級韌體,Baud Rate設成9600
注意事項:韌體升級要求的電源比較嚴格,我用Arduino UNO 3.3V一孔拉出2條接ESP8266在RealTerm執行 AT Command都沒問題,但韌體升級就會出現無法連接的錯誤訊息,後來用3.3V電源才能正常升級。


常用AT Command如下

AT ------------------->回應OK代表連線正常
AT+GMR----------->取得目前的韌體版本號碼


ESP8266的Wifi連線有三種模式:
  1. Station模式:扮演連線到現有Wifi的裝置。
  2. AP模式:扮演無線基地台,提供Wifi環境供連線。
  3. Station+AP混合模式:允許同時使用以上兩種模式的特有功能
取得目前Wifi連線模式:
指令「AT+CWMODE」
「AT+CWMODE?」查詢當前模式
「AT+CWMODE=2」將模式設定為第2種(AP模式)。

指令「AT+CWLAP」
顯示可連線的Wifi網路清單。

指令「AT+CWJAP」
「AT+CWJAP=,」連線到已存在的無線網路。
「AT+CWJAP?」查詢已連線到的無線網路。
:無線網路的識別名稱(要加引號)。
:無線網路的密碼(要加引號)。
如果需要切斷 Wifi連線,我們可以也可使用這個指令:
指令「AT+CWQAP」
切斷已連線的無線網路。 




一鍵燒錄更新軟體   GITHUB


測試ESP8226與電腦連線使用TelNet方式

如果你想使用自己設定的Port 可以用Telnet方式來測試
1.先把ESP8226連上WIFI設備
 Wifi連線模式設為 Station模式:AT+CWMODE=1   確認OK

2.列出目前的Wifi清單:AT+CWLAP
請先看是否有目標 wifi名稱出現

3.準備與WIFI連線:AT+CWJAP="PALMONE","123456789"  確認OK

4.如果連線成功 AT+CIFSR 會有一組IP:192.168.1.185  如果沒連上WIFI回傳IP:0.0.0.0

5.把ESP8266當Server端讓筆電連上:把ESP多重連線打開 AT+CIPMUX=1 確認OK

6.ESP8266 開啟伺服器與Port :AT+CIPSERVER=1,8087  ,Port:8087 確認OK

以上步驟ESP8266就準備完成等待Client端請求連線

筆電部份:
我是用MacBook 
1.先連上與ESP8266相同的WIFI,這動作讓筆電與ESP8266在同一網域,不同網域請先設定的路由器讓不同網域可以溝通

2.打開超級終端機 Ping 192.186.1.185 你會看到回應訊息代表IP位置存在

3.在超級終端機輸入telnet 192.168.1.185 8087  連線,如果成功ESP8266會出現Link訊息

4.測試訊息傳送在ESP8226這邊AT+CIPSEND=0,5 表示跟第1個連線裝置溝通 長度5,ESP8266最多同時能跟5個Client連線代碼 0 ~ 4

5.輸入Hello字串按Send ASCII鈕,接著在筆電的電超級終端機會收到Hello這5個字串顯示,代表ESP8266與筆電可以互傳訊息了


前前後後花了3天重複閱讀克里斯的文章與執行步驟,先幫ESP8266更新韌體把Baud Rate設成9600


非常感謝網友克里斯對 ESP8266 各種疑難雜症的分享與解釋讓我能順利的測試成功,不然像我這種對電子學完全不懂得門外漢是不可能理解 ESP8266每支腳位的代表意義

Arduino 程式
#include "ESP8266.h"
#include 

SoftwareSerial mySerial(3, 2); /* RX:D3, TX:D2 */
ESP8266 wifi(mySerial);
ESP8266_TX->RX(D3)
ESP8266_RX->TX(D2)
ESP8266_CH_PD->3.3V
ESP8266_VCC->3.3V
ESP8266_GND->GND



沒有留言:

張貼留言