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

相关推荐
余额瞒着我当琳2 小时前
C++--深拷贝三件套 + swap + 写时拷贝 + vector 扩容 + reserve
java·开发语言·c++
ShineWinsu3 小时前
对于C++:布隆过滤器(bloomfilter)的详细解析
c++·面试·位图·位运算·布隆过滤器·海量数据·比特位
baidu_259339574 小时前
智慧消防管理系统平台(基于物联网与大数据的城市消防安全解决方案)
大数据·人工智能·物联网·云计算·智慧消防·力安科技·gdliontech.cn
我是一棵无人问荆的小草6 小时前
stm32f103单片机的NVIC分组2介绍
stm32·单片机·嵌入式硬件
牛油果子哥q7 小时前
C++内存模型与深浅拷贝万字详解:栈堆静态内存布局、深浅拷贝底层差异、内存泄漏根治、拷贝崩溃踩坑、手写深拷贝实战
java·开发语言·c++
大鹏的NLP博客7 小时前
通用 Linux 嵌入式板端 C/C++ ABI 与 Glibc 依赖治理规范
linux·c++·交叉编译
紫幽7 小时前
从 0 用 Vue 做屏并生成 LVGL 单片机代码(完整源码备忘)
前端·单片机
智者知已应修善业7 小时前
【51单片机数码管逐位显示1-8余位不亮】2024-10-23
c语言·经验分享·笔记·嵌入式硬件·51单片机
ysa0510308 小时前
c++常用自带函数用法与注意
c++·笔记·算法
Be for thing9 小时前
【嵌入式成长3】STC89C51外部中断|中断原理、寄存器、中断服务函数
单片机·嵌入式硬件·学习