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

文章目录

  • 前言
  • 一、基础AT指令
    • 1.1 测试AT启动
    • 1.2 重启模块
    • 1.3 查看版本信息
    • 1.4 进入深度睡眠模式
    • 1.5 开关回显
    • 1.6 恢复出场设置
    • 1.7 UART配置
      • 设置临时设置,不保存到Flash
      • 设置串口保存到Flash
    • 1.8 设置sleep模式
      • 查询当前sleep模式
      • 设置当前sleep模式
  • 二、基础Wifi功能AT指令
    • 2.1 Station模式与SoftAP模式是什么?
    • 2.2 设置当前Wifi模式
      • 不保存到Flash
      • 保存到Flash
    • 2.3 连接Wifi
      • 不保存到Flash
      • 保存到Flash
  • 说明
  • 总结


前言

在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的物联网能力,构建更灵活、强大的物联网应用。如果您有其他问题或需要更详细的信息,请随时告诉我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/476076.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV-42 直方图均匀化

目录 一、直方图均匀化原理 二、直方图均匀化在OpenCV中的运用 一、直方图均匀化原理 直方图均匀化是通过拉伸像素强度的分布范围&#xff0c;使得在0~255灰阶上的分布更加均匀&#xff0c;提高图像的对比度。达到改善图像主管视觉效果的目的。对比度较低的图像适合使用直方…

2024年 前端JavaScript入门到精通 第二天 笔记

2.1 赋值运算符 2.2 自增运算符 2.3 比较运算符 2.4 逻辑运算符以及优先级 2.5 JS基础Day2-23-if单分支语句以及判断成绩案例 2.6 JS基础Day2-24-if双分支语句以及判断润年案例 2.7 JS基础Day2-25-i侈分支语句以及上午总结 2.8 JS基础Day2-26-三元运算符以及求最大值案例 2.9 J…

在 MyBatis 中,可以使用相同的 SQL 映射语句进行批量删除和单个删除。

目录 前端代码&#xff1a; 后端代码&#xff1a; controller service层接口 service接口的实现 mapper层接口 xml sql 效果&#xff1a;&#xff08;点击操作列的删除&#xff0c;可删除一行数据。勾选多个多选框再点击批量删除&#xff0c;可删除多个&#xff09; …

PyCharm 主题和字体 (Scheme Editor Font)

PyCharm 主题和字体 [Scheme & Editor Font] References Scheme & Editor Font File -> Settings -> Editor -> Colors & Fonts -> Font Show only monospaced fonts&#xff1a; 只显示等宽字体。编程时使用等宽字体效果较好。 References [1] Yon…

Opencv实战(1)读取与图像操作

Opencv 文章目录 Opencv一、读取图片1.imshow2.namedWindow3.imshow4.效果图 二、像素操作(1).访问像素1. at()2.Mat_ (2).遍历像素1.指针遍历2.迭代器遍历 (3).threshold(4).通道分离1.split2.merge (5)Gamma矫正 三、深浅拷贝 一、读取图片 1.imshow Mat imread(const stri…

Spark---环境搭建---入门概念

目录 环境搭建 测试 Apache Spark是用于大规模数据处理的统一分析引擎&#xff1b; spark 仅仅替代了hadoop的mapraduce&#xff1b; spark比hadoop快一百倍&#xff1b; 环境搭建 1&#xff1a;解压&#xff1b; 2&#xff1a;配置spark环境变量&#xff1a; vim /etc/pro…

查看 PyCharm 代码文件目录位置

查看 PyCharm 代码文件目录位置 1. Show in Files2. Copy PathReferences 1. Show in Files right click -> Show in Files / Show in Explorer 即可打开目录 2. Copy Path right click -> Copy Path 即可复制目录或文件路径 References [1] Yongqiang Cheng, http…

入门级10寸加固行业平板—EM-I10J

亿道信息以其坚固耐用的智能终端设备而闻名&#xff0c;近日发布了一款理想入门级 10 英寸加固平板电脑—I10J。 EM-I10J​​ 这是一款 10 英寸的平板电脑&#xff0c;主要运行 Windows 10操作系统&#xff0c;带有硬化塑料外壳&#xff0c;具有 IP65 防水防尘功能和 MIL-STD 8…

DAP下载程序(在MDK上配置DAP)以及程序调试(Keil uVision5软件的使用)

目录 1. 在MDK上配置DAP 2. 了解不同开发板不同的下载算法 3. DAP调试程序 3.1 JTAG/SWD调试原理概述 3.2 基础执行控制按钮 3.3 查看程序段/函数执行时间 3.4 结束仿真报错解决方法 3.5 工具栏常用窗口按钮介绍 3.5.1 Call Stack窗口&#xff1a;查看函数调…

ChatGPT实战100例 - (17) 用ChatGPT实现音频长度测量和音量调整

文章目录 ChatGPT实战100例 - (17) 用ChatGPT实现音频长度测量和音量调整获取音频长度pydub获取音频长度获取时长精确到秒格式设定 mutagen获取音频长度 调整音量视频音量调整注意事项 ChatGPT实战100例 - (17) 用ChatGPT实现音频长度测量和音量调整 老王媳妇说上次那个pip挺好…

多模态基础--- word Embedding

1 word Embedding 原始的单词编码方式&#xff1a; one-hot&#xff0c;维度太大&#xff0c;不同单词之间相互独立&#xff0c;没有远近关系区分。 wordclass&#xff0c;将同一类单词编码在一起&#xff0c;此时丢失了类别和类别间的相关信息&#xff0c;比如class1和class3…

按键控制LED和光敏传感器控制蜂鸣器

按键控制LED 把两个按键分别接在PB11、PB1上面&#xff0c;两个LED接在PA1和PA2上面 main.c#include "stm32f10x.h" // Device header #include "Delay.h" #include "LED.h" #include "Key.h"uint8_t keynum; //全局…