【STM32 物联网】基础AT指令与基础Wifi功能AT指令


前言

在STM32物联网应用中,与通信模块进行交互通常涉及到使用AT指令。本文将介绍两个重要的AT指令集:基础AT指令和基础Wifi功能AT指令。基础AT指令用于与通用的通信模块(如GSM模块)进行基本的串口通信和控制,而基础Wifi功能AT指令则专注于与Wifi模块进行交互,实现连接网络、发送数据等基本Wifi功能。


一、基础AT指令

1.1 测试AT启动

我们可以使用AT指令测试AT启动

ESP8266_SendCommand("AT\r\n");
HAL_Delay(1000);

响应为OK
在这里插入图片描述

1.2 重启模块

我们可以使用AT+RST指令重启模块
响应为OK

ESP8266_SendCommand("AT+RST\r\n");
HAL_Delay(1000);

1.3 查看版本信息

我们可以使用AT+GMR查看版本信息
响应为:

<AT version info>
<SDK version info>
<compile time>
OK
ESP8266_SendCommand("AT+GMR\r\n");
HAL_Delay(1000);

在这里插入图片描述

1.4 进入深度睡眠模式

我们可以使用AT+GSLP=<time>指令进入深度睡眠,time单位为ms
响应为<time> OK

ESP8266_SendCommand("AT+GSLP=<time>\r\n");
HAL_Delay(1000);

deep-sleep 功能需要硬件上支持,将 XPD_DCDC 通过 0 欧姆电阻连接到EXT_RSTB,用作 deep-sleep 唤醒。

1.5 开关回显

我们可以使用ATE指令进入深度睡眠,time单位为ms
响应为OK

ESP8266_SendCommand("ATE\r\n");
HAL_Delay(1000);

1.6 恢复出场设置

我们可以使用AT+RESTORE指令进入深度睡眠,time单位为ms
响应为OK

ESP8266_SendCommand("AT+RESTORE\r\n");
HAL_Delay(1000);

注意:
恢复出厂设置,将擦除所有保存到 flash 的参数,恢复为默认参数。
恢复出厂设置会导致机器重启。

1.7 UART配置

设置临时设置,不保存到Flash

设置指令:

AT+UART_CUR=<baudrate>, 
<databits>,<stopbits>, 
<parity>,<flow control>

参数为:波特率、数据位、停止位、校验位、流控。
<flow control> 流控
0:不使能流控
1:使能 RTS
2: 使能 CTS
3: 同时使能 RTS 和 CTS

注意
本设置不保存到 flash
使用流控需要硬件支持流控。MTCK 为 UARTO CTS;MTDO为 UARTO RTS
波特率支持范围: 110~115200*40

ESP8266_SendCommand("AT+UART_CUR=115200,8,1,0,3\r\n");
HAL_Delay(1000);

设置串口保存到Flash

设置指令:

AT+UART_DEF=<baudrate>, 
<databits>,<stopbits>, 
<parity>,<flow control>

1.8 设置sleep模式

查询当前sleep模式

查询指令:AT+SLEEP?

设置当前sleep模式

设置指令:AT+SLEEP=<sleep mode>
参数:
0:禁用休眠模式
1: light-sleep 模式
2: modem-sleep 模式

ESP8266_SendCommand("AT+SLEEP=0\r\n");
HAL_Delay(1000);

二、基础Wifi功能AT指令

2.1 Station模式与SoftAP模式是什么?

Station模式:就像是你的手机或电脑连接到家里的WiFi一样。在Station模式下,设备可以连接到现有的WiFi网络,像是一台普通的客户端,用来访问互联网、收发数据等。

SoftAP模式:相当于你的手机或电脑变成了一个热点。在SoftAP模式下,设备可以充当WiFi接入点,允许其他设备连接到它,就像连接到路由器一样。这种模式常用于创建临时网络或者设备之间的直接通信,比如设置设备的初始配置信息。

2.2 设置当前Wifi模式

不保存到Flash

获取可用的wifi模式:AT+CWMODE_CUR=?
响应:

+CWMODE_CUR:( <mode>取值列表)
OK

参数说明:
<mode>1 : station 模式
2: softAP模式
3 : softAP + station 模式

获取当前Wifi模式;AT+CWMODE CUR?

设置当前wifi模式:AT+CWMODE CUR= <mode>

保存到Flash

对于保存到Flash,仅仅是把CUR替换成DEF,在这里不多赘述

2.3 连接Wifi

不保存到Flash

查询 ESP8266 station 当前连接的 AP
查询指令:AT+CWJAP_CUR?
响应
+ CWJAP CUR:<ssid>,<bssid>,<channel>,<rssi> OK
参数说明:
<ssid> string, AP’s SSID

