日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

<ESP8266>WIFI模块AT指令浅学

發布時間:2024/3/13 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 <ESP8266>WIFI模块AT指令浅学 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

人生如逆旅,我亦是行人。


名詞解釋

縮寫意思
AT(automatic transmission)自動變速器
WiFi無線網
AP(Access Point)無線訪問接入點,無線路由器等類設備的統稱
AP 模式無線接入點模式
RST(TCP協議的 6 個標志之一)表示重置連接、復位連接
TCP傳輸控制協議
UDP用戶數據報協議
SSL安全套接字協議
RF(Radio Frequency)射頻,射頻電流
Serve服務
DHCP動態主機配置協議

ESP8266本身就是一個MCU(微型控制單元,可以進行編程),具有兩種功能:
  • 做為一個普通的 WIFI 模塊,連接 STM32單片機,通過使用官方集成的 AT 指令進行開發;
  • 作為一個集成了 WIFI 功能的 MCU(單片機),用平臺提供的 SDK 進行深度的開發;

下面記錄一下作為 WIFI 模塊去使用所需要了解的 AT 指令。大致主要分為:

  • 基礎 AT 指令
  • WIFI 功能 AT 指令
  • Top/IP 工具箱 AT 命令

一、基礎 AT 命令


主要需要掌握的有:

命令功能
AT測試 AT 啟動 ,返回 OK
AT + RST重啟模塊,返回 OK
AT + GMR查看版本信息,返回 OK,為8位版本號

基礎 AT 命令很多,但大部分的使用都不是很多,大多使用的就一個 AT 命令,用于測試 AT 啟動。


二、Wi-Fi AT 命令集


1)AT + CWMODE:查詢/設置 Wi-Fi 模式

Wi-Fi 的三種模式:

模式功能<mode>
Station 模式(客戶模式)ESP8266模塊通過路由器連接互聯網,手機或電腦通過互聯網實現對設備的遠程控制1
SoftAP 模式ESP8266模塊作為熱點,實現手機或電腦直接與模塊通信,實現局域網無線控制2
SoftAP+Station 模式兩種模式的共存模式,即可以通過互聯網控制可實現無縫切換,方便操作3
無 WIFI 模式關閉 Wi-Fi RF0

1、查詢命令:查詢 ESP 設備的 Wi-Fi 模式

命令:

AT+CWMODE?

響應:

+CWMODE:<mode> OK

2、設置命令:設置 ESP 設備的 Wi-Fi 模式

命令:

AT+CWMODE=<mode>[,<auto_connect>]

響應:

OK

示例:

printf("2. CWMODE\r\n"); //查詢/設置 Wi-Fi 模式:設置WiFi模式為Station模式while(ESP8266_SendCmd("AT+CWMODE=1\r\n", "OK"))

例1:Station 模式下 TCP serve

ESP8266模塊通過路由器連接互聯網,手機或電腦通過互聯網實現對設備的遠程控制
AT+CWMODE=1 設置模組為STA模式(串口助手) AT+CWJAP 查詢附近 WiFi(串口助手) AT+CWJAP="WIFI名稱(最好使用英文)","WIFI密碼" 連接WiFi(串口助手)當外面需要再用引號將其括起來時,里面則需要在每個引號的前面加上 / 作為轉義字符 AT+CIFSR 查看路由器分配給模組的IP地址,例如:192.168.43.103(串口助手) AT+CIPMUX=1 打開多連接(串口助手) AT+CIPSERVER=1,8080 設置模塊服務器端口(串口助手)打開網絡調試助手進行設置: 請打開電腦連接路由器的WIFI熱點,并且打開網絡調試助手,在網絡調試助手上輸入連接模塊的 IP和設置的端口。 路由器給模塊分配的 IP 192.168.43.103,端口為自己設定的 8899(默認的為 333)(網絡調試助手)AT+CIPSEND=0,11 進入數據發送模式:11個字節

例2:SoftAP 模式下 TCP serve

ESP8266模塊作為熱點,實現手機或電腦直接與模塊通信,實現局域網無線控制
AT+CWMODE=2 開啟 AP 模式(串口助手) AT+CWJAP="ESP8266","密碼",11,0 設置模塊的 wifi 名和 wifi 密碼(串口助手)當外面需要再用引號將其括起來時,里面則需要在每個引號的前面加上 / 作為轉義字符 AT+CIPSERVER=1,8080 設置模塊服務器端口(串口助手)打開電腦去連接模塊建立的AP熱點 打開網絡調試助手,輸入連接模塊的 ip 和設置的端口。AT+CIPSEND=0,11 進入數據發送模式:11個字節

例3:SoftAP+Station 模式下 TCP serve

兩種模式的共存模式,即可以通過互聯網控制可實現無縫切換,方便操作

2)AT+CWDHCP:啟用/禁用 DHCP

查詢命令

命令:

AT+CWDHCP?

響應:

<state>:狀態

設置命令

功能: 啟用/禁用 DHCP

命令:

AT+CWDHCP=<operate>,<mode> printf("3. AT+CWDHCP\r\n"); //啟用/禁用 DHCPwhile(ESP8266_SendCmd("AT+CWDHCP=1,1\r\n", "OK"))

響應:

OK

