实⽤ESP32AT新⼿⼊门指南
⼀、ESP32 AT介绍
Espressif 基于 esp-idf,针对 ESP32 芯⽚,实现了⼀些常⽤的 AT 指令集,链接地址为 esp32-at。该指令集可⽤于⽤户/MCU/PC 同 ESP32 进⾏交互,也适⽤于快速进⾏ ESP32 开发。
本⽂基于 ubuntu 环境和 windows 环境,介绍快速的搭建 ESP32 AT 编译环境和烧写运⾏过程,供读者参考。
⼆:硬件准备
linux 环境或 windows 环境
⽤来编译&烧写&运⾏等操作的必须环境。
ESP32 设备
ESP32 设备包括 ESP32芯⽚,ESP32模组ESP-WROOM-32,ESP32开发板ESP32-DevKitC,ESP32开发板ESP-WROVER-KIT等。如:
USB转UART接⼝模块
CP2102模块 USB转TTL USB转串⼝ UART
USB 转 UART 接⼝模块⼀般采⽤专⽤的 USB 转 UART 接⼝芯⽚,输出为 TTL 电平,可以和 ESP32 内置的串⼝(UART)直接连接,使 ESP32 通过 USB ⼝和计算机通讯,⽅便、快捷。
三:环境搭建
3.1 编译器环境搭建
注意: 以下的 esp-idf 需要是 esp32-at 下的 esp-idf,这个 esp-idf 通常是⽐较稳定的版本,⽽不是最新的 esp-idf,所以esp32-at 和 esp-idf 必须匹配。如果 esp32-at 和 esp-idf 不匹配,有可能因为 esp-idf 函数接⼝或者结构体定义等的变动,导致 esp32-at ⽆法正常⼯作。
3.1.1 ubuntu系统
参考 esp-idf/docs/get-started/linux-setup.rst 教程
通过此教程,您将完成编译器安装并默认⽣成 ~/esp/xtensa-esp32-elf/ ⽬录。
3.1.2 window系统
参考 esp-idf/docs/get-started/windows-setup.rst 教程
通过此教程,您将完成编译器安装并默认在C盘⽣成 msys32 ⽬录。
以下步骤都将在 shell中进⾏操作。
3.2 接线
默认 ESP32 与 PC/MCU 接线如下配置:
默认 ESP32 与 PC/MCU 接线如下配置:
a) 通过串⼝线将 ESP32 连接到 PC,默认为 UART0 ⼝,UART0⼝默认⽤来显⽰ ESP32 ⼯作中详细的 log 以及⽤于烧录代码。
这些默认配置可通过 make menuconfig 由⽤户⾃⼰定义。
make menuconfig –> Component config –> ESP32-specific –> UART for console output 来配置 log 输出
b) 通过 USB 转 UART 接⼝模块将 ESP32 连接到 PC,默认为 UART1 ⼝,UART1 ⼝默认⽤来发送 A
T 指令以及查看命令是否成功执⾏。
如 ESP-WROOM-32 的默认 GPIO ⼝如下:[如果要在其他 ESP32 设备上,需要根据官⽅⽂档,重新配置引脚] GPIO16 - RXD
GPIO17 - TXD
GPIO14 - RTS
GPIO15 - CTS
这些默认配置可通过 make menuconfig由⽤户⾃⼰定义。
make menuconfig –> Component config –> AT 来配置 GPIO ⼝。
四:SDK 准备
⽤户可通过如下⽅式获取整个 SDK。
$ cd esp32-at
$ git submodule update --init --recursive123
or
⽬录结构如下:
├── at_customize.csv // ⽤户⾃定义分区表
├── build // 存放编译后⽣成的⽂件
├── components // 核⼼组件
| ├── at // AT 主⽬录
| | ├── component.mk // AT 编译⼊⼝
| | ├── include // ⽤户可⽤的 AT 头⽂件
| | └── lib
| | └── libat_core.a // 核⼼ AT 功能实现
| └── customized_partitions // customized_partitions ⽤于编译 AT 中,可以⾃定义使⽤的⼀些 bin ⽂件,如:ssl ca、ssl cert、ble server table 等
├── docs // 说明⽂档
├── esp-idf // esp32-at 编译依赖 esp-idf
├── main // AT 应⽤程序⼊⼝
├── Makefile // 总编译⼊⼝ makefile
├── partitions_at.csv // 系统分区表
├── README.md // AT 说明
├── sdkconfig // ⽤户⾃定义编译配置
├── sdkconfig.defaults // 默认编译配置
├── sdkconfig.old
└── tools // 相关⼯具集12345678910111213141516171819
五:编译&烧写&运⾏
5.1 python 模块安装
由于编译过程依赖于 python 以及 python 中 yaml,xlrd 模块,在编译前需正确安装好 python,yaml,xlrd。(如已安装,忽略 5.1)
根据⾃⼰的环境选择安装步骤a) or b):
a) windows 中安装:
选择安装⾼版本的 python,如 python 3.6.3,选择完全安装,yaml,xlrd 模块将⾃动安装在 PC 上。
或:
选择安装低版本的 python,如python 2.7
接着安装下载⼯具pip
再安装 yaml,xlrd 模块
$ pip install pyyaml xlrd1
如果安装失败,请尝试下⾯⽅式:
$ easy_install rosinstall
$ easy_install python-yaml
$ easy_install xlrd123
b) ubuntu 中安装:
$ sudo apt-get install python
$ sudo apt-get install python-yaml
$ sudo apt-get install python-xlrd123
5.2 编译&烧写
python新手快速入门5.2.1 [可选]编译前配置
配置 ESP32 AT 的编译环境:
$ make menuconfig1
如选择串⼝:
make menuconfig -> Serial flasher config -> Default serial port
5.2.2 [可选]编译前配置
擦除 ESP32 的 flash & 删除编译信息 & 删除编译配置:
$ make erase_flash && make clean && rm sdkconfig && make defconfig1
5.2.3 编译&烧写
$ make flash1
通过 make flash 将编译整个 esp32-at ,同时下载/烧录编译好的程序到 ESP32 上。
5.3 运⾏
打开串⼝⼯具,连接,连接配置如下:
波特率: 115200
数据位: 8
停⽌位: 1
奇偶校验: None
流控: None
将 ESP32 调到运⾏状态,通过串⼝⼯具查看并发送 AT 指令,如通过 cutecom 可得到:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论