【ESP8266】基础AT指令和常用WIF指令

news2024/10/7 6:48:48

【ESP8266 (12F)】硬件参数 以及 固件烧录

文章目录

  • 一、常用AT命令
    • 1.1 基础
    • 1.2 WiFi相关
      • 1.21 AT+CWMODE:查询/设置 Wi-Fi 模式 (Station/SoftAP/Station+SoftAP)
      • 1.22 AT+CWJAP:连接 AP
      • 1.23 AT+CWLAP:扫描当前可用的 AP
      • 1.24 AT+CWSAP:配置 ESP SoftAP 参数
      • 1.25 AT+CWLIF:查询连接到 ESP SoftAP 的 station 信息
  • 二、应用
    • 2.1 SoftAP模式
    • 2.2 WiFi中继(趣味)

一、常用AT命令

完整的请参考:AT指令指南 这个pdf。

指令复制进串口助手可能无效,可以尝试手打。

资料地址:https://github.com/CQUPTLei/ESP8266

通用 AT 命令有四种类型:

类型命令格式说明
测试命令AT+<命令名称>=?查询设置命令的内部参数及其取值范围
查询命令AT+<命令名称>?返回当前参数值
设置命令AT+<命令名称>=<…>设置用户自定义的参数值,并运行命令
执行命令AT+<命令名称>运行无用户自定义参数的命令
  • 不是每条 AT 命令都具备上述四种类型的命令。
  • 命令里输入参数,当前只支持字符串参数和整形数字参数。
  • 尖括号 < > 内的参数不可以省略。
  • 方括号 [ ] 内的参数可以省略,省略时使用默认值。

1.1 基础

AT:测试AT启动

AT+RST:重启

AT+GMR:查看版本信息

AT+CMD?:查询当前固件支持的所有命令及命令类型

AT+GSLP=time:进入Deep-sleep模式,单位毫秒

ATE1、ATE0:开启或关闭 AT 回显功能

AT+RESTOREL:恢复出厂设置(当前固件)

AT+UART_DEF=115200,8,1,0,3:设置串口的波特率、数据位、停止位、校验位、流控(下次上电依然有效)

AT+SYSRAM?:查看当前剩余堆空间和最小堆空间

AT+SYSMSG:查询/设置系统提示信息

AT+SYSSTORE:设置参数存储模式,=0:不存储在Flash,=1:存储在Flash,?:查询当前存储模式

  • AT:测试 AT 启动
  • AT+RST:重启模块
  • AT+GMR:查看版本信息
  • AT+CMD:查询当前固件支持的所有命令及命令类型
  • AT+GSLP:进⼊ Deep-sleep 模式
  • ATE:开启或关闭 AT 回显功能
  • AT+RESTORE:恢复出厂设置
  • AT+SAVETRANSLINK:设置开机 透传模式 信息
  • AT+TRANSINTVL:设置 透传模式 模式下的数据发送间隔
  • AT+UART_CUR:设置 UART 当前临时配置,不保存到 flash
  • AT+UART_DEF:设置 UART 默认配置, 保存到 flash
  • AT+SLEEP:设置 sleep 模式
  • AT+SYSRAM:查询当前剩余堆空间和最小堆空间
  • AT+SYSMSG:查询/设置系统提示信息
  • AT+SYSMSGFILTER:启用或禁用 系统消息 过滤
  • AT+SYSMSGFILTERCFG:查询/配置 系统消息 的过滤器
  • AT+SYSFLASH:查询或读写 flash 用户分区
  • AT+SYSMFG:查询或读写 manufacturing nvs 用户分区
  • AT+RFPOWER:查询/设置 RF TX Power
  • AT+SYSROLLBACK:回滚到以前的固件
  • AT+SYSTIMESTAMP:查询/设置本地时间戳
  • AT+SYSLOG:启用或禁用 AT 错误代码提示
  • AT+SLEEPWKCFG:设置 Light-sleep 唤醒源和唤醒 GPIO
  • AT+SYSSTORE:设置参数存储模式
  • AT+SYSREG:读写寄存器

