前言
本系列STM32物联网使用的为esp8266-01S作为通信模块
在物联网(IoT)应用中,通信模块与微控制器之间的串口通信是一种常见的方式。AT 指令集是一种用于控制通信模块的标准指令集,通过发送特定的命令字符串,可以实现对通信模块的配置、数据传输等操作。在 STM32 微控制器与通信模块(如 GSM 模块、WiFi 模块等)的交互中,AT 指令集被广泛应用。本文将介绍 AT 指令的基本概念和用法,以及在 STM32 物联网应用中的实际应用场景。
一、什么是AT指令
当我们需要控制通信设备(比如GSM模块、WiFi模块等)时,AT指令就派上用场了。简单来说,AT指令就像是一种命令语言,通过发送这些特定的命令给设备,我们可以告诉它要做什么事情,比如发送短信、建立网络连接等等。AT指令通常是以“AT”开头的一系列字符组成的,然后后面跟着不同的指令,用来执行不同的操作。这些指令会被设备解析并执行相应的动作,让我们可以远程控制设备,实现各种功能。简而言之,AT指令就是一种与通信设备交互的方式,让我们可以通过发送简单的命令来控制设备的行为。
二、使用AT指令需要注意什么
首先,我们需要知道的是,我们与esp8266进行通信的方式是串口。
接线时,我们要把电源和地接好,然后我们把esp8266上的tx接到stm32上的rx里面,esp8266的rx应该接到stm32的tx上面,这样就可以了。
esp8266的默认波特率为115200
,所以,我们在配置CubeMX里面的时候,应该设置好对应的波特率
对于我们的AT指令,他需要再每一个指令后面加上回车换行
\r
表示是回车\n
表示是换行\r\n
表示回车换行
三、AT指令的分类和提示信息
3.1 AT指令的分类
AT指令可以细分为4种类型,如下表:
注意:
- 不是每条 AT 指令都具备上述 4 种类型的命令
- [] 括号内为缺省值,不必填写或者可能不显示
- 使用双引号表示字符串数据”string”。AT+CWSAP=“ESP756290””21030826”,1,4
- 波特率为 115200.
- AT 指令必须大写,以回车换行符结尾“\r\n”
比如说设置指令:AT+CWMODE CUR - 设置当前 Wi-Fi 模式
ESP8266_SendCommand("AT+CWMODE_CUR=3\r\n");
HAL_Delay(1000);
这样就成功设置好了。
比如说我们还可以查询当前wifi模块的模式:
ESP8266_SendCommand("AT+CWMODE_CUR?\r\n");
HAL_Delay(1000);
3.2 是否保存到Flash的含义
当我们使用保存到Flash这样的AT指令的时候,当我们断电重启,这个指令我们可以不用再次发送,他就会自动执行。不保存Flash就是当前有效,断电之后就没有了,如果还想要就需要重新设置了
3.3 提示信息
AT指令的提示信息如下表:
总结
通过本文的介绍,我们了解了 AT 指令在物联网应用中的重要性和基本用法。AT 指令集是一种标准的命令集,用于控制通信模块的行为,包括配置参数、建立连接、发送数据等。在 STM32 微控制器与通信模块之间的串口通信中,AT 指令集被广泛应用。开发者可以通过发送特定的 AT 指令字符串,实现对通信模块的控制和数据交互,从而实现物联网应用中的各种功能,如远程监控、数据传输等。通过本文的学习,读者可以更加深入地理解 AT 指令的作用和用法,为物联网应用的开发提供参考和指导。