at指令学习笔记

注意:at指令不区分大小写,本文只列举了部分指令,而且列举的指令只详细介绍了几个。esp-01s好像并不支持蓝牙功能。

学习at指令的目标:学习at指令不需要记忆指令,可以用到时再查看指令,所以学习目标是学会查看指令,在使用esp8266时要结合官网来配置指令。

at指令格式为at+指令?或者at+指令=配置信息或者at+指令,?表示查询,=表示设置信息。

at基本指令

  • AT:测试 AT 启动
  • AT+RST:重启模块
  • AT+GMR:查看版本信息
  • AT+CMD:查询当前固件支持的所有命令及命令类型

 at WiFi指令

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

1、连接和查询WiFi指令

2、与热点相关指令

  • AT+CWSAP:配置 ESP32 SoftAP 参数

  • AT+CWLIF:查询连接到 ESP32 SoftAP 的 station 信息

  • AT+CWQIF:断开 station 与 ESP32 SoftAP 的连接

 

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

  • 查询:AT+CWMODE?

  • 设置:AT+CWMODE=<mode>[,<auto_connect>]

<mode>:模式

  •              0: 无 Wi-Fi 模式,并且关闭 Wi-Fi RF   
  •              1: Station 模式(客户端模式)
  •              2: SoftAP 模式(服务端模式)
  •              3: SoftAP+Station 模式

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

  • 0: 禁用自动连接 AP 的功能

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

 AT+CWSTATE:查询 Wi-Fi 状态和 Wi-Fi 信息

查询:AT+CWSTATE?

响应:

+CWSTATE:<state>,<"ssid">

OK

说明:

  • <state>:当前 Wi-Fi 状态

    • 0: ESP32 station 尚未进行任何 Wi-Fi 连接

    • 1: ESP32 station 已经连接上 AP,但尚未获取到 IPv4 地址

    • 2: ESP32 station 已经连接上 AP,并已经获取到 IPv4 地址

    • 3: ESP32 station 正在进行 Wi-Fi 连接或 Wi-Fi 重连

    • 4: ESP32 station 处于 Wi-Fi 断开状态

  • <”ssid”>:目标 AP 的 SSID

 

 

 

 

 

 

<think>好的,我现在需要回答用户关于如何使用ESP8266通过AT指令接收数据的问题。首先,我需要回顾一下用户提供的参考资料,看看有没有相关的信息。 用户引用了四个来源。引用[1]是关于连接WiFi的教程,引用[2]是AT指令集,引用[3]是关于数据上报到OneNET平台,引用[4]是模块介绍和AT指令学习笔记。我需要从中找到与接收数据相关的部分。 首先,引用[2]提到AT指令集,可能包含接收数据的指令。比如,ESP8266作为客户端或服务器时,接收数据可能有特定的指令。例如,当作为TCP客户端接收到数据时,可能会通过某种格式返回,比如+IPD指令。我需要确认这一点是否正确。 引用[3]中提到了发送AT指令配置模块连接热点,但主要是发送数据到云平台,可能没有详细说明接收数据的方法。不过,可能需要用到类似的串口监听方式,当有数据传入时,模块会通过串口返回信息。 引用[4]的模块介绍可能有引脚定义,但接收数据可能更依赖AT指令本身,而不是硬件连接。不过需要确认是否有硬件设置影响数据接收,比如串口波特率是否正确。 接下来,我需要整理接收数据的步骤。首先,ESP8266需要配置为Station模式,连接到WiFi网络,然后建立TCP连接或开启服务器。当作为TCP客户端时,如果服务器发送数据,ESP8266会通过串口返回+IPD开头的消息,显示接收到的数据。用户需要监听串口,并解析这些消息。 可能的AT指令包括设置模式AT+CWMODE,连接WiFi AT+CWJAP,建立TCP连接AT+CIPSTART,然后等待数据。当数据到达时,模块会自动发送+IPD信息。此外,可能需要设置传输模式为透传模式(AT+CIPMODE=1),这样数据可以直接通过串口传输。 还需要考虑单连接和多连接模式,使用AT+CIPMUX命令。例如,如果作为服务器,可能需要启用多连接,然后监听特定端口,当有客户端连接并发送数据时,模块会返回接收到的数据。 示例部分应该包括配置步骤和接收数据的示例情况。例如,连接到TCP服务器后,当服务器发送“Hello”,ESP8266会返回类似+IPD,5:Hello的信息,其中5是数据长度。 可能的问题包括如何解析数据格式,如何处理多段数据,以及常见的错误排查,比如波特率不匹配导致接收乱码,或者没有正确进入透传模式。 需要确保所有AT指令的语法正确,比如参数是否正确,是否有引号包围SSID和密码等。同时,要提醒用户注意串口监听的设置,比如正确的波特率(通常是115200),以及发送指令后的响应等待时间。 最后,根据用户的要求,生成相关问题,比如如何发送数据,如何建立服务器,如何解析数据包,或者常见问题解决方法。</think>### ESP8266通过AT指令接收数据方法 #### 步骤说明 1. **基础配置** - 设置ESP8266为Station模式: ```AT+CWMODE=1``` - 连接WiFi网络(以热点名`ESP8266`,密码`esp123456`为例): ```AT+CWJAP="ESP8266","esp123456"``` - 启用单连接模式(若需多连接则用`AT+CIPMUX=1`): ```AT+CIPMUX=0``` [^4]。 2. **建立通信连接** - **作为TCP客户端接收数据**: 连接到目标服务器(如IP`192.168.1.100`,端口`8080`): ```AT+CIPSTART="TCP","192.168.1.100",8080``` 成功后会返回`CONNECT`。此时服务器发送的数据会通过串口以`+IPD,<长度>:<数据>`格式返回,例如: ```+IPD,5:Hello``` 表示收到5字节数据“Hello”[^2]。 - **作为TCP服务器接收数据**: 开启服务器模式(监听端口`8080`): ```AT+CIPSERVER=1,8080``` 客户端连接后,发送的数据同样以`+IPD`格式返回。 3. **透传模式接收数据** - 进入透传模式(需先建立TCP连接): ```AT+CIPMODE=1``` ```AT+CIPSEND``` 此后所有串口输入会直接发送到服务器,接收的数据也会实时显示[^3]。 #### 示例代码(通过串口工具操作) ```plaintext AT+CWMODE=1 AT+CWJAP="ESP8266","esp123456" AT+CIPMUX=0 AT+CIPSTART="TCP","192.168.1.100",8080 // 等待返回CONNECT后,接收数据格式:+IPD,<长度>:<数据> ``` #### 关键注意事项 - **数据格式解析**:`+IPD`后的第一个数字为数据长度,冒号后为实际内容。 - **波特率匹配**:确保串口工具与ESP8266的波特率一致(通常为115200)[^4]。 - **透传模式退出**:发送`+++`(不加换行)可退出透传模式[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值