1.2 WiFi相关

  • AT+CWINIT:初始化/清理 Wi-Fi 驱动程序
  • AT+CWMODE:查询/设置 Wi-Fi 模式 (Station/SoftAP/Station+SoftAP)
  • AT+CWSTATE:查询 Wi-Fi 状态和 Wi-Fi 信息
  • AT+CWJAP:连接 AP
  • AT+CWRECONNCFG:查询/设置 Wi-Fi 重连配置
  • AT+CWLAPOPT:设置 AT+CWLAP 命令扫描结果的属性
  • AT+CWLAP:扫描当前可用的 AP
  • AT+CWQAP:断开与 AP 的连接
  • AT+CWSAP:配置 ESP32 SoftAP 参数
  • AT+CWLIF:查询连接到 ESP32 SoftAP 的 station 信息
  • AT+CWQIF:断开 station 与 ESP32 SoftAP 的连接
  • AT+CWDHCP:启用/禁用 DHCP
  • AT+CWDHCPS:查询/设置 ESP32 SoftAP DHCP 分配的 IPv4 地址范围
  • AT+CWAUTOCONN:上电是否自动连接 AP
  • AT+CWAPPROTO:查询/设置 SoftAP 模式下 802.11 b/g/n 协议标准
  • AT+CWSTAPROTO:设置 Station 模式下 802.11 b/g/n 协议标准
  • AT+CIPSTAMAC:查询/设置 ESP32 Station 的 MAC 地址
  • AT+CIPAPMAC:查询/设置 ESP32 SoftAP 的 MAC 地址
  • AT+CIPSTA:查询/设置 ESP32 Station 的 IP 地址
  • AT+CIPAP:查询/设置 ESP32 SoftAP 的 IP 地址
  • AT+CWSTARTSMART:开启 SmartConfig
  • AT+CWSTOPSMART:停止 SmartConfig
  • AT+WPS:设置 WPS 功能
  • AT+MDNS:设置 mDNS 功能
  • AT+CWJEAP:连接 WPA2 企业版 AP
  • AT+CWHOSTNAME:查询/设置 ESP32 Station 的主机名称
  • AT+CWCOUNTRY:查询/设置 Wi-Fi 国家代码

1.21 AT+CWMODE:查询/设置 Wi-Fi 模式 (Station/SoftAP/Station+SoftAP)

AT+CWMODE?查询 ESP 设备的 Wi-Fi 模式

  • 0: 无 Wi-Fi 模式,并且关闭 Wi-Fi RF
  • 1: Station 模式
  • 2: SoftAP 模式
  • 3: SoftAP+Station 模式
  • Station模式是客户端模式,模块可以连接到其他路由器发出的Wi-Fi信号,主要应用在网络通信中。
  • SoftAP模式是软路由模式,模块本身相当于一个路由器,其他设备可以连接到模块发送的Wi-Fi信号,主要应用在主从设备的主机部分。
  • Station+SoftAP模式是混合模式,模块可以在与其他设备连接的同时充当路由器,结合上面两种模式的综合应用,一般应用在需要网络通信且在主从关系中的主机

AT+CWMODE=<mode>[,<auto_connect>]设置 ESP 设备的 Wi-Fi 模式

<auto_connect>:切换 ESP 设备的 Wi-Fi 模式时(例如,从 SoftAP 或无 Wi-Fi 模式切换为 Station 模式或 SoftAP+Station 模式),是否启用自动连接 AP 的功能,默认值:1。参数缺省时,使用默认值,也就是能自动连接。

– 0: 禁用自动连接 AP 的功能
– 1: 启用自动连接 AP 的功能,若之前已经将自动连接 AP 的配置保存到 flash 中,则 ESP 设备将自动连接 AP

1.22 AT+CWJAP:连接 AP

连接wifi时,先设置为模式1或者3,注意你的模块支持的频段,比如的是是2.4GHz的,就不能连5GHz的wifi

AT+CWJAP?查询与 ESP Station 连接的 AP 信息

