加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 乐鑫 AT 固件初体验
    • 硬件准备 
    • 选择 AT 固件
    • 烧录 AT 固件
    •  
    • AT 指令测试 TCP Server 连接
    • 参考
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

初体验乐鑫 ESP32 AT 指令

2021/01/26
1181
阅读需 9 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

乐鑫 AT 固件初体验

初步体验 AT 指令下 TCP 数传,为了验证 AT 命令解析器。

前往乐鑫官网 下载最新版本 AT 固件和 AT 指令集手册。

硬件准备 

本文使用乐鑫的 ESP-WROOM-32(ESP-WROOM-32 是 ESP32-WROOM-32 的曾用名)模块,4MB Flash,无 PSRAM。ESP32 系列模组和开发板参考该链接,这里有详细的对比介绍。

模块接线示意图如下:(图片来自乐鑫文档)

ESP32-WROOM-32 Series Hardware Connection

请在该链接里找到你的硬件对应的接线方式,连线必须准确无误!

选择 AT 固件

乐鑫的 AT 固件自 V2.0 之后就开始使用 ESP-AT(基于 ESP-IDF 或 ESP8266_RTOS_SDK 实现的软件工程)了,不再使用 NonOS 版本。如果你使用的是 ESP8266 模块,那么可以考虑是否可以平滑升级到新的版本。

各版本 AT 固件的差异参考该链接。

从该链接里选择对应你硬件的 AT 固件,这里我选择 ESP32 AT binaries / ESP32-WROOM-32 Series / v2.1.0.0 ESP32-WROOM-32_AT_Bin_V2.1.0.0.zip。

烧录 AT 固件

烧录过程主要参考乐鑫的官方文档,针对我的这个 ESP-WROOM-32 模块,有以下几个步骤:

下载 AT 固件到 PC 上(ESP32-WROOM-32_AT_Bin_V2.1.0.0.zip)

下载烧录工具

烧录工具支持 Windows 和 MAC/Linux 系统,在该链接里下载。

正确连接 ESP-WROOM-32 模块到 PC 上

ESP-WROOM-32 有两路串口,一路需要使用一个 USB-A 转 Micro-USB 的线,用于固件下载和日志查看;另外一路串口需要一个 USB 转 TTL 串口的模块,用于 AT 指令传输。

连线方式见前面的 硬件准备 章节。

打开烧录工具,烧录默认 AT 固件

选择默认 AT 固件,下载到 0x0 地址,并勾选 DoNotChgBin

然后选择对应的 串口 号,波特率使用默认的即可。最后点击 START 开始烧录。

确认烧录成功(发送 AT 和 AT+GMR 命令确认)

AT 指令返回 OK 标识 AT 服务已经正常启动,发 AT+GMR 查看 AT 固件信息是否跟你烧录的一致。

  • 打开工具 flash_download_tool_v3.8.5.exe

选择 Developer Mode

选择芯片型号(本文里,我使用 ESP32 DownloadTool)

 

AT 指令测试 TCP Server 连接

确定 WiFi 模块即将连接的路由器

将 PC 接入该路由器,保证 WiFi 模块与路由器在同一个局域网下

PC 机开启 TCP Server

如上图所示,开启 TCP Server,ip:192.168.50.190 端口:8089。

AT 模块连接 AT 串口到 PC,并上电,确定 AT 功能正常

发送 AT 返回 OK。

设置 AT 模块为 STA 模式(STA 模式下才能连接路由器 AP 热点)

发送 AT+CWMODE=1 进入 STA 模式,1 为 STA,2 为 AP,3 为 AP+STA。

AT+CWMODE=1

OK

连接路由器

发送 AT+CWJAP="SSID","PWD" 连接路由器,SSID 为路由器 AP 热点名称,PWD 为路由器热点密码。示例如下:

AT+CWJAP="murphy","pwd_12345678"
WIFI CONNECTED
WIFI GOT IP

OK

查询模块 ip 地址,判断是否与 PC 在同一网段下

AT+CIFSR
+CIFSR:STAIP,"192.168.50.15"
+CIFSR:STAMAC,"30:ae:a4:04:75:f0"

OK

连接 TCP Server

AT+CIPSTART="TCP","192.168.50.190",8089
CONNECT

OK

如下图所示,连接成功:

模块发数据给 TCP Server

先发送 AT 命令 AT+CIPSEND=x,其中 x 表示要发送的数据长度,告诉 AT 解析器,我要发 x 字节的数据,你准备好接收!

AT 解析器成功识别之后返回下面信息:

OK

>

当看到 > 的时候,我们就可以发数据了,但一定要发送 x 字节数据,否则多余的数据会被丢掉,并返回 busy p...

TCP Server 发数据给模块

TCP Server 直接发数据就可以,WiFi 模块收到后,显示 +IPD,x:data 格式的信息。其中 +IPD 表示 WiFi 模块收到了对端的数据,x 表示收到的数据长度,data 表示收到的数据内容。示例如下图所示:

模块透传发送数据

 

首先设置数传模式为透传模式,指令 AT+CIPMODE=1。1:透传模式;0:普通模式。他们的主要区别是在透传模式可以在 AT+CIPSEND 指令后一直发送数据(直到退出透传发送),而普通模式下每次发送数据必须使用 AT+CIPSEND=x 来指定数据长度。

AT+CIPMODE=1

OK
AT+CIPSEND

OK

>

这个时候就可以发送数据直达模块了。

模块退出透传发送

发送 +++ 后停顿 1 秒。使用串口工具一次性发送 +++ 而不是手动一个个发送,否则会导致误检测成数据。

这是 AT 指令的一个标准约定。

如果此时想切换成 普通数传模式,发送 AT+CIPMODE=0 指令。

为了更好的直观感受,录屏展示两种模式下的数传:

参考

这里给出了乐鑫官网的参考链接,需要阅读原始文档的童鞋移步这里。
 

乐鑫官方 ESP-AT 用户指南

包括 AT 固件下载,AT 指令集介绍,编译与开发。

https://docs.espressif.com/projects/esp-at/zh_CN/latest/Get_Started/index.html

乐鑫官方 ESP8266 AT 固件

https://docs.espressif.com/projects/esp-at/en/latest/AT_Binary_Lists/ESP8266_AT_binaries.htm

乐鑫工具下载

https://www.espressif.com/zh-hans/support/download/other-tool

相关推荐

电子产业图谱

分享嵌入式、物联网知识技能

TA的热门作品