筆者在第一個程式測試時,使用了樂鑫(Espressif)的 AT指令集(AT Command Set),雖然樂鑫(Espressif)的 AT指令並非開源程式,但用於測試 ESP8266 模塊是很實用和簡單方便,指令集主要分為:基礎AT 命令、Wifi 功能AT 命令、TCP/IP 工具箱AT 命令等,差不多包括了大部分功能,功能還在增加,是很好的測試工具。
※ 參考 AT 指令集v0.21 版本
每條指令可以有細分四種命令:
命令種類
|
格式
|
描述
|
測試命令
|
AT+<x>=?
|
該命令用於查詢設置命令或內部程式設置的參數以及其取值範圍
|
查詢命令
|
AT+<x>?
|
該命令用於返回參數的當前值
|
設置命令
|
AT+<x>=<...>
|
該命令用於設置用戶自定義的參數值
|
執行命令
|
AT+<x>
|
該命令用於執行受模組內部程式控制的變參數不可變的功能
|
基礎 AT 指令一覽表:
Wifi 功能 AT 指令一覽表:
命令
|
回應
|
參數說明
|
描述
|
AT
|
OK
|
測試AT
啟動
|
|
AT+RST
|
OK
|
重啟模組
|
|
AT+GMR
|
<number>
OK
|
0020000903
0020 為AT 版本, 0903 為esp_iot_sdk
版本
|
查看版本資訊
|
AT+GSLP=<time>
|
< time >
OK
|
< time >睡眠時間單位ms, Deep sleep 功能需要硬體上支援,將XPD_DCDC 通過0R 連接到EXT_RSTB,用作Deep
sleep 喚醒
|
啟動deep sleep 功能
|
ATE
|
OK
|
ATE0 關閉回顯
ATE1 開啟回顯
|
開關回顯功能
|
AT+RESTORE
|
OK
|
恢復出廠設置,將所有保存的參數恢復到出廠默認參數
|
恢復出廠設置
|
AT+UART=<baudrate>,
<databits>,<stopbits>,
<parity>,<flow control>
|
OK
|
<baudrate>
串口串列傳輸速率<databits>
數據位元
5:5 bit 數據位元,6:6 bit數據位元,7:7 bit 數據位元,8:8 bit 數據位元
<stopbits> 停止位
1:1 bit 停止位,2:1.5
bit停止位,3:2 bit 停止位
<parity> 校驗位
0:None,1:Odd,2:EVEN
<flow control>
流控
0:不使能流控,1:使能RTS,2:使能CTS,3:同時使能RTS 和CTS
|
設置串口配置
AT+UART=115200,8,1,0,3
|
Wifi 功能 AT 指令一覽表:
命令
|
回應
|
參數說明
|
描述
|
AT+CWMODE=?
AT+CWMODE?
AT+CWMODE=<mode>
|
<mode>列表
<mode>
OK
|
<mode> 1=Station 模式,2=AP模
式,3=AP 兼Station 模式
|
選擇WIFI
應用模式
AT+CWMODE=3
|
AT+ CWJAP?
AT+ CWJAP =
<ssid>,< password>
|
<ssid>
OK
|
<ssid>字串參數,接入點名稱<pwd>字串參數,密碼最長64 位
元組ASCII 參數設置需要開啟
Station 模式,若SSID 或者
password 中含有,、“和﹨時,需
要進行轉義,其他字元轉義無效
|
加入AP
AT+ CWJAP =“abc”, 0123456789”
|
AT+ CWLAP =
AT+CWLAP
|
<ecn>,<ssid>,
<rssi>,<mac>,
<ch>
OK / ERROR
|
<
ecn > 0=OPEN,1=WEP,
2=WPA_PSK,3=WPA2_PSK,
4=WPA_WPA2_PSK
<ssid> 字串參數,接入點名稱
<rssi> 信號強度
<mac> 字串參數,mac 地址
|
列出當前可用AP
AT+CWLAP="wifi","ca:d
7:19:d8:a6:44",6或者針對ssid 搜索:AT+CWLAP="wifi",""
|
AT+CWQAP=?
AT+ CWQAP
|
OK
|
退出與AP 的連接
|
|
AT+ CWSAP?
AT+ CWSAP= <ssid>,
<pwd>,<chl>, <ecn>
|
OK
OK / ERROR
|
<ssid> 字串參數,接入點名稱
<pwd> 字串參數,密碼最長64 位
元組ASCII
<chl> 通道號
<
ecn > 0=OPEN,1=WEP,
2=WPA_PSK,3=WPA2_PSK,
4=WPA_WPA2_PSK
|
設置AP 模式下的參數
本設置會保存在Flash system
parameter 區,掉電重啟設置仍保留
AT+CWSAP="ESP8266
","1234567890",5,3
|
AT+CWLIF
|
<ip addr>,<mac>
|
<ip addr> 已接入設備的IP 地址
<mac> 已接入設備的MAC 地址
|
查看已接入設備的IP
|
AT+ CWDHCP= <mode>,<en>
|
OK
|
< mode > 0=设置AP,1=设置STA
,2=设置AP 和STA
<en> 0=去能DHCP
|
設置DHCP 開關
本設置會保存在Flash system
parameter 區,掉電重啟設置仍保留
|
AT+ CWAUTOCONN=
<enable>
|
OK
|
< enable > 0=開機禁能STA 自動
連接,1=開機使能STA 自動連接
|
設置STA 開機自動連接到wifi
掉電重啟設置仍保留
|
AT+CIPSTAMAC?
AT+CIPSTAMAC
=<mac>
|
<mac>
OK
|
< mac> 字串變數,標準mac地址
,中間用冒號隔開
|
設置STA 的MAC 地址
掉電重啟設置仍保留
AT+CIPSTAMAC="18:fe:
35:98:d3:7b"
|
AT+ CIPAPMAC?
AT+CIPAPMAC =<mac>
|
<mac>
OK
|
< mac> 字串變數,標準mac地址
,中間用冒號隔開
|
設置AP 的MAC 地址
掉電重啟設置仍保留
AT+CIPAPMAC="1a:fe:
36:97:d5:7b"
|
AT+ CIPSTA?
AT+CIPSTA=<ip>
|
<ip>
OK
|
< mac> 字串變數,標準ip地址
|
設置STA 的IP 地址
掉電重啟設置仍保留
AT+CIPSTA="192.168.6.100"
|
AT+ CIPAP?
AT+CIPAP=<ip>
|
<ip>
OK
|
< mac> 字串變數,標準ip地址
|
設置AP 的IP 地址
掉電重啟設置仍保留
AT+CIPAP="192.168.5.1"
|
AT+CWSMARTSTART
=<method>
|
OK
|
<method> 整數變數,智慧連接的
方式。0=使用安信可AI-LINK技
術,1=使用ESP-TOUCH技術,2=使用AIR-KISS技術
|
啟動智能連接
AT+CWSMARTSTART=0
|
AT+CWSMARTSTOP
|
OK
|
停止智能連接
|
TCP/IP 工具箱 AT 指令一覽表:
命令
|
回應
|
參數說明
|
描述
|
AT+CIPSTATUS=?
AT+ CIPSTATUS
|
OK
連接參數
|
<stat> 2=獲得ip,3=建立連接,
4=失去連接
<id> 連接的id 號0-4
<type> 字串參數,類型TCP 或
UDP
<remote_ip> 字串參數,連接遠
端的IP 地址
<remote_port> 連接遠端埠號
<local_port> ESP8266 本地埠號
<tetype> 0=本模組做client 的連
接,1=本模組做server 的連接
|
獲得連接狀態
|
AT+CIPSTART=?
|
建立TCP 連接或註冊UDP 埠號
AT+CIPSTART="TCP",
"192.168.101.110",1000
|
||
AT+CIPSEND
|
發送資料
|
||
AT+CIPCLOSE=?
AT+CIPCLOSE=<id>
AT+CIPCLOSE
|
OK
OK / Link is not / ERROR
|
<id> 需要關閉的連接id 當id=5
時關閉所有連接(開啟server 後
id=5 無效)
|
關閉TCP 或UDP
|
AT+CIFSR=?
AT+ CIFSR
|
OK
<IP address>
|
<IP address> 本機目前的IP 地址
第一行為AP 下的IP,第二行為
STA 下的IP
|
獲取本地IP 地址
|
AT+ CIPMUX?
AT+ CIPMUX=<mode>
|
OK
OK / Link is builded
|
1=只有在非透傳模式下,才能設
置為多路連接;2=只有在關閉伺
服器模式,並且沒有鏈路建立的
情況下,才能設置為單連接
|
啟動多連接
AT+ CIPMUX=1
|
AT+ CIPSERVER=
<mode>[,<port>]
|
OK
|
<mode> 0=關閉server 模式,1=
開啟server 模式
<port> 埠號,缺省值為333
|
配置為伺服器
AT+ CIPSERVER=1,1001
|
AT+ CIPMODE?
AT+CIPMODE=
<mode>
|
<mode>
OK / Link is builded
|
<mode> 0=非透傳模式,1=透傳
模式只有關閉server 模式,並且
為單路連接模式的情況下,才能
設置CIPMODE AT+CIPMODE
會
觸發開機透傳資訊的保存,包括
透傳所需的遠端埠號和ip
|
設置模組傳輸模式
AT+CIPMODE=1 會將透傳
模式及建立的TCP 連接均
保存在Flash user
parameter
區,下次上電仍會自動建
立連接並進入透傳。AT+CIPMODE=0
則為普通
指令模式
|
AT+CIPSTO?
AT+CIPSTO=<time>
|
<time>
|
< time> 0~7200 設置TCP 伺服器
超時時間,單位為s
1=ESP8266 作為TCP server,會
踢掉一直不通信直至超時了的
TCP client,如果設置
AT+CIPSTO=0,則永遠不會超
時。不建議這樣設置。
2=請在TCP SERVER 建立後,設
置超時
|
設置伺服器超時時間
AT+ CIPMUX=1
AT+ CIPSERVER=1,1001
AT+CIPSTO=10
|
AT+CIUPDATE
|
<n>
|
<n> 1=found server,2=connect
server,3=got edition,4=start
update
|
網路升級固件
|
AT+ PING=<ip>
|
+<time>
|
<ip> 字串形式的host ip 地址或
者功能變數名稱
<time> 為 ping 回復時間
|
PING 命令
AT+PING=”192.168.1.1”
AT+PING=
”www.baidu.com”
|
SYS 工具箱 AT 指令一覽表:
命令
|
回應
|
參數說明
|
描述
|
AT+CSYSWDTENABLE
|
OK
|
使能看門狗
|
|
AT+CSYSWDTDISABLE
|
OK
|
關閉看門狗
|
|
AT+CSYSWDTCLEAR
|
OK
|
清零看門狗
|
|
AT+CSYSHEAP
|
<bytes> Bytes
|
<bytes> 整數,表示剩餘RAM
可用空間位元組數
|
獲取剩餘RAM大小
|
工具箱 AT 指令一覽表:
命令
|
回應
|
參數說明
|
描述
|
AT+CIOBAUD
=<baudrate>,
<databits>,<stopbits>,
<parity>,<flow control>
|
OK
|
<baudrate>
串口波特率
<databits> 数据位,5=5 bit数据
位,6=6 bit 数据位,7=7 bit 数据
位,8=8 bit 数据位
<stopbits> 停止位,1=1 bit 停止
位,2=1.5 bit 停止位,3=2 bit 停
止位
<parity> 校验位,0=None,
1=Odd,2=EVEN
<flow control> 流控,0=不使能流
控,1=使能RTS,2=使能CTS,
3=:同时使能RTS 和CTS
|
設置串口配置
|
AT+CIOADC
|
<adc>
OK
|
<adc> 整數,A/D轉換結果。取值範圍:0 ~ 1024
|
讀取ADC
|
AT+CIOREAD
=<gpio>
|
<status>
:<level>
OK
|
<gpio> 整數,ESP8266 引腳GPIO號。
<status> 1或0
<level> HIGH或LOW
|
讀取IO狀態
AT+CIOREAD=0
|
AT+CIOWRITE
=<gpio>,<status>
|
OK
|
<gpio> 整數,ESP8266 引腳GPIO號。
<status> 1或0
|
設置IO狀態
AT+CIOWRITE=0,1
|
2017年 2月 27日 天氣報告
氣溫:17.3度 @ 20:10
相對濕度:百分之 71%
天氣:大致多雲
謝謝您的分享!
回覆刪除請問我可以請教您有關MCP6V01 的 PIC2550 範例程式問題嗎? 因為我正在整合與 Curiosity PIC32MZ EF板中.