STM32 +WIFI ESP8266学习指令集二

前言:
本⽂文描述 ESP8266 AT 指令集功能以及使⽤用方法。
指令集主要分为:基础 AT 指令、Wi-Fi 功能 AT 指令、TCP/IP 相关的 AT 指令

基础Wi-Fi AT 指令
AT+CWMODE 设置 Wi-Fi 模式 (STA/AP/STA+AP)

参数说明

‣ 1:Station 模式
‣ 2:SoftAP 模式
‣ 3:SoftAP+Station 模式

注意本设置将保存在 Flash 的系统参数区。
示例例AT+CWMODE=3

AT+CWMODE_CUR 设置 Wi-Fi 模式 (STA/AP/STA+AP),不保存到 Flash

参数说明

‣ 1:Station 模式
‣ 2:SoftAP 模式
‣ 3:SoftAP+Station 模式
注意本设置不不保存到 Flash。
示例例AT+CWMODE_CUR=3

AT+CWMODE_DEF 设置 Wi-Fi 模式 (STA/AP/STA+AP),保存到 Flash

参数说明

‣ 1:Station 模式
‣ 2:SoftAP 模式
‣ 3:SoftAP+Station 模式
注意本设置保存到 Flash system parameter 区域。
示例例AT+CWMODE_DEF=3

AT+CWJAP 连接 AP
参数说明
• :字符串串参数,AP 的 SSID
• :AP 的 MAC 地址
• :信道号
• :信号强度
注意本设置将保存在 Flash system parameter 区域。
示例例
AT+CWJAP=“abc”,“0123456789”
例例如,⽬目标 AP 的 SSID 为 “ab,c”,password 为 “0123456789"”,则指令如下:
AT+CWJAP=“ab\,c”,“0123456789”\"
如果有多个 AP 的 SSID 均为 “abc”,可通过 BSSID 确定⽬目标 AP:
AT+CWJAP=“abc”,“0123456789”,“ca:d7:19:d8:a6:44”

AT+CWJAP_CUR 连接 AP,不保存到 Flash

参数说明
• :字符串串参数,AP 的 SSID
• :AP 的 MAC 地址
• :信道号
• :信号强度
注意本设置不不保存到 Flash。
示例例
AT+CWJAP_CUR=“abc”,“0123456789”
例例如,⽬目标 AP 的 SSID 为 “ab,c”,password 为 “0123456789"”,则指令如下:
AT+CWJAP_CUR=“ab\,c”,“0123456789”\"
如果有多个 AP 的 SSID 均为 “abc”,可通过 BSSID 确定⽬目标 AP:
AT+CWJAP_CUR=“abc”,“0123456789”,“ca:d7:19:d8:a6:44”

AT+CWJAP_DEF 连接 AP,保存到 Flash
参数说明
• :字符串串参数,AP 的 SSID
• :AP 的 MAC 地址
• :信道号
• :信号强度
注意本设置不保存到 Flash。
示例例
AT+CWJAP_DEF=“abc”,“0123456789”
例如,目标 AP 的 SSID 为 “ab,c”,password 为 “0123456789"”,则指令如下:
AT+CWJAP_DEF=“ab\,c”,“0123456789”\"
如果有多个 AP 的 SSID 均为 “abc”,可通过 BSSID 确定⽬目标 AP:AT+CWJAP_DEF=“abc”,“0123456789”,“ca:d7:19:d8:a6:44”

AT+CWLAPOPT 设置 AT+CWLAP 指令扫描结果的属性
示例
AT+CWLAPOPT=1,2047
第一个参数为 1,表示后续如果使⽤用 AT+CWLAP 指令,扫描结果将按照信号强度 RSSI 值排序;
第二个参数为 2047,即 0x7FF,表示 的相关 bit 全部置为 1,后续如果使⽤用 AT+CWLAP 指
令,扫描结果将显示所有参数。

AT+CWLAP 扫描附近的 AP 信息
注意
• scan_time_min 不不能⼤大于 scan_time_max,即要求 scan_time_max >= scan_time_min。
• 若 scan_time_min 和 scan_time_max 设置均为 0,则采⽤用默认值,默认值具体如下:
‣ 对于 active scan,每个信道的最⼩小扫描时间是 0,最⼤大扫描时间是 120ms
‣ 对于 passive scan,每个信道扫描的时间是 360ms
示例例
AT+CWLAP=“WiFi”,“ca:d7:19:d8:a6:44”,6,0,50,120,
或者查找指定 SSID 的 AP:
AT+CWLAP=“WiFi”
或者使能 passive scan 模式:
AT+CWLAP=,1,

