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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mac录屏保存在哪?让你快速找到它们!

在日常生活和工作中&#xff0c;我们经常需要录制电脑屏幕&#xff0c;以便进行演示、教学或者保存重要信息。然而&#xff0c;对于许多苹果用户来说&#xff0c;他们可能并不清楚mac录屏文件在哪。在本文中&#xff0c;我们将详细介绍如何在mac上进行录屏&#xff0c;以及录屏…

网络原理(IP篇)

IP IPv4&#xff08;Internet Protocol&#xff09;数据报首部格式版本首部长度可变部分区分服务总长度标识、标志、片偏移生存时间协议首部检验和源IP地址和目的IP地址 NAT 机制&#xff08;**N**etwork **A**ddress **T**ranslator&#xff09;网络地址转换NAT将数据的转发由…

政安晨:【完全零基础】认知人工智能(二)【超级简单】的【机器学习神经网络】—— 底层算法

如果小伙伴第一次看到这篇文章&#xff0c;可以先浏览一下我这个系列的上一篇文章&#xff1a; 政安晨&#xff1a;【完全零基础】认知人工智能&#xff08;一&#xff09;【超级简单】的【机器学习神经网络】 —— 预测机https://blog.csdn.net/snowdenkeke/article/details/…

深度学习系列53:大模型微调概述

参考系列文章&#xff1a;https://zhuanlan.zhihu.com/p/635152813 github链接&#xff1a;https://github.com/liguodongiot/llm-action 1 训练范式 下面这种instructive learning&#xff0c;在模型参数达到80亿后&#xff0c;会发生质的提升&#xff1a; 类似的还有手写pr…

RK3568驱动指南|第一篇 驱动基础-第3章 helloworld 驱动实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

Vite 5.0 正式发布

11 月 16 日&#xff0c;Vite 5.0 正式发布&#xff0c;这是 Vite 道路上的又一个重要里程碑&#xff01;Vite 现在使用 Rollup 4&#xff0c;这已经代表了构建性能的大幅提升。此外&#xff0c;还有一些新的选项可以改善开发服务器性能。 Vite 4 发布于近一年前&#xff0c;它…

什么原因导致百度百科建立一直审核不通过?

百科词条对网络营销实在是太重要了&#xff0c;不管是个人还是企业想在网上开展业务&#xff0c;都必要建立百科词条。自己动手编辑百科词条&#xff0c;搞个几十次也审核不过的情况比比皆是。 为什么百度百科总是审核不通过&#xff1f;百度官方发表过声明表示百度百科词条是人…

骨传导耳机好用吗?如何挑选骨传导耳机?

骨传导耳机是一种非常创新的骨传导耳机&#xff0c;采用耳挂式佩戴&#xff0c;使用起来也非常舒适。 而且骨传导耳机最近几年还是比较火的&#xff0c;骨传导耳机的出现解决了传统入耳式耳机长时间佩戴不舒服、听力受损等问题。但随着骨传导耳机的品牌逐渐变多&#xff0c;很多…

Gin框架: 快速搭建起一个Web应用环境及处理不同类型的响应

Gin 框架简介 Gin是Golang应用最为广泛的框架之一Gin是轻量级http web框架&#xff0c;简易而高性能&#xff0c;专注于处理高并发场景 Gin框架环境搭建 基于已完成的Go环境, 参考 go mod 环境搭建 ↓ https://blog.csdn.net/Tyro_java/article/details/135297367 在初始化好…

【STM32 CubeMX】SPI HAL库编程

文章目录 前言一、CubeMX配置SPI Flash二、SPI HAL编程2.1 查询方式函数2.2 使用中断方式2.3 DMA方式 总结 前言 STM32 CubeMX 是一款由 STMicroelectronics 提供的图形化配置工具&#xff0c;用于生成 STM32 微控制器的初始化代码和项目框架。在 STM32 开发中&#xff0c;使用…

在Linux系统中设置HTTP隧道以实现网络穿透和端口转发

