1. 程式人生 > >esp8266(0) AT指令

esp8266(0) AT指令

src 從服務器 ted png res 重連 aud ans 就是

http://www.shaoguoji.cn/2017/01/15/ESP8266-usage/

技術分享圖片

技術分享圖片

註意事項

使用WiFi模塊的一些細節及註意事項

  1. 模塊使用3.3V供電,一定註意電源的穩定,一些USB轉串口模塊電源不能滿足要求。

  2. 模塊在連接WiFi後若斷電,則會在下一次上電後自動重連。同理,模塊在透傳模式下斷電後,下次上電仍會進入透傳模式,不響應AT指令,很容易誤以為模塊壞了

  3. 如果斷開TCP連接時沒有實現完整的TCP退出流程,ESP8266 會判斷為異常開,對TCP server 進行重連。

  4. AT指令一定以回車換行符”\r\n”結尾

    ,但退出透傳模式需發送不帶回車換行+++

1sta模式連接WiFi演示

連接到路由器, arduino 結尾選擇,技術分享圖片

技術分享圖片

普通串口軟件註意勾選“發送新行”

技術分享圖片

  1. 發送 AT+CWMODE=1 指令配置模塊為sta模式(參數1,2,3分別對應模式sta,AP和sta/AP)。

  2. 發送 AT+CWLAP 指令掃描當前附近WiFi,模塊會返回可用AP列表。 技術分享圖片

  3. 使用 AT+CWJAP="WiFi名稱","WiFi密碼" 連接到指定的路由器,比如我在圖書館的WiFi是 “lib-free-wlan01”,密碼是“zhku-lib”,實際連接WiFi發送的指令就是 AT+CWJAP="lib-free-wlan01","zhku-lib"

  4. 返回的“WIFI CONNECTED”說明連接成功,“WIFI GOT IP”代表模塊分配到了IP。

  5. 最後可使用 AT+CWQAP 斷開當前連接的WiFi。技術分享圖片

2AP模式參數設置演示

連完WiFi那接下來就“開WiFi”吧!AP模式和手機開熱點一樣,只需設置WiFi名稱和密碼即可。

  1. 先使用 AT+CWMODE=2 指令配置模塊為AP模式
  2. 發送 AT+CWSAP="ESP8266","12345678",3,4 設置AP的ssid為“ESP8266”,密碼12345678,最後兩個參數3和4分別表示信道和加密方式。
  3. 手機連上模塊的WiFi,使用 AT+CWLIF 可查看當前連接到AP的客戶端列表。
  4. 技術分享圖片

3透傳模式下WiFi模塊與服務器TCP網絡通訊演示

指令描述
AT+CIPSTATUS 查詢網絡連接信息
AT+CIPMUX 設置多連接模式
AT+CIPSTART 建立TCP連接UDP傳輸或者SSL連接
AT+CIPCLOSE 關閉TCP/UDP/SSL傳輸
AT+CIPMODE 設置透傳模式
AT+CIPSEND 發送數據

打開“網絡調試助手”,左側選擇“TCP服務器”,輸入自定的端口號(1024-65535),點擊“連接”按鈕開始監聽本機TCP連接請求。在進行下一步之前,請確保電腦和WiFi模塊連接到同一個路由器

技術分享圖片

把WiFi模塊和電腦連接,在sscom確定AT指令能正常使用後,就可以開始配置TCP連接了,具體步驟如下:

  1. 根據上面“sta模式連接WiFi演示”一節把模塊連上WiFi

  2. 輸入指令 AT+CIPMUX=0 設置單連接

  3. 從“網絡調試助手”得知本機IP和端口,輸入指令 AT+CIPSTART="TCP","192.168.43.140",1234 (指令參數分別為連接類型、目標IP地址和端口號)向服務器發起TCP連接請求,握手成功並建立連接後,服務器端的“網絡調試助手”就會顯示客戶端IP和端口信息,此時雙方已做好收發數據的準備

  4. 輸入指令 AT+CIPMODE=1 開啟透傳模式

  5. 輸入命令 AT+CIPSEND 進入透傳模式,此時模塊會把所有串口收到的數據都從TCP端口發送至服務器,同樣的,從服務器收到的數據也會從模塊串口發送出去打印到sscom上。這樣WiFi模塊就真正成為了連接硬件與網絡的橋梁,實現了串口到TCP的協議轉換

  6. 若要退出透傳模式返回AT指令模式,需發送不帶回車換行+++ (取消勾選sscom的“發送新行”再發送指令即可)

  7. 技術分享圖片
  8. 手機,ESP8266,電腦無線連接路由器賬戶 dongdong 密碼 dongdong
  9. 電腦網線連接路由器 網頁192.168.1.1 查詢路由器當前狀態,可看到三個設備分配的地址
  10. 技術分享圖片

其他常用指令

除了上面列舉的主要功能指令,ESP8266 模塊還有一些常用的指令:

AT+CIOBAUD 指令用於設置串口波特率,示例: AT+CIOBAUD=9600 (設置波特率為9600)。 設置好TCP連接信息後通過 AT+SAVETRANSLINK 指令把TCP連接透傳保存到Flash,掉電不丟失。重新上電後模塊會自動聯網建立TCP連接後進入透傳模式,實現了真正意義上的透傳,示例: AT+SAVETRANSLINK=1,"192.168.43.140",1234,"TCP" 。而 AT+CWSTARTSMARTAT+CWSTOPSMART 則時用來實現智能配置(Smart Config)的。

指令描述
AT+CIOBAUD 設置串口波特率
AT+SAVETRANSLINK 保存透傳到 Flash
AT+CWSTARTSMART 開啟 SmartConfig
AT+CWSTOPSMART 停止 SmartConfig

esp8266(0) AT指令