AT+CWQAP 与 AP 断开连接

AT+CWSAP 设置 ESP8266 SoftAP 配置
注意本设置保存到 Flash 系统参数区。
示例AT+CWSAP=“ESP8266”,“1234567890”,5,3

AT+CWSAP_CUR 设置 ESP8266 SoftAP 配置,不保存到 Flash
注意本设置不不保存到 Flash。
示例AT+CWSAP_CUR=“ESP8266”,“1234567890”,5,3
AT+CWSAP_DEF 设置 ESP8266 SoftAP 配置,保存到 Flash

AT+CWLIF 获取连接到 ESP8266 SoftAP 的 station 的信息
参数说明
• :连接到 ESP8266 SoftAP 的 Station IP 地址
• :连接到 ESP8266 SoftAP 的 Station MAC 地址
注意本指令⽆无法查询静态 IP,仅⽀支持在 ESP8266 SoftAP 和连⼊入的 Station DHCP 均使能的情况下有
效。

AT+CWDHCP 设置 DHCP
注意
• 本设置保存到 Flash ⽤用户参数区。
• 本设置指令与设置静态 IP 的指令(AT+CIPSTA 系列列和 AT+CIPAP 系列列)互相影响:
‣ 设置使能 DHCP,则静态 IP ⽆无效;
‣ 设置静态 IP,则 DHCP 关闭;
‣ 以最后的设置为准。

AT+CWDHCP_CUR 设置 DHCP,不保存到 Flash
注意
• 本设置不不保存到 Flash。
• 本设置指令与设置静态 IP 的指令(AT+CIPSTA 系列列和 AT+CIPAP 系列列)互相影响:
‣ 设置使能 DHCP,则静态 IP ⽆无效;
‣ 设置静态 IP,则 DHCP 关闭;
‣ 以最后的设置为准。
示例例AT+CWDHCP_CUR=0,1

AT+CWDHCP_DEF 设置 DHCP,保存到 Flash
注意
• 本设置保存到 Flash ⽤用户参数区。
• 本设置指令与设置静态 IP 的指令(AT+CIPSTA 系列列和 AT+CIPAP 系列列)互相影响:
‣ 设置使能 DHCP,则静态 IP ⽆无效;
‣ 设置静态 IP,则 DHCP 关闭;
‣ 以最后的设置为准。
示例例AT+CWDHCP_DEF=0,1

AT+CWDHCPS_CUR 设置 ESP8266 SoftAP DHCP 分配的 IP 范围,不保存到 Flash
注意
• 本设置不不保存到 Flash。
• 本指令必须在 ESP8266 SoftAP 模式使能,且开启 DHCP 的情况下使⽤用,设置的 IP 范围必须与 ESP8266
SoftAP 在同⼀一⽹网段。
示例例
AT+CWDHCPS_CUR=1,3,“192.168.4.10”,“192.168.4.15”
或者
AT+CWDHCPS_CUR=0 //清除设置,恢复默认值
AT+CWDHCPS_DEF 设置 ESP8266 SoftAP DHCP 分配的 IP 范围,保存到 Flash

AT+CWAUTOCONN 设置上电时是否⾃自动连接 AP
参数
说明
• :
‣ 0:清除设置 IP 范围,恢复默认值,后续参数⽆无需填写
‣ 1:使能设置 IP 范围,后续参数必须填写
• :租约时间,单位:分钟,取值范围 [1, 2880]
• :DHCP 服务器器 IP 池的起始 IP
• :DHCP 服务器器 IP 池的结束 IP
注意
• 本设置保存到 Flash ⽤用户参数区。
• 本指令必须在 ESP8266 SoftAP 模式使能,且开启 DHCP 的情况下使⽤用,设置的 IP 范围必须与 ESP8266
SoftAP 在同⼀一⽹网段。

AT+CIPSTAMAC 设置 ESP8266 Station 的 MAC 地址
注意
• 本设置保存到 Flash ⽤用户参数区。
• ESP8266 SoftAP 和 Station 的 MAC 地址并不不相同,请勿将其设置为同⼀一 MAC 地址。
• ESP8266 MAC 地址第⼀一个字节的 bit 0 不不能为 1,例例如,MAC 地址可以为 “18:…” 但不不能为 “15:…”。
示例例AT+CIPSTAMAC=“18:fe:35:98:d3:7b”