在数字化世界中&#xff0c;网络穿透和端口转发成为了许多开发者和系统管理员必备的技能。而在Linux系统中&#xff0c;通过设置HTTP隧道&#xff0c;我们可以轻松实现这一目标&#xff0c;让我们的服务即便在内网环境中也能被外部世界所访问。 那么&#xff0c;如何在Linux系…

idea 打不开项目 白屏

使用IDEA打开项目&#xff0c; 不知名原因崩溃了&#xff0c; 直接出现缩略图白屏。 解决过程&#xff1a; 尝试过重启IDEA&#xff0c;重启过电脑&#xff0c;重新引入相同项目&#xff08;使用不同路径&#xff0c;存在缓存记录&#xff0c;依然打不开&#xff09;&#xff…

磁盘删除的文件怎么恢复?4个简单方法(2024更新版)

“我有很多文件都保存在电脑磁盘里了&#xff0c;想问问电脑磁盘删除的文件有什么方法可以快速恢复吗&#xff1f;非常感谢大家&#xff01;” 在日常工作和生活中&#xff0c;我们经常会在磁盘中存储大量的文件。这些文件对我们来说或许都有特殊的意义。磁盘删除的文件怎么恢复…

C#,二进制数的按位旋转(Bits Rotate)算法与源代码

1 二进制数的按位旋转 二进制数的按位旋转&#xff08;翻转&#xff09;是编程中常见的按位运算方法。 二进制数的按位旋转分为左转、右转。 左转意味着数据变大&#xff0c;右转意味着数据变小&#xff08;有损&#xff09;。 2 源程序 using System; using System.Text; us…

TCP三次握手、四次挥手(简易版)

TCP是面向连接的&#xff1a;在真正通讯之前&#xff0c;必须先建立一条通讯线路&#xff0c;必须先完成连接。 TCP完成连接的过程&#xff1a;&#xff08;保证通讯线路畅通&#xff09; 建立连接&#xff1a; 三次握手基本过程 ①客户端首先向服务器发送一个建立连接的…

如何在亚马逊,美客多,阿里国际,速卖通上安全地进行自养号测评?

借鉴亚马逊等跨境电商市场的经验&#xff0c;我们建议选取具备以下特点的产品在平台上销售&#xff0c;以实现需求稳定、竞争较低、利润较高&#xff0c;同时规避法律纠纷和质检问题。首先&#xff0c;应选择体积小、重量轻、易于运输的商品&#xff0c;这有助于降低运输成本和…

Java 2:运算符、表达式和语句

2.1 运算符与表达式 Java提供了丰富的运算符&#xff0c;如算术运算符、关系运算符、逻辑运算符、位运算符等。Java语言中的绝大多数运算符和C语言相同&#xff0c;基本语句如条件分支语句&#xff0c;循环语句等&#xff0c;也和C语言类似。 2.1.1算术运算符与算术表达式 1…

vue打包优化,webpack的8大配置方案

vue-cli 生成的项目通常集成Webpack &#xff0c;在打包的时候&#xff0c;需要webpack来做一些事情。这里我们希望它可以压缩代码体积&#xff0c;提高运行效率。 文章目录 &#xff08;1&#xff09;代码压缩&#xff1a;&#xff08;2&#xff09;图片压缩&#xff1a;&…

计算机网络——17多路复用和解复用

多路复用和解复用 多路复用/解复用 在发送方主机多路复用 从多个套接字接收来自多个进程的报文&#xff0c;根据套接字对应的IP地址和端口号等信息对报文段用头部加以封装&#xff08;连头部信息用于以后的解复用&#xff09; 在接收方主机多路解复用 根据报文段的头部信息中…

揭秘铷原子钟:北斗卫星系统的“心脏”

揭秘铷原子钟&#xff1a;北斗卫星系统的“心脏” 近日&#xff0c;中国科学院精密测量科学与技术创新研究院的梅刚华团队发布了一项重要成果。他们成功将铷原子钟的短期频率稳定度提高到了E-14&#xff08;即10的负14次方&#xff0c;相当于百万亿分之一&#xff09;的量级&a…