AT+CWJAP=[<ssid>],[<pwd>][,<bssid>][,<pci_en>][,<reconn_interval>][,<listen_interval>,→][,<scan_mode>][,<jap_timeout>][,<pmf>]设置 ESP Station 需连接的 AP

AT+CWJAP将 ESP station 连接至上次 Wi-Fi 配置中的 AP

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上面的说明可能看的头晕了,莫急,看看简单示例:

// 如果目标 AP 的 SSID 是 "abc",密码是 "0123456789",则命令是:
AT+CWJAP="abc","0123456789"
// 如果目标 AP 的 SSID 是 "ab\,c",密码是 "0123456789"\",则命令是:
AT+CWJAP="ab\\\,c","0123456789\"\\"
// 如果多个 AP 有相同的 SSID "abc",可通过 BSSID 找到目标 AP:
AT+CWJAP="abc","0123456789","ca:d7:19:d8:a6:44"
// 如果 ESP-AT 要求通过 PMF 连接 AP,则命令是:
AT+CWJAP="abc","0123456789",,,,,,,3

在这里插入图片描述

1.23 AT+CWLAP:扫描当前可用的 AP

功能:
列出符合特定条件的 AP,如指定 SSID、MAC 地址或信道号

1.24 AT+CWSAP:配置 ESP SoftAP 参数

注意把模式设置为3.

AT+CWSAP?:查询 ESP SoftAP 的配置参数

AT+CWSAP=<ssid>,<pwd>,<chl>,<ecn>[,<max conn>][,<ssid hidden>]:设置 ESP SoftAP 的配置参数

在这里插入图片描述
在这里插入图片描述

示例:

AT+CWSAP="ESP8266","11223344",5,3

1.25 AT+CWLIF:查询连接到 ESP SoftAP 的 station 信息

输出:连接者的ip地址和mac地址


这些是常用的,更多的请看完整PDF。

二、应用

2.1 SoftAP模式

ESP8266作为SoftAP,主要是用来使连接到它的设备可以直接和他通信。连接到它的设置是不能直接连接到因特网的。

在我们的大多数ESP8266 NodeMCU Web 服务器项目中,我们将 ESP8266 连接到无线路由器。在这个配置中,我们可以通过本地网络访问ESP8266。

在这种情况下,路由器充当接入点,ESP8266 设置为站。因此,您需要连接到路由器(本地网络)才能控制 ESP8266。

在这里插入图片描述

在某些情况下,这可能不是最佳配置(当您附近没有路由器时)。但是,如果您将 ESP8266 设置为接入点(热点),您可以使用任何具有 Wi-Fi 功能的设备连接到 ESP8266,而无需连接到路由器。

简而言之,当您将 ESP8266 设置为接入点时,您会创建自己的 Wi‑Fi 网络,附近的 Wi-Fi 设备(站点)可以连接到它(例如您的智能手机或计算机)。

在这里插入图片描述

因为 ESP8266 不进一步连接到有线网络(如您的路由器),所以它被称为软 AP(软接入点)。

这意味着如果您尝试从 Internet 加载库或使用固件,它将不起作用。如果您尝试向 Internet 上的服务发出 HTTP 请求(例如将传感器读数发布到云),它也不起作用。


也可以运行在,SoftAP+Station模式,让子设备通过esp8266实现互联网数据传输,这也是常用的模式之一。

或者使用串口、IIC等连接子设备,再通过esp8266连接互联网。

2.2 WiFi中继(趣味)

此外,esp8266还可以运行在SoftAP+Station 模式,再使用NAT功能,让ESP8266 连接到家里的路由器,再让其他设备连接到ESP8266的WiFi,实现WiFi中继的效果。

这功能路由器也能完成,但使用ESP8266或许更便宜,或许还可以有其他用处,也挺好玩的。
在这里插入图片描述

这是项目地址:https://github.com/martin-ger/esp_wifi_repeater,可以到这里下载固件。



~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

容器JVM内存配置最佳实践