AT+CIPSTAMAC_CUR 设置 ESP8266 Station 的 MAC 地址,不不保存到 Flash
注意
• 本设置不不保存到 Flash。
• ESP8266 SoftAP 和 Station 的 MAC 地址并不不相同,请勿将其设置为同⼀一 MAC 地址。
• ESP8266 MAC 地址第⼀一个字节的 bit 0 不不能为 1,例例如,MAC 地址可以为 “18:…” 但不不能为 “15:…”。
示例AT+CIPSTAMAC_CUR=“18:fe:35:98:d3:7b”

AT+CIPSTAMAC_DEF 设置 ESP8266 Station 的 MAC 地址,保存到 Flash
注意
• 本设置保存到 Flash ⽤用户参数区。
• ESP8266 SoftAP 和 Station 的 MAC 地址并不不相同,请勿将其设置为同⼀一 MAC 地址。
• ESP8266 MAC 地址第⼀一个字节的 bit 0 不不能为 1,例例如,MAC 地址可以为 “18:…” 但不不能为 “15:…”。
示例AT+CIPSTAMAC_DEF=“18:fe:35:98:d3:7b”

AT+CIPAPMAC 设置 ESP8266 SoftAP 的 MAC 地址
注意
• 本设置保存到 Flash ⽤用户参数区。
• ESP8266 SoftAP 和 Station 的 MAC 地址并不不相同,请勿将其设置为同⼀一 MAC 地址。
• ESP8266 MAC 地址第⼀一个字节的 bit 0 不不能为 1,例例如,MAC 地址可以为 “18:…” 但不不能为 “15:…”。
示例例AT+CIPAPMAC=“1a:fe:36:97:d5:7b”

AT+CIPAPMAC_CUR 设置 ESP8266 SoftAP 的 MAC 地址,不保存到 Flash

AT+CIPAPMAC_DEF 设置 ESP8266 SoftAP 的 MAC 地址,保存到 Flash

注意
• 本设置不不保存到 Flash。
• ESP8266 SoftAP 和 Station 的 MAC 地址并不不相同,请勿将其设置为同⼀一 MAC 地址。
• ESP8266 MAC 地址第⼀一个字节的 bit 0 不不能为 1,例例如,MAC 地址可以为 “18:…” 但不不能为 “15:…”。
示例例AT+CIPAPMAC_CUR=“1a:fe:36:97:d5:7b”

AT+CIPSTA 设置 ESP8266 Station 的 IP 地址
注意
• 本设置保存到 Flash s⽤用户参数区。
• 本设置指令与设置 DHCP 的指令(AT+CWDHCP 系列列)互相影响:
‣ 设置静态 IP,则 DHCP 关闭;
‣ 设置使能 DHCP,则静态 IP ⽆无效;
‣ 以最后的设置为准。
示例例AT+CIPSTA=“192.168.6.100”,“192.168.6.1”,“255.255.255.0”
AT+CIPSTA_CUR 设置 ESP8266 Station 的 IP 地址,不保存到 Flash

AT+CIPSTA_DEF 设置 ESP8266 Station 的 IP 地址,保存到 Flash

注意
• 本设置保存到 Flash ⽤用户参数区。
• 本设置指令与设置 DHCP 的指令(AT+CWDHCP 系列列)互相影响:
‣ 设置静态 IP,则 DHCP 关闭;
‣ 设置使能 DHCP,则静态 IP ⽆无效;
‣ 以最后的设置为准。
示例例AT+CIPSTA_DEF=“192.168.6.100”,“192.168.6.1”,“255.255.255.0”

AT+CIPAP 设置 ESP8266 SoftAP 的 IP 地址
注意
• 本设置保存到 Flash ⽤用户参数区。
• ⽬目前仅⽀支持 C 类 IP 地址。
• 本设置指令与设置 DHCP 的指令(AT+CWDHCP 系列列)互相影响:
‣ 设置静态 IP,则 DHCP 关闭;
‣ 设置使能 DHCP,则静态 IP ⽆无效;
‣ 以最后的设置为准。
示例例AT+CIPAP=“192.168.5.1”,“192.168.5.1”,“255.255.255.0”