设置 ESP8266 station 需连接的 AP
设置指令:
AT+CWJAP_CUR =<ssid>,<pwd>[,<bssid>]
响应:
OK或者+CWJAP:<error code> FAIL
参数说明:
<ssid> 字符串参数,
目标AP的 SSID
<pwd> 字符串参数,密码最长 64 字节 ASCII
[<bssid>] 字符串参数,目标 AP 的 bssid(MAC 地址),一般用于有多个SSID 相同的 AP 的情况
<error code> 仅供参考,并不可靠:

  1. 连接超时
  2. 密码错误
  3. 找不到目标 AP
  4. 连接失败

参数设置需要开启 station 模式,若 SSID 或者 password 中含有特殊
符号,例如",或者,“ 或者 '时,需要进行转义,其它字符转义无效

保存到Flash

对于保存到Flash仅仅是把CUR变成DEF,在这里不多赘述

说明

对于AT指令太过于多,我们这里并不能写完全,如果没有提到,会在后面的项目中给大家写到的


总结

通过本文的介绍,我们对STM32物联网应用中的两种重要AT指令集有了基本了解。基础AT指令为与通用通信模块的交互提供了基础,包括串口通信、配置参数等基本操作。另一方面,基础Wifi功能AT指令专注于与Wifi模块的交互,使得STM32可以通过Wifi连接网络,实现更复杂的物联网功能。这两种AT指令集为STM32在物联网应用中提供了强大的控制手段,开发者可以通过发送这些指令来实现设备之间的通信、数据传输等功能。通过深入学习这些指令,开发者可以更好地利用STM32的物联网能力,构建更灵活、强大的物联网应用。如果您有其他问题或需要更详细的信息,请随时告诉我。

  • 22
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: STM32 AT指令是一种适用于STM32单片机的AT指令集,在开发嵌入式设备时常用到,可以通过串口通信方式操控硬件。这些指令可以让开发者通过发送简单指令的方式控制各种不同的设备和模块,如WiFi,蓝牙,GSM模块等。 STM32 AT指令具有广泛的应用场景,如物联网、智能家居、工业自动化等领域。它的原理是通过代码实现将单片机的串口与设备的串口进行通信,并解析 AT 指令,然后控制外设的输出。 开发者可以在源码中找到 AT 指令集相关的代码,并通过修改相应的代码实现自己的特定需求,实现设备间的信息交互和控制。同时,开发者也可以在实际应用中体验到 AT指令 测试工具的好处,例如 AT测试器等,在调试和测试中非常方便实用。 总而言之,STM32 AT 指令解析是嵌入式系统开发中的重要技能之一,了解 AT 指令的工作原理,对于开发者能够更灵活地掌控硬件设备。此外,不同的AT指令集也有其特定的适用场景和处理方式,开发者一定要在实践中熟练掌握方可胜任。 ### 回答2: STM32 AT指令是一种串口通信协议,主要用于STM32单片机与其他设备之间的通信。AT指令是一种命令行接口,通过发送不同的指令,可以实现对STM32单片机的控制、数据传输等功能。 在使用STM32 AT指令时,首先需要实现串口通信的硬件接口,并在单片机程序中编写相应的AT指令处理程序。然后,可以通过发送不同的AT指令来对单片机进行各种操作,如读写寄存器、设置模式、发送数据等。 具体的AT指令内容可以根据单片机型号和应用场景进行不同的扩展和定制。在使用过程中,需要根据具体情况进行指令解析和数据处理,避免出现通信错误或数据误差。 总之,STM32 AT指令是一种非常常用的通信协议,可以广泛应用于各种单片机应用中,为开发者提供了简单、灵活的数据传输方式。 ### 回答3: STM32是一种嵌入式微控制器,可以使用AT指令来控制其通信功能。AT指令是一种通用的标准指令集,用于控制和配置通信设备。 在使用STM32的AT指令时,首先需要通过串口接口将其连接到计算机或其他设备上。接下来,可以使用一系列AT指令来配置和控制串口通讯、WiFi连接等功能。例如,AT+UART指令可以设置串口通讯的波特率、校验位等参数,AT+CWJAP指令可以连接WiFi网络。 使用STM32的AT指令需要注意一些注意事项。首先,需要确保使用正确的指令和参数,并按照正确的顺序执行它们;其次,需要了解设备的硬件和软件限制,以避免引起不可预测的错误;最后,需要对指令的返回值进行适当的处理和分析,以便及时发现和解决问题。 总之,STM32的AT指令是一种非常有用的嵌入式通讯控制方式,可以为各种应用提供简便、快捷的通讯设置和控制功能。对于需要进行通讯配置和控制的应用,学习和掌握AT指令的使用是非常重要的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

人才程序员

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

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

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

打赏作者

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

抵扣说明:

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

余额充值