【STM32 物联网】AT指令的介绍

文章目录


前言

本系列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指令,他需要再每一个指令后面加上回车换行

  1. \r表示是回车
  2. \n表示是换行
  3. \r\n 表示回车换行

三、AT指令的分类和提示信息

3.1 AT指令的分类

AT指令可以细分为4种类型,如下表:

注意:

  1. 不是每条 AT 指令都具备上述 4 种类型的命令
  2. \[\] 括号内为缺省值,不必填写或者可能不显示
  3. 使用双引号表示字符串数据"string"。AT+CWSAP="ESP756290""21030826",1,4
  4. 波特率为 115200.
  5. AT 指令必须大写,以回车换行符结尾"\r\n"

比如说设置指令:AT+CWMODE CUR - 设置当前 Wi-Fi 模式

c 复制代码
ESP8266_SendCommand("AT+CWMODE_CUR=3\r\n");
HAL_Delay(1000);

这样就成功设置好了。

比如说我们还可以查询当前wifi模块的模式:

c 复制代码
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 指令的作用和用法,为物联网应用的开发提供参考和指导。

相关推荐
GIS数据转换器5 小时前
基于3D GIS的监控视频精准标定平台
人工智能·物联网·3d·音视频·无人机·知识图谱
Szime6 小时前
高速 ADC 国产替代选型:通信、雷达、仪器仪表项目要看哪些参数?
单片机·嵌入式硬件·fpga开发
拼搏的小浣熊7 小时前
香橙派Zero3的奇幻之旅【【持续更新】香橙派zero3从入门到玩转 各种工具+笔记】
arm开发·物联网·香橙派
小欣加油7 小时前
leetcode1926 迷宫中离入口最近的出口
数据结构·c++·算法·leetcode·职场和发展
灯琰17 小时前
# STM32L051K6U6 IAP Bootloader 开发踩坑实录
stm32
菜鸟的学习日记、8 小时前
GPIO的几种模式——以STM32为例
stm32·单片机·嵌入式硬件·gpio
星恒随风8 小时前
C++ 类和对象入门(五):初始化列表、explicit 和 static 成员详解
开发语言·c++·笔记·学习·状态模式
辰哥单片机设计8 小时前
STM32智能睡眠检测系统
stm32·单片机·嵌入式硬件
浪客灿心9 小时前
项目篇:模块设计与实现
数据库·c++
牛油果子哥q9 小时前
【C++ STL vector】C++ STL vector 终极精讲:动态数组底层原理、两倍扩容机制、迭代器失效、增删查改、性能剖析与工程避坑指南
开发语言·c++