AT+CIPAP_CUR 设置 ESP8266 SoftAP 的 IP 地址,不保存到 Flash
注意
• 本设置不不保存到 Flash。
• ⽬目前仅⽀支持 C 类 IP 地址。
• 本设置指令与设置 DHCP 的指令(AT+CWDHCP 系列列)互相影响:
‣ 设置静态 IP,则 DHCP 关闭;
‣ 设置使能 DHCP,则静态 IP ⽆无效;
‣ 以最后的设置为准。
示例AT+CIPAP_CUR=“192.168.5.1”,“192.168.5.1”,“255.255.255.0”

AT+CIPAP_DEF 设置 ESP8266 SoftAP 的 IP 地址,保存到 Flash
注意
• 本设置保存到 Flash ⽤用户参数区。
• ⽬目前仅⽀支持 C 类 IP 地址。
• 本设置指令与设置 DHCP 的指令(AT+CWDHCP 系列列)互相影响:
‣ 设置静态 IP,则 DHCP 关闭;
‣ 设置使能 DHCP,则静态 IP ⽆无效;
‣ 以最后的设置为准。
示例例AT+CIPAP_DEF=“192.168.5.1”,“192.168.5.1”,“255.255.255.0”

AT+CWSTARTSMART 开始 SmartConfig
注意
• ⽤用户可以参考 ESP-TOUCH ⽤用户指南 来了了解 SmartConfig 的详细介绍。
• 仅⽀支持在 ESP8266 单 Station 模式下调⽤用。
• 消息 smart get wifi info 表示 SmartConfig 成功获取到 AP 信息,之后 ESP8266 尝试连接 AP,
打印连接过程。
• 消息 smartconfig connected wifi 表示成功连接到 AP,此时可以调⽤用 AT+CWSTOPSMART 停⽌止
SmartConfig 再执⾏行行其他指令。注意,在 SmartConfig 过程中请勿执⾏行行其他指令。
• 从 AT_v1.0 开始,SmartConfig 可以⾃自动获取协议类型,AirKiss 或者 ESP-TOUCH。
示例例
AT+CWMODE=1
AT+CWSTARTSMART
AT+CWSTOPSMART 停⽌止 SmartConfig

AT+CWSTARTDISCOVER 开启可被局域⽹网内的微信探测的模式
注意⽆无论 SmartConfig 成功与否,都请调⽤用 AT+CWSTOPSMART 释放快连占⽤用的内存。
示例例AT+CWSTOPSMART

AT+CWSTOPDISCOVER 关闭可被局域⽹网内的微信探测的模式
注意
• 可参考微信官⽹网内⽹网发现功能的介绍 http://iot.weixin.qq.com。
• 本指令需在 ESP8266 Station 连⼊入局域⽹网,获得 IP 地址后⽣生效。
示例例AT+CWSTARTDISCOVER=“gh_9e2cff3dfa51”,“122475”,10

AT+WPS 设置 WPS 功能
注意
• WPS 功能必须在 ESP8266 Station 使能的情况下调⽤用。
• WPS 不不⽀支持 WEP 加密⽅方式。
示例例
AT+CWMODE=1
AT+WPS=1

AT+MDNS 设置 MDNS 功能
注意
• 和 <server_name> 不不能包含特殊字符(例例如 . 符号),或者设置为协议名称(例例如不不
能定义为 http)。
• ESP8266 SoftAP 模式暂时不不⽀支持 MDNS 功能。
示例例AT+MDNS=1,“espressif”,“iot”,8080
AT+CWHOSTNAME 设置 ESP8266 Station 的主机名称

AT+CWCOUNTRY_CUR 设置 ESP8266 当前 WiFi 国家码

注意• 本设置不不保存到 Flash,重启后将恢复默认值。
示例例
AT+CWMODE=3
AT+CWCOUNTRY_CUR=1,“CN”,1,5

