Arduino筆記(32):USB to TTL(CP2102) 與ESP8266-01S 無線網路模組

在網路上買了一片 ESP8266 無線網路模組,想說要利用無線網路控制 Arduino 小車可是放了好一段時間都沒進一步行動,主要是一直搞不定使用USB to TTL連接 ESP8266的設定,原因是我使用USB to TTL 晶片是CH340。後來改用 CP2102的晶片,一連接到電腦,用 RealTerm通訊軟體連接就可以用了。只能假設我買的 CH340 那個 USB to TTL有問題。

目前雖有一片 W5100的有線網卡,但小車行走時,總不能拖著一條網路線,那就不方便了。最好是能透過藍牙(Bluetooth)或無線網路(WiFi)操控小車。就先了解一下如何設定 ESP8266模組,屆時再應用至小車或其他家庭自動化的應用。

雖然已經使用NodeMCU製作了幾個無線網路的應用,本篇文章就來研究一下,如何將一片 ESP8266-01S 與 USB to TTL 的串列通訊作法,同時紀錄一下 AT 的指令,要查閱時會比較方便些。

[材料]

•  USB 轉 UART 模組 (CP2102 晶片)
•  ESP8266 ESP01 無線網路模組
• 連接線 x 5條

[接線圖]


[電腦操作方式]

• 先確定插上USB to TTL時,電腦是否能取得連接埠?可以找到電腦的 [控制台] →[硬體和音效]→[裝置管理員]→[連接埠],檢查一下是否有出現 COM 的號碼?



[PC端連線軟體]
•  Realterm : 可以到 這裡 下載
•  ESP8266 Config : 可以到 這裡 下載

[設定參數]

• 顯示使用 Ansi 方式呈現,就不會像使用 ASCII 每行最後有換行符號
• 速率我使用 9600 Buads,如果選擇的速度不對,也無法回應


[AT指令]
AT 指令
說明
執行結果
AT+CWLAP
列出附近偵測得到的基地台
回應的第一碼為加密模式:
0      Open
1      WEP
2      WPA-PSK
3      WPA2-PSK
4      WPA/WPA2-PSK
第二個字串是基地台名稱
(註:此指令只能在 STA (=1) BOTH (=3) 模式下才會回應, AP 模式下會出現 ERROR.)
AT+CWLAP
+CWLAP:(3,"123",-82,"f8:35:dd:b0:16:d2",1,5,0) +CWLAP:(4,"lee",-61,"78:32:1b:6a:d9:4a",2,41,0)
+CWLAP:(4,"D-Link_DIR-612",-89,"78:32:1b:6a:ff:6e",2,48,0)
OK
AT+GMR
取得韌體版本
AT+GMR
AT version:1.2.0.0(Jul 1 2016 20:04:45)
SDK version:1.5.4.1(39cb9a32)
Ai-Thinker Technology Co. Ltd.
Dec  2 2016 14:21:16  
AT+RST
重新起動 ESP8266
Ai-Thinker Technology Co. Ltd.
ready
AT+CIFSR
查詢 IP 位址
註:當模式為STA , 若尚未用 CWJAP 連接基地台, 會看到 0.0.0.0IP, 連線後才會被指派一個 192.168.X.X 的區網 IP
AT+CIFSR
+CIFSR:STAIP,"0.0.0.0"
+CIFSR:STAMAC,"ec:fa:bc:31:10:ef"
AT+CWMODE?
查詢目前工作模式
AT+CWMODE?
+CWMODE:1
AT+CWMODE=n
指定工作模式
1      Station模式
2      SoftAP模式
3      Station + SoftAP 模式
AT+CWMODE=1
OK
AT+CWJAP="SSID","PWD"
連線指定之基地台
AT+CWJAP="MyHome","12345678"
WIFI CONNECTED 
WIFI GOT IP
OK
AT+CWJAP?
查詢目前連線到哪一個基地台
+CWJAP:"MyHome","12:d8:c7:fc:84:d8",6,-54
AT+CIPSTA?
查詢目前的IP, Gateway netmask
AT+CIPSTA?  
+CIPSTA:ip:"192.168.1.138" 
+CIPSTA:gateway:"192.168.1.1" 
+CIPSTA:netmask:"255.255.255.0"
AT+CWQAP
與目前連線的基地台斷線
AT+CWQAP 
OK
WIFI DISCONNECT
AT+CIPSTART
建立 TCP/UDP 連線,後面帶三個參數:(1) TCPUDP(2)網址或IPPort
AT+CIPSTART="TCP","atceiling.blogspot.com",80
CONNECT
AT+CIPSTATUS
查詢目前IP 連線狀態
AT+CIPSTATUS 
STATUS:3 
+CIPSTATUS:0,"TCP","172.217.160.65",80,13269,0
OK                                            
AT+CIPCLOSE
關閉 IP 連線
AT+CIPCLOSE
CLOSED
OK   
AT+CIPMUX?                                                           
設定 TCP/UDP 連線模式0=單一連線模式
1=多重連線模式   
AT+CIPMUX?                                                     
+CIPMUX:0   
AT+CIPSTO?

查詢伺服器逾時計時器設定值,[預設]180
AT+CIPSTO?
+CIPSTO:180  
AT+UART_DEF=115200,8,1,0,3

設定速率
AT+UART_DEF=<baudrate>, <databits>, <stopbits>, <parity>, <flow control>
AT+UART_DEF=115200,8,1,0,3
OK

[參考資料]

• Medium Programming:Getting Started with the ESP8266

1 留言

張貼留言

較新的 較舊