參數:

  • <operate>:0表示禁用;1表示啟用;
  • <mode>:Bit0 表示 Station 的 DHCP;Bit1 表示 SoftAP 的 DHCP;
  • <state>:DHCP 的狀態
    • Bit0:
      • 0:禁用 Station 的 DHCP
      • 1:啟用 Station 的 DHCP
    • Bit1:
      • 0:禁用 SoftAP 的 DHCP
      • 1:啟用 SoftAP 的 DHCP
    • Bit2(ESP32 only)
      • 0: 禁用 Ethernet 的 DHCP
      • 1: 啟用 Ethernet 的 DHCP

三、TCP/IP AT 命令



1)AT+CIPSTATUS:查詢 TCP/UDP/SSL 連接狀態和信息

命令:

AT+CIPSTATUS

響應:

STATUS:<stat> +CIPSTATUS:<link ID>,<"type">,<"remote IP">,<remote port>,<local port>,<tetype> OK

參數:

2)AT+CIPSTART:建立 TCP 連接、UDP 傳輸或 SSL 連接

1、建立 TCP 連接

  • 命令:
// 單連接 (AT+CIPMUX=0): AT+CIPSTART=<"type">,<"remote host">,<remote port>[,<keep alive>][,<"local IP">]// 多連接 (AT+CIPMUX=1): AT+CIPSTART=<link ID>,<"type">,<"remote host">,<remote port>[,<keep alive>][,<"local IP">]
  • 響應:
CONNECTOK
  • 參數:

  • 連接OneNet 的 MQTT 的實際應用:

//連接上OneNet的 MQTT #define ESP8266_ONENET_INFO "AT+CIPSTART=\"TCP\",\"183.230.40.39\",6002\r\n"
  • 示例:
AT+CIPSTART="TCP","iot.espressif.cn",8000 AT+CIPSTART="TCP","192.168.101.110",1000 AT+CIPSTART="TCP","192.168.101.110",1000,,"192.168.101.100" AT+CIPSTART="TCPv6","test-ipv6.com",80 AT+CIPSTART="TCPv6","fe80::860d:8eff:fe9d:cd90",1000,,"fe80::411c:1fdb:22a6:4d24"// esp-at 已通過 AT+CWJAP 獲取到 IPv6 全局地址 AT+CIPSTART="TCPv6","2404:6800:4005:80b::2004",80,,"240e:3a1:2070:11c0:32ae:a4ff:fe80:65ac"

2、建立 UDP 傳輸

  • 命令:
// 單連接:(AT+CIPMUX=0) AT+CIPSTART=<"type">,<"remote host">,<remote port>[,<local port>,<mode>,<"local IP">]// 多連接:(AT+CIPMUX=1) AT+CIPSTART=<link ID>,<"type">,<"remote host">,<remote port>[,<local port>,<mode>,<"local IP">]
  • 響應:
CONNECTOK
  • 參數:

  • 示例:
// UDPv4 單播 AT+CIPSTART="UDP","192.168.101.110",1000,1002,2 AT+CIPSTART="UDP","192.168.101.110",1000,,,"192.168.101.100"// 基于 IPv6 網絡的 UDP 單播 AT+CIPSTART="UDPv6","fe80::32ae:a4ff:fe80:65ac",1000,,,"fe80::5512:f37f:bb03:5d9b"// 基于 IPv6 網絡的 UDP 多播 AT+CIPSTART="UDPv6","FF02::FC",1000,1002,0

3、建立 SSL 連接

  • 命令:
AT+CIPSTART=[<link ID>,]<"type">,<"remote host">,<remote port>[,<keep alive>,<"local IP">]
  • 響應:
OK
  • 參數:

  • 示例:
AT+CIPSTART="SSL","iot.espressif.cn",8443 AT+CIPSTART="SSL","192.168.101.110",1000,,"192.168.101.100"// esp-at 已通過 AT+CWJAP 獲取到 IPv6 全局地址 AT+CIPSTART="SSLv6","240e:3a1:2070:11c0:6972:6f96:9147:d66d",1000,,"240e:3a1:2070:11c0:55ce:4e19:9649:b75"

ESP8266 初始化示例:

void ESP8266_Init(void) {ESP8266_Clear();printf("1. AT\r\n"); //AT:測試AT啟動while(ESP8266_SendCmd("AT\r\n", "OK"))HAL_Delay(500);printf("2. CWMODE\r\n"); //查詢/設置 Wi-Fi 模式:設置WiFi模式為Station模式while(ESP8266_SendCmd("AT+CWMODE=1\r\n", "OK"))HAL_Delay(500);printf("3. AT+CWDHCP\r\n"); //啟用/禁用 DHCPwhile(ESP8266_SendCmd("AT+CWDHCP=1,1\r\n", "OK"))HAL_Delay(500);printf("4. CWJAP\r\n"); //連接wifiwhile(ESP8266_SendCmd(ESP8266_WIFI_INFO, "GOT IP"))HAL_Delay(500);printf("5. CIPSTART\r\n"); //連接ONENET的TCP協議while(ESP8266_SendCmd(ESP8266_ONENET_INFO, "CONNECT"))HAL_Delay(500);printf("6. ESP8266 Init OK\r\n");}

總結

以上是生活随笔為你收集整理的<ESP8266>WIFI模块AT指令浅学的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。