AT+CWCOUNTRY_DEF 设置 ESP8266 默认 WiFi 国家码
参数说明
<country_policy>:
• 0:根据 AP ⾃自动切换国家信息;
• 1:使⽤用设置的国家信息
<country_code>: 国家码字符串串,⻓长度最多⽀支持三个字符;第三个为特殊字符,在查询时不不显示。
<start_channel> : 起始信道号
<total_channel_number> : 总信道个数
注意• 本设置将保存到 Flash ⽤用户参数区。
示例例
AT+CWMODE=3
AT+CWCOUNTRY_DEF=1,“CN”,1,5

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 实现STM32F103与ESP8266的配合,可以实现一个简单的Web服务器。具体步骤如下: 首先,需要将ESP8266模块连接到STM32F103开发板上。可以使用串口或者SPI总线进行连接。连接后,需要配置ESP8266模块的工作模式,使其能够作为一个服务器。 其次,需要在STM32F103开发板上编写相应的程序。可以使用STM32CubeMX进行代码生成,选择相应的GPIO口和外设,进行配置。 然后,需要在STM32F103的代码中,进行串口通信或者SPI通信,与ESP8266模块进行数据传输。通过AT指令和ESP8266模块进行通信,可以实现WiFi的连接与配置。 接下来,需要在STM32F103的代码中,实现Web服务器的功能。可以使用STM32的内部FLASH或者SD卡等存储器,存储网页文件。通过在程序中配置相应的路由和处理函数,可以实现网页的访问与处理。 最后,需要在ESP8266模块的配置中,设置对应的IP地址和端口号,并将请求转发到STM32F103开发板上。通过解析HTTP请求,可以实现对不同网页请求的响应。 总之,通过将STM32F103与ESP8266进行配合,可以实现一个简单的Web服务器。这样,就可以通过网络访问STM32F103上的资源,并实现相应的控制与交互功能。 ### 回答2: 要实现STM32F103和ESP8266一起工作,搭建一个Web服务器可以按照以下步骤进行。 首先,连接STM32F103和ESP8266的串口,并使用AT指令将ESP8266设置为AP模式,以便创建一个WiFi网络。 通过STM32F103的USART控制器,将AT指令发送到ESP8266。使用串口通信协议进行数据传输。同时,使用GPIO控制ESP8266的复位引脚以便在需要时进行复位。 一旦ESP8266被设置为AP模式,STM32F103可以使用ESP8266创建一个TCP/IP连接。使用AT指令,可以通过发送HTTP GET请求从Web服务器上获取数据。 STM32F103还可以通过AT指令将数据发送到Web服务器。通过将数据封装在HTTP POST请求中,并将其发送到Web服务器,可以将数据发送到远程服务器。 在STM32F103上,可以使用HTTP库来解析接收到的HTTP响应。这样,可以轻松地获取响应中的数据。 最后,使用STM32F103的USART控制器,将响应数据发送到串口,并通过STM32F103上的LCD显示出来。 总结起来,要实现STM32F103和ESP8266一起工作,创建一个Web服务器,你需要连接STM32F103和ESP8266并设置ESP8266为AP模式。使用STM32F103控制ESP8266,发送AT指令来实现HTTP GET和POST请求。以及使用HTTP库来解析响应数据,并将数据发送到STM32F103上的LCD进行显示。 ### 回答3: STM32F103和ESP8266都是常见的嵌入式芯片,可以用于实现Web服务器功能。 首先,STM32F103作为主控芯片,负责控制整个系统的运行。它可以搭载一个TCP/IP协议栈,用于与ESP8266通信,并接收和处理来自ESP8266的数据。 ESP8266作为WiFi模块,可以连接到网络并通过TCP/IP协议与其他设备通信。它支持AT指令集,可以通过向其发送AT指令来控制其工作模式和网络连接。在本例中,ESP8266被配置为与STM32F103通过串口通信。 实现Web服务器功能的步骤如下: 1. 配置ESP8266的工作模式和连接网络。通过向ESP8266发送AT指令,将其设置为AP或STA模式,并将其连接到指定的WiFi网络。 2. 在STM32F103中,初始化串口和与ESP8266通信的GPIO引脚。使用串口和ESP8266进行通信,发送和接收数据。 3. STM32F103发送HTTP请求到ESP8266,使用ESP8266模块作为服务器,接收STM32F103的请求并返回相应的数据。可以使用GET或POST请求来获取或发送数据。 4. ESP8266接收到来自STM32F103的HTTP请求后,解析请求的内容,并执行相应的处理操作。可以使用ESP8266的库文件来简化HTTP请求的处理。 5. ESP8266将处理结果返回给STM32F103。根据请求的内容,可以是HTML页面、JSON数据或其他格式的响应。 6. STM32F103接收到来自ESP8266的响应后,进行相应的处理,如显示HTML页面或解析JSON数据。 通过上述步骤,可以实现STM32F103控制ESP8266并利用其作为Web服务器的功能。整个过程可以灵活调整和扩展,以满足具体需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王先森001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值