背景信息 当您的业务是使用Java开发&#xff0c;且设置的JVM堆空间过小时&#xff0c;程序会出现系统内存不足OOM&#xff08;Out of Memory&#xff09;的问题。事件中心的OOM事件是指系统内存不足时&#xff0c;触发了Linux的内存回收&#xff08;OOM Killer&#xff09;机制…

7D性能工程初级班第一期开班了!

Slogan&#xff1a;领略性能艺术的壮阔、感受性能测试的博大精深 课程大纲见&#xff1a;【7D-RESAR 性能工程初级班大纲】 报名流程 讲师介绍 高楼老师&#xff1a; 性能领域公认的具有匠心的技术专家。架构级性能解决方案资深专家。性能测试调优分析18年经验&#xff0c;…

Java中的实体类为什么要 implements Serializable?

1. 序列化和反序列化 首先来解释一下什么是序列化和反序列化&#xff1a; 序列化&#xff1a;把对象转换为字节序列的过程称为对象的序列化。 反序列化&#xff1a;把字节序列恢复为对象的过程称为对象的反序列化。 在 Java 和其他语言进行通信的时候&#xff0c;需要将对象…

安卓手机ROOT和刷机基本操作——以红米Note7刷安卓原生系统并Root为例

文章目录 前言一.简介1. 安卓权限2. 安卓分区Boot分区System分区Data分区Cache分区Recovery分区 3. Fastboot 二.前置准备1. Android SDK 工具2. 解BL锁 三. ROOT1.Fastboot线刷(推荐)获取系统boot镜像修补boot.img刷入boot 2. Recovery卡刷(可以尝试) 四. 红米Note7刷安卓原生…

Burpsuite介绍及2022.8.2版本超详细安装教程(图文版)

Burpsuite介绍及2022.8.2版本超详细安装教程&#xff08;图文版&#xff09; 文章目录 Burpsuite介绍及2022.8.2版本超详细安装教程&#xff08;图文版&#xff09;Burpsuite是什么&#xff1f;Burpsuite环境配置及安装JDK选择及配置Burpsuite下载安装 Burpsuite快捷启动方式选…

卷积神经网络中池化层的详细介绍

卷积神经网络自2012年&#xff0c;到2023年经历了翻天覆地的变化。最早的卷积神经网络由卷积层、池化层和全连接层所构成。其中卷积层用于提取图像的特征&#xff0c;池化层削减特征数量&#xff0c;全连接层用于对特征进行非线性组合并预测类别。然而在transformer横行的年代&…

【瑞吉外卖】适合速成SpringBoot和MyBatis的作业项目

文章目录 零、MyBatisPlus一、管理端登录1.0 统一的返回结果Result类1.1 admin/login1.2 admin/logout1.3 Filter1.4 自定义消息转换器 二、员工管理2.1 新增员工-字段填充2.2 全局异常捕获2.3 员工信息分页查询 三、分类管理3.1 分类的删除 四、菜品管理4.1 文件的上传与下载1…

CNAPPs投资热度持续攀升 腾讯云被Gartner评为全球案例厂商

近日&#xff0c;Gartner发布《新兴技术&#xff1a;在三重挤压中蓬勃发展—对云安全风险投资的关键洞察》&#xff08;Emerging Tech: Thriving Amid the Triple Squeeze— Critical Insights on VC Funding for Cloud Security&#xff09;&#xff08;以下简称《报告》&…

Flink 学习五 Flink 时间语义

Flink 学习五 Flink 时间语义 1.时间语义 在流式计算中.时间是一个影响计算结果非常重要的因素! (窗口函数,定时器等) Flink 可以根据不同的时间概念处理数据。 处理时间: process time System.currentTimeMillis()是指执行相应操作的机器系统时间&#xff08;也称为纪元时间…

优化|如何减小噪声和误差对梯度下降法的影响

编者按&#xff1a; ​ 许多精确算法在理论上能保证我们的目标函数值一直下降。在随机梯度下降以及无导数优化等情况下&#xff0c;目标移动方向受到噪声干扰&#xff0c;与实际下降方向往往会存在偏差。本文将分析噪声和下降偏差对于梯度下降法等算法的影响&#xff0c;并且介…

SpringMVC08:拦截器+文件下载

目录 一、概述 二、自定义拦截器 1、新建一个Moudule&#xff0c;SpringMVC-07-Interceptor&#xff0c;添加web支持&#xff1b; 2、配置web.xml和springmvc-servlet.xml文件 3、编写一个拦截器 4、在springmvc的配置文件中配置拦截器 5、编写一个Controller&#xff0…

【数据库】Mysq备份与恢复

文章目录 一、数据库备份的分类1. 数据备份的重要性2. 数据库备份的分类3. 常见的备份方法 二、Mysql 完全备份与恢复1. Mysql 完全备份2. 数据库完全备份分类2.1 物理冷备份及恢复2.2 mysqldump 备份数据库完全备份一个或多个完整的库&#xff08;包括其中所有的表&#xff09…

基于YOLOv5实现安全帽检测识别

目录 1、作者介绍2、YOLOv5网络模型2.1 算法简介2.2 数据集介绍2.2.1 VOC数据集准备2.2.2 YOLOv5算法检测流程 3、代码实现3.1 数据集划分部分代码3.2 训练阶段3.3 测试阶段3.4 检测结果 4、问题与分析参考链接 1、作者介绍 陈梦丹&#xff0c;女&#xff0c;西安工程大学电子…

【6.20】sleep()和wait()的区别

sleep()和wait()的区别 1、wait()方法 1.1使用场景 当某个线程获取到锁后&#xff0c;却还是不满足执行的条件&#xff0c;就可以调用对象锁的wait方法&#xff0c;进入等待状态。 直到外在条件满足了&#xff0c;就可以由其它线程调用notify或者notifyAll方法&#xff0c;…

在软件研发排期中要求“倒推时间”,项目结束后悲剧了……

有没有遇到某个项目任务的研发周期已被各路boss定下&#xff0c;研发团队都觉得时间不合理&#xff0c;反馈给上级无果&#xff0c;而要求“倒推时间”进行任务排期的情况&#xff1f; 什么是“倒推时间”&#xff1f; 目标倒推法&#xff0c;从剩下的时间反推算出每天该做的事…

【Java】死锁问题及ThreadLocal

什么是死锁分析过程发生死锁的原因避免死锁ThreadLocal 什么是死锁 多个线程同时被阻塞&#xff0c;它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞&#xff0c;因此程序不可能正常终止。这是一个最严重的BUG之一。 分析过程 1.一个线程一把锁 一个线…

深入理解TDD(测试驱动开发):提升代码质量的利器

在日常的软件开发工作中&#xff0c;我们常常会遇到这样的问题&#xff1a;如何在繁忙的项目进度中&#xff0c;保证我们的代码质量&#xff1f;如何在不断的迭代更新中&#xff0c;避免引入新的错误&#xff1f;对此&#xff0c;有一种有效的开发方式能帮助我们解决这些问题&a…

14.处理大数据集

14.1 随机梯度下降 假设你正在使用梯度下降来训练一个线性回归模型 当m个样本的m很大时&#xff0c;求和计算量太大了。这种梯度下降算法有另外一个名字叫做批量梯度下降&#xff08;batch gradient desent&#xff09;。这种算法每次迭代需要使用全量训练集&#xff0c;直到算…

【代码阅读软件】Source Insight 4 使用教程 | 很详细——适合新手

目录 一、概述二、常用的几个窗口&#x1f449;2.1 符号窗口&#xff08;Symbol Window&#xff09;&#x1f449;2.2 项目文件窗口&#xff08;Project Window&#xff09;&#x1f449;2.3 关系窗口&#xff08;Relation Window&#xff09;&#x1f449;2.4 上下文窗口&…

STM32--基于固件库(Library Faction)的led灯点亮

目录 一、STM32芯片的简单介绍 二、基于固件库&#xff08;Library Faction&#xff09;的led灯点亮 这是一个学习stm32的开端&#xff0c;我们由简入难&#xff0c;之前学过C51/52或是其他型号的一般都是从led开始&#xff0c;也就是简单的输入输出端口的应用。&#xff08;想…