“ESP32-A1S”的版本间的差异
(创建页面,内容为“{{Product |images=400px |categories={{Category|WiFi}} |brand=丢石头 |interfaces= {{Category|UART接口}} |related= {{ESP32 Related}} }} {{…”) |
|||
第9行: | 第9行: | ||
}} | }} | ||
− | {{ESP32 | + | == 产品概述 == |
+ | ESP32-A1S 是一款超小体积,功能强大的模组.内置先进的低功耗双核 32 位 CPU 和CodeC 音频解码芯片,可广泛应用于各种物联网场合,适用于家庭智能设备、智能音响,故事机方案等,是物联网应用的理想解决方案。 | ||
+ | |||
+ | ESP32-A1S 内部电路高度集成, 可以支持二次开发,帮助实现产品差异化的特性。 | ||
+ | |||
+ | ESP32-A1S 核心是 ESP32-S0WD 芯片,具有可扩展、自适应的特点。 用户可以切断 CPU 的电源,利用低功耗协助处理器来不断地监测外设的状态变化或某些模拟量是否超出阈值。ESP32-A1S 还集成了丰富的外设,包括电容式触摸传感器、霍尔传感器、低噪声传感放大器, SD 卡接口、以太网接口、高速 SDIO/SPI、UART、I2S 和 I2C 等。 | ||
+ | |||
+ | ESP32-A1S 核心处理器 ESP32 内置低功耗 Xtensa®32-bit LX6 MCU,主频支持 80 MHz、160 MHz 。 | ||
+ | |||
+ | ESP32-A1S 采用 SMD 封装,可通过标准 SMT 设备实现产品的快速生产,为客户提供高可靠性的连接方式,特别适合自动化、大规模、低成本的现代化生产方式,方便应用于各种物联网硬件终端场合。 | ||
+ | |||
+ | === 特性 === | ||
+ | * 完整的 802.11b/g/n Wi-Fi+BT+BLE SOC 模块 | ||
+ | * 采用低功耗单核 32 位 CPU,可作应用处理器,主频高达 160MHz,运算能力为 200 MIPS, | ||
+ | * 支持 RTOS | ||
+ | * 内置 AC101 Codec 音频解码芯片,可以支持播放音乐和录音 | ||
+ | * 内置 520 KB SRAM,外置 4MPSRAM | ||
+ | * 支持 UART/SPI/I2C/PWM/I2S/ADC/DAC 接口 | ||
+ | * 采用 SMD-38 封装 | ||
+ | * 支持多种主流压缩和无损音频格式,包括 M4A、AAC、FLAC、OGG、OPUS、MP3、 WAV 等 | ||
+ | * 支持 MIC、Line-in 等音源输⼊ | ||
+ | * 内嵌 Lwip 协议栈和 FreeRTOS | ||
+ | * 支持 STA/AP/STA+AP 工作模式 | ||
+ | * 支持安卓、IOS 的 Smart Config(APP)/AirKiss(微信) 一键配网 | ||
+ | * 支持串口本地升级和远程固件升级(FOTA) | ||
+ | * 支持二次开发,集成了 Windows、Linux 开发环境 | ||
+ | |||
+ | |||
+ | === 主要参数 === | ||
+ | * 封装:SMD-38 | ||
+ | * 尺寸:19*31.5*3(±0.2)MM | ||
+ | * 天线形式:板载 PCB 天线/外接 IPEX | ||
+ | * 频谱范围:2400 ~ 2483.5MHz | ||
+ | * 工作温度:-40 ℃ ~ 85 ℃ | ||
+ | * 存储环境:-40 ℃ ~ 125 ℃ , < 90%RH | ||
+ | * 供电范围:供电电压 3.0V ~ 3.6V,供电电流 >500mA | ||
+ | * 功耗: | ||
+ | *: Wi-Fi TX(13dBm~21dBm):160~260mA | ||
+ | *: BT TX:120mA | ||
+ | *: Wi-Fi RX:80~90mA | ||
+ | *: BT RX:80~90mA | ||
+ | *: Modem-sleep:5~10mA | ||
+ | *: Light-sleep:0.8mA | ||
+ | *: Deep-sleep:20μA | ||
+ | *: Hibernation:2.5μA | ||
+ | * 支持接口:UART/SPI/SDIO/I2C/PWM/I2S/IR/ADC/DAC | ||
+ | * IO 口数量:14 | ||
+ | * 串口速率:支持 300 ~ 4608000 bps ,默认 115200 bps | ||
+ | * 蓝牙:蓝牙 BR/EDR 和 BLE 4.2 标准,支持 A2DP,AVRC 协议等 | ||
+ | * 音频格式:MP3、WAV、M4A、AAC、FLAC、OGG、OPUS 等 | ||
+ | * 音频输出:支持 1 路耳机输出和 1 路左右扬声器输出 | ||
+ | * 音频输入:支持 LINEIN 和 2 路 MIC 输入 | ||
+ | * 安全性:WPA/WPA2/WPA2-Enterprise/WPS | ||
+ | * SPI Flash:默认 32Mbit,最大支持 128Mbit | ||
+ | |||
+ | == 选型列表 == | ||
+ | {{ESP32 Selection Guide}} | ||
+ | |||
+ | == 管脚定义 == | ||
+ | {{FULLPAGENAME}} 共接出 42 个接口,如管脚丝印所示。 | ||
+ | |||
+ | [[File:ESP-12K_ESP32-S2_2.jpg]] | ||
+ | |||
+ | {|class="wikitable" | ||
+ | ! 名称 !! 说明 | ||
+ | |- | ||
+ | | 3V3 || 3.3V 供电 | ||
+ | |- | ||
+ | | GND || 接地 | ||
+ | |- | ||
+ | | P0 || RTC_GPIO0, GPIO0 | ||
+ | |- | ||
+ | | P1 || RTC_GPIO1, GPIO1, TOUCH1, ADC1_CH0 | ||
+ | |- | ||
+ | | P2 || RTC_GPIO2, GPIO2, TOUCH2, ADC1_CH1 | ||
+ | |- | ||
+ | | P3 || RTC_GPIO3, GPIO3, TOUCH3, ADC1_CH2 | ||
+ | |- | ||
+ | | P4 || RTC_GPIO4, GPIO4, TOUCH4, ADC1_CH3 | ||
+ | |- | ||
+ | | P5 || RTC_GPIO5, GPIO5, TOUCH5, ADC1_CH4 | ||
+ | |- | ||
+ | | P6 || RTC_GPIO6, GPIO6, TOUCH6, ADC1_CH5 | ||
+ | |- | ||
+ | | P7 || RTC_GPIO7, GPIO7, TOUCH7, ADC1_CH6 | ||
+ | |- | ||
+ | | P8 || RTC_GPIO8, GPIO8, TOUCH8, ADC1_CH7 | ||
+ | |- | ||
+ | | P9 || RTC_GPIO9, GPIO9, TOUCH9, ADC1_CH8, FSPIHD | ||
+ | |- | ||
+ | | P10 || RTC_GPIO10, GPIO10, TOUCH10, ADC1_CH9, FSPICS0, FSPIIO4 | ||
+ | |- | ||
+ | | P11 || RTC_GPIO11, GPIO11, TOUCH11, ADC2_CH0, FSPID, FSPIIO5 | ||
+ | |- | ||
+ | | P12 || RTC_GPIO12, GPIO12, TOUCH12, ADC2_CH1, FSPICLK, FSPIIO6 | ||
+ | |- | ||
+ | | P13 || RTC_GPIO13, GPIO13, TOUCH13, ADC2_CH2, FSPIQ, FSPIIO7 | ||
+ | |- | ||
+ | | P14 || RTC_GPIO14, GPIO14, TOUCH14, ADC2_CH3, FSPIWP, FSPIDQS | ||
+ | |- | ||
+ | | P15 || RTC_GPIO15, GPIO15, U0RTS, ADC2_CH4, XTAL_32K_P | ||
+ | |- | ||
+ | | P16 || RTC_GPIO16, GPIO16, U0CTS, ADC2_CH5, XTAL_32K_N | ||
+ | |- | ||
+ | | P17 || RTC_GPIO17, GPIO17, U1TXD, ADC2_CH6, DAC_1 | ||
+ | |- | ||
+ | | P18 || RTC_GPIO18, GPIO18, U1RXD, ADC2_CH7, DAC_2, CLK_OUT3 | ||
+ | |- | ||
+ | | 5V || 5V 供电 | ||
+ | |- | ||
+ | | GND || 接地 | ||
+ | |- | ||
+ | | P19 || RTC_GPIO19, GPIO19, U1RTS, ADC2_CH8, CLK_OUT2, USB_D23 IO20 RTC_GPIO20, GPIO20, U1CTS, ADC2_CH9, CLK_OUT1, USB_D+ | ||
+ | |- | ||
+ | | P21 || RTC_GPIO21, GPIO21 | ||
+ | |- | ||
+ | | P26 || SPICS1, GPIO26 | ||
+ | |- | ||
+ | | P33 || SPIIO4, GPIO33, FSPIHD | ||
+ | |- | ||
+ | | P34 || SPIIO5, GPIO34, FSPICS0 | ||
+ | |- | ||
+ | | P35 || SPIIO6, GPIO35, FSPID | ||
+ | |- | ||
+ | | P36 || SPIIO7, GPIO36, FSPICLK | ||
+ | |- | ||
+ | | P37 || SPIDQS, GPIO37, FSPIQ | ||
+ | |- | ||
+ | | P38 || GPIO38, FSPIWP | ||
+ | |- | ||
+ | | P39 || MTCK, GPIO39, CLK_OUT3 | ||
+ | |- | ||
+ | | P40 || MTDO, GPIO40, CLK_OUT2 | ||
+ | |- | ||
+ | | P41 || MTDI, GPIO41, CLK_OUT1 | ||
+ | |- | ||
+ | | P42 || MTMS, GPIO42 | ||
+ | |- | ||
+ | | TX || U0TXD, GPIO43, CLK_OUT1 | ||
+ | |- | ||
+ | | RX || U0RXD, GPIO44, CLK_OUT2 | ||
+ | |- | ||
+ | | P45 || GPIO45 | ||
+ | |- | ||
+ | | P46 || GPIO46 | ||
+ | |- | ||
+ | | EN || 高电平:芯片使能;低电平:芯片关闭;(已默认拉高) | ||
+ | |- | ||
+ | | GND || 接地 | ||
+ | |} | ||
+ | |||
+ | == 使用说明 == | ||
+ | 本模块常规使用方法有两种,一种是烧好编译好的固件、解析AT指令,另一种是自己写固件,而后者可以充分利用芯片的各种 IO 资源,更自由地实现自己的想法。通常编译固件都需要基于 ESP-IDF 开发框架,同时也需要安装 C 语言编程(工程)的文本编辑器,例如 Elipse。请参阅 [[#资源下载]] | ||
+ | |||
+ | 这里给出 {{FULLPAGENAME}} 的 AT 指令的几种常见使用示例。AT 指令要求以新行(CR LF)结尾,串口工具支持“新行模式”。 | ||
+ | |||
+ | === 相关软件 === | ||
+ | * [[:File:CH341SER.ZIP|CH340/CH341驱动]] | ||
+ | * [[:File:Sscom5.13.1.zip|串口调试助手]] | ||
+ | |||
+ | === 固件烧录 === | ||
+ | 1. 通过 Micro USB 数据线,把开发板连接到电脑。 | ||
+ | |||
+ | 2. 开打固件烧录软件 [[:File:ESP_Download_Tool_v3.8.5.zip|点击下载 ESP Download Tool v3.8.5.zip]]。 | ||
+ | |||
+ | 3. 依次点击 Developer Mode --> ESP32S2 DownloadTool。 | ||
+ | |||
+ | [[File:ESP-12K_ESP32-S2_3.png|300px]] | ||
+ | |||
+ | [[File:ESP-12K_ESP32-S2_4.png|300px]] | ||
+ | |||
+ | 4. 按照图中步骤配置参数,再点击“START”。 | ||
+ | |||
+ | [[File:ESP-12K_ESP32-S2_5.png|400px]] | ||
+ | |||
+ | 5. 等待写入完成(开始烧录后会有进度条,进度完成后则可以开始下面的测试)。 | ||
+ | |||
+ | [[File:ESP-12K_ESP32-S2_6.png|400px]] | ||
+ | |||
+ | 6. 烧录成功后,给 NodeMCU-32-S2 供电后观察 LED1 是否常亮,若正常亮起,则电源正常,若不亮则电源供电异常。 | ||
+ | |||
+ | [[File:ESP-12K_ESP32-S2_7.png|800px]] | ||
+ | |||
+ | 7. 用数据线连接开发板和电脑,打开串口工具配置如图所示,并连接到开发板的串口,向串口发送 “AT”,日志窗口返回 “OK” 视为烧录成功,反之则失败。 | ||
+ | |||
+ | {{Note|发送 AT 指令的时候,需要勾选“发送新行”,这样会在指令末尾加上 \r\n (CR LF),指令才会执行。}} | ||
+ | |||
+ | === 常见 AT 指令集 === | ||
+ | {|class="wikitable" | ||
+ | ! 指令 !! 描述 | ||
+ | |- | ||
+ | | AT || 测试 AT 启动 | ||
+ | |- | ||
+ | | AT+RST || 重启模块 | ||
+ | |- | ||
+ | | AT+GMR || 查看版本信息 | ||
+ | |- | ||
+ | | AT+RESTORE || 恢复出厂设置 | ||
+ | |- | ||
+ | | AT+CWMODE || 设置当前 Wi-Fi 模式 | ||
+ | |- | ||
+ | | AT+CWJAP || 连接 AP | ||
+ | |- | ||
+ | | AT+CWAUTOCONN || 设置上电是否自动连接 AP | ||
+ | |- | ||
+ | | AT+CWSTARTSMART || 开启 SmartConfig | ||
+ | |- | ||
+ | | AT+CWSTOPSMART || 关闭 SmartConfig | ||
+ | |- | ||
+ | | AT+CIPSTATUS || 查询网络连接信息 | ||
+ | |- | ||
+ | | AT+CIPSTART || 建立 TCP 连接 | ||
+ | |- | ||
+ | | AT+CIPMODE || 设置传输模式 | ||
+ | |- | ||
+ | | AT+CIPSEND || 发送数据(发送+++退出透传,注意:不要勾选新行\r\n) | ||
+ | |} | ||
+ | |||
+ | === AT 指令参考 === | ||
+ | 更多 AT 指令说明请参考: | ||
+ | * [https://docs.espressif.com/projects/esp-at/zh_CN/latest/Compile_and_Develop/index.html 如何编译和开发自己的 AT 工程] | ||
+ | * [https://docs.ai-thinker.com/esp8266/examples/at_demo AT指令使用示例] | ||
+ | * [https://github.com/espressif/esp-at ESP32 AT 指令 Github] | ||
+ | * [https://docs.espressif.com/projects/esp-at/zh_CN/latest/ ESP-AT 用户指南] | ||
+ | * [[:File:esp32_technical_reference_manual_cn.pdf|ESP32 技术参考手册]] | ||
+ | |||
+ | === 官方 ESP-IDF 编程指南 === | ||
+ | ESP IDF (IoT Development Framework) 是 ESP32-S2 的官方开发套件。 | ||
+ | * [https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/index.html 快速入门] | ||
+ | ** [https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/index.html#get-started-get-prerequisites 第一步:安装准备] | ||
+ | ** [https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/index.html#esp-idf 第二步:获取 ESP-IDF] | ||
+ | ** [https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/index.html#get-started-set-up-tools 第三步:设置工具] | ||
+ | ** [https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/index.html#get-started-set-up-env 第四步:设置环境变量] | ||
+ | ** [https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/index.html#get-started-start-project 第五步:开始创建工程] | ||
+ | ** [https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/index.html#get-started-connect 第六步:连接设备] | ||
+ | ** [https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/index.html#get-started-configure 第七步:配置] | ||
+ | ** [https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/index.html#get-started-build 第八步:编译工程] | ||
+ | ** [https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/index.html#get-started-flash 第九步:烧录到设备] | ||
+ | ** [https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/index.html#get-started-build-monitor 第十步:监视器] | ||
+ | |||
+ | === 使用 Eclipse 开发 === | ||
+ | 上面官方的文档里面已经给出了编写程序的通用方法,但使用IDE(集成开发环境)可以更容易地完成此任务,您可以使用它编写代码(通常包括语法高亮和自动完成),编译它并将二进制文件上载到开发板。推荐使用 Eclipse 开发 ESP32-S2。这里的 Eclipse 就是经常用来开发 Java 的 Eclipse,它其实也可以用来开发 C/C++ 程序。只要装上 ESP-IDF 框架,就可以用来开发 ESP32-S2 了。 | ||
+ | |||
+ | 1. Eclipse安装非常简单:[https://www.eclipse.org/downloads/packages/ 连接到官方站点并为您的操作系统下载适用于C / C ++开发人员的Eclipse IDE],选择 Eclipse IDE for C/C++ Developers。 | ||
+ | |||
+ | [[File:ESP-12K_ESP32-S2_8.png]] | ||
+ | |||
+ | 2. 安装完成之后,还需要安装插件 [https://github.com/espressif/idf-eclipse-plugin/blob/master/README.md ESP-IDF Eclipse Plugin],安装方式见 Github 页面。 | ||
+ | |||
+ | 3. 下载依赖库:https://github.com/espressif/esp-idf.git | ||
+ | <pre> | ||
+ | git clone --recursive https://github.com/espressif/esp-idf.git | ||
+ | </pre> | ||
+ | 4. 如果访问 Github 速度较慢,可以尝试使用 [https://dl.espressif.com/dl/esp-idf-tools-setup-2.3.exe ESP-IDF 工具安装器] 安装必要的依赖[https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/windows-setup.html#get-started-windows-tools-installer]。本安装器可为您安装所需的交叉编译器、OpenOCD、cmake 和 Ninja 编译工具,以及一款 mconf-idf 配置工具。此外,本安装器还可在有需要时下载、运行 Python 3.7 和 Git For Windows 的安装器。 | ||
+ | |||
+ | 备注:上述步骤可能较为麻烦,用户可直接使用预装好插件的 Eclipse IDE: | ||
+ | * 网盘:https://pan.baidu.com/share/init?surl=Mbi2xoHQxyYM35lnJEUBTA | ||
+ | * 提取码:fzfd | ||
+ | * 使用方法参见:https://docs.ai-thinker.com/ai_ide_install | ||
+ | |||
+ | === 使用 VS Code 开发 === | ||
+ | 除了 Eclipse 之外,VS Code 也可以作为 {{FULLPAGENAME}} 的集成开发环境。参见: | ||
+ | * [https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/vscode-setup.html Getting Started with VS Code IDE] | ||
+ | |||
+ | == 资源下载 == | ||
+ | 更多资料请参见: | ||
+ | * [https://docs.ai-thinker.com/esp32 ESP32 系列模组专题]。 | ||
+ | * [https://docs.espressif.com/projects/esp-at/zh_CN/latest/Compile_and_Develop/index.html 如何编译和开发自己的 AT 工程] | ||
+ | * [https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/index.html ESP IDF 快速入门] | ||
+ | |||
+ | === ESP32 IDF === | ||
+ | ESP IDF (IoT Development Framework) 是 ESP32-S2 的官方开发套件。 | ||
+ | * [https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/index.html 快速入门] | ||
+ | * ESP-IDF V4.0 默认采用基于 CMake 的构建系统。针对 CMake 构建系统,ESP-IDF 有一款新的 Eclipse 插件。具体操作指南,请见 [https://github.com/espressif/idf-eclipse-plugin/blob/master/README.md ESP-IDF Eclipse 插件]。 | ||
+ | |||
+ | === 相关技术文档 === | ||
+ | * {{FULLPAGENAME}} 规格书: [https://docs.ai-thinker.com/_media/esp32/docs/esp-12k_%E8%A7%84%E6%A0%BC%E4%B9%A6.pdf 中文] [https://docs.ai-thinker.com/_media/esp32/docs/esp-12k_%E8%A7%84%E6%A0%BC%E4%B9%A6_en.pdf EN] | ||
+ | * {{FULLPAGENAME}} 用户手册:[https://docs.ai-thinker.com/_media/esp32/docs/esp-12k%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8Cv1.0.pdf 中文] | ||
+ | * {{FULLPAGENAME}} 下载使用说明:[https://docs.ai-thinker.com/_media/esp32/docs/nodemcu-32-s2_%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.pdf 中文] | ||
+ | |||
+ | === 学习心得 === | ||
+ | * [https://blog.csdn.net/Boantong_/article/details/107044339 ESP32S2 对比与 ESP32 开发方式,带你环境搭建入门] | ||
+ | * [https://blog.csdn.net/Boantong_/article/details/107182525 直连苹果智能家居 HomeKit 平台,轻松语音 Siri 控制] | ||
+ | * [https://blog.csdn.net/Boantong_/article/details/107228774 驱动WS2812B灯板,实现五彩斑斓的灯光效果] | ||
+ | * [https://blog.csdn.net/Boantong_/article/details/107466493 在智能家居灯具行业,如何理解PWM平滑调光] | ||
+ | |||
+ | == FAQ == | ||
+ | {{Service00}} |
2020年10月16日 (五) 18:02的版本
| |||||||||||||||||||
| |||||||||||||||||||
| |||||||||||||||||||
|
目录
产品概述
ESP32-A1S 是一款超小体积,功能强大的模组.内置先进的低功耗双核 32 位 CPU 和CodeC 音频解码芯片,可广泛应用于各种物联网场合,适用于家庭智能设备、智能音响,故事机方案等,是物联网应用的理想解决方案。
ESP32-A1S 内部电路高度集成, 可以支持二次开发,帮助实现产品差异化的特性。
ESP32-A1S 核心是 ESP32-S0WD 芯片,具有可扩展、自适应的特点。 用户可以切断 CPU 的电源,利用低功耗协助处理器来不断地监测外设的状态变化或某些模拟量是否超出阈值。ESP32-A1S 还集成了丰富的外设,包括电容式触摸传感器、霍尔传感器、低噪声传感放大器, SD 卡接口、以太网接口、高速 SDIO/SPI、UART、I2S 和 I2C 等。
ESP32-A1S 核心处理器 ESP32 内置低功耗 Xtensa®32-bit LX6 MCU,主频支持 80 MHz、160 MHz 。
ESP32-A1S 采用 SMD 封装,可通过标准 SMT 设备实现产品的快速生产,为客户提供高可靠性的连接方式,特别适合自动化、大规模、低成本的现代化生产方式,方便应用于各种物联网硬件终端场合。
特性
- 完整的 802.11b/g/n Wi-Fi+BT+BLE SOC 模块
- 采用低功耗单核 32 位 CPU,可作应用处理器,主频高达 160MHz,运算能力为 200 MIPS,
- 支持 RTOS
- 内置 AC101 Codec 音频解码芯片,可以支持播放音乐和录音
- 内置 520 KB SRAM,外置 4MPSRAM
- 支持 UART/SPI/I2C/PWM/I2S/ADC/DAC 接口
- 采用 SMD-38 封装
- 支持多种主流压缩和无损音频格式,包括 M4A、AAC、FLAC、OGG、OPUS、MP3、 WAV 等
- 支持 MIC、Line-in 等音源输⼊
- 内嵌 Lwip 协议栈和 FreeRTOS
- 支持 STA/AP/STA+AP 工作模式
- 支持安卓、IOS 的 Smart Config(APP)/AirKiss(微信) 一键配网
- 支持串口本地升级和远程固件升级(FOTA)
- 支持二次开发,集成了 Windows、Linux 开发环境
主要参数
- 封装:SMD-38
- 尺寸:19*31.5*3(±0.2)MM
- 天线形式:板载 PCB 天线/外接 IPEX
- 频谱范围:2400 ~ 2483.5MHz
- 工作温度:-40 ℃ ~ 85 ℃
- 存储环境:-40 ℃ ~ 125 ℃ , < 90%RH
- 供电范围:供电电压 3.0V ~ 3.6V,供电电流 >500mA
- 功耗:
- Wi-Fi TX(13dBm~21dBm):160~260mA
- BT TX:120mA
- Wi-Fi RX:80~90mA
- BT RX:80~90mA
- Modem-sleep:5~10mA
- Light-sleep:0.8mA
- Deep-sleep:20μA
- Hibernation:2.5μA
- 支持接口:UART/SPI/SDIO/I2C/PWM/I2S/IR/ADC/DAC
- IO 口数量:14
- 串口速率:支持 300 ~ 4608000 bps ,默认 115200 bps
- 蓝牙:蓝牙 BR/EDR 和 BLE 4.2 标准,支持 A2DP,AVRC 协议等
- 音频格式:MP3、WAV、M4A、AAC、FLAC、OGG、OPUS 等
- 音频输出:支持 1 路耳机输出和 1 路左右扬声器输出
- 音频输入:支持 LINEIN 和 2 路 MIC 输入
- 安全性:WPA/WPA2/WPA2-Enterprise/WPS
- SPI Flash:默认 32Mbit,最大支持 128Mbit
选型列表
模组认证对比:
- ESP32-A1S:FCC(*)/CE(*)/SRRC(*)
- ESP32-S:FCC/CE/SRRC/TELEC/RoHs
- ESP-12K ESP32-S2:FCC(*)/CE(*)/SRRC
注:部分带"*"认证正在申请中。
电气参数对比:
型号 | 蓝牙 | 芯片方案 | 工作频段 | 接口类型 | 封装形式 | 尺寸(mm) | 供电电压 | Modem Sleep | Light Sleep | Deep Sleep |
---|---|---|---|---|---|---|---|---|---|---|
ESP32-S | 蓝牙 4.2 | ESP32 | 2412 ~ 2484MHz | UART / SPI / SDIO / I2C / PWM / I2S / IR 等 | SMD-38 | 18.0 * 25.5 * 3.0 | 3.3V | 20mA | 1.4mA | 20uA |
ESP32-A1S | 蓝牙 4.2 | ESP32 | 2400 ~ 2483.5MHz | UART / SPI / SDIO / I2C / PWM / I2S / IR 等 | SMD-38 | 19.0 * 31.5 * 3.0 | 3.3V | 5 ~ 10mA | 0.8mA | 20uA |
ESP-12K | 不支持 | ESP32S2 | 2400 ~ 2483.5MHz | UART / SPI / PWM / ADC / GPIO 等 | SMD-42 | 19.0 * 31.5 * 3.0 | 3.3V | 20mA | 1.4mA | 0.5uA |
- 传输距离:WiFi 信号的传输距离约 50 米,蓝牙的传输距离约 10 米。
- SPI Flash:32Mbit(4Mbyte)
- 天线形式:板载天线 / 外接IPEX
管脚定义
ESP32-A1S 共接出 42 个接口,如管脚丝印所示。
名称 | 说明 |
---|---|
3V3 | 3.3V 供电 |
GND | 接地 |
P0 | RTC_GPIO0, GPIO0 |
P1 | RTC_GPIO1, GPIO1, TOUCH1, ADC1_CH0 |
P2 | RTC_GPIO2, GPIO2, TOUCH2, ADC1_CH1 |
P3 | RTC_GPIO3, GPIO3, TOUCH3, ADC1_CH2 |
P4 | RTC_GPIO4, GPIO4, TOUCH4, ADC1_CH3 |
P5 | RTC_GPIO5, GPIO5, TOUCH5, ADC1_CH4 |
P6 | RTC_GPIO6, GPIO6, TOUCH6, ADC1_CH5 |
P7 | RTC_GPIO7, GPIO7, TOUCH7, ADC1_CH6 |
P8 | RTC_GPIO8, GPIO8, TOUCH8, ADC1_CH7 |
P9 | RTC_GPIO9, GPIO9, TOUCH9, ADC1_CH8, FSPIHD |
P10 | RTC_GPIO10, GPIO10, TOUCH10, ADC1_CH9, FSPICS0, FSPIIO4 |
P11 | RTC_GPIO11, GPIO11, TOUCH11, ADC2_CH0, FSPID, FSPIIO5 |
P12 | RTC_GPIO12, GPIO12, TOUCH12, ADC2_CH1, FSPICLK, FSPIIO6 |
P13 | RTC_GPIO13, GPIO13, TOUCH13, ADC2_CH2, FSPIQ, FSPIIO7 |
P14 | RTC_GPIO14, GPIO14, TOUCH14, ADC2_CH3, FSPIWP, FSPIDQS |
P15 | RTC_GPIO15, GPIO15, U0RTS, ADC2_CH4, XTAL_32K_P |
P16 | RTC_GPIO16, GPIO16, U0CTS, ADC2_CH5, XTAL_32K_N |
P17 | RTC_GPIO17, GPIO17, U1TXD, ADC2_CH6, DAC_1 |
P18 | RTC_GPIO18, GPIO18, U1RXD, ADC2_CH7, DAC_2, CLK_OUT3 |
5V | 5V 供电 |
GND | 接地 |
P19 | RTC_GPIO19, GPIO19, U1RTS, ADC2_CH8, CLK_OUT2, USB_D23 IO20 RTC_GPIO20, GPIO20, U1CTS, ADC2_CH9, CLK_OUT1, USB_D+ |
P21 | RTC_GPIO21, GPIO21 |
P26 | SPICS1, GPIO26 |
P33 | SPIIO4, GPIO33, FSPIHD |
P34 | SPIIO5, GPIO34, FSPICS0 |
P35 | SPIIO6, GPIO35, FSPID |
P36 | SPIIO7, GPIO36, FSPICLK |
P37 | SPIDQS, GPIO37, FSPIQ |
P38 | GPIO38, FSPIWP |
P39 | MTCK, GPIO39, CLK_OUT3 |
P40 | MTDO, GPIO40, CLK_OUT2 |
P41 | MTDI, GPIO41, CLK_OUT1 |
P42 | MTMS, GPIO42 |
TX | U0TXD, GPIO43, CLK_OUT1 |
RX | U0RXD, GPIO44, CLK_OUT2 |
P45 | GPIO45 |
P46 | GPIO46 |
EN | 高电平:芯片使能;低电平:芯片关闭;(已默认拉高) |
GND | 接地 |
使用说明
本模块常规使用方法有两种,一种是烧好编译好的固件、解析AT指令,另一种是自己写固件,而后者可以充分利用芯片的各种 IO 资源,更自由地实现自己的想法。通常编译固件都需要基于 ESP-IDF 开发框架,同时也需要安装 C 语言编程(工程)的文本编辑器,例如 Elipse。请参阅 #资源下载
这里给出 ESP32-A1S 的 AT 指令的几种常见使用示例。AT 指令要求以新行(CR LF)结尾,串口工具支持“新行模式”。
相关软件
固件烧录
1. 通过 Micro USB 数据线,把开发板连接到电脑。
2. 开打固件烧录软件 点击下载 ESP Download Tool v3.8.5.zip。
3. 依次点击 Developer Mode --> ESP32S2 DownloadTool。
4. 按照图中步骤配置参数,再点击“START”。
5. 等待写入完成(开始烧录后会有进度条,进度完成后则可以开始下面的测试)。
6. 烧录成功后,给 NodeMCU-32-S2 供电后观察 LED1 是否常亮,若正常亮起,则电源正常,若不亮则电源供电异常。
7. 用数据线连接开发板和电脑,打开串口工具配置如图所示,并连接到开发板的串口,向串口发送 “AT”,日志窗口返回 “OK” 视为烧录成功,反之则失败。
![]() |
---|
发送 AT 指令的时候,需要勾选“发送新行”,这样会在指令末尾加上 \r\n (CR LF),指令才会执行。 |
常见 AT 指令集
指令 | 描述 |
---|---|
AT | 测试 AT 启动 |
AT+RST | 重启模块 |
AT+GMR | 查看版本信息 |
AT+RESTORE | 恢复出厂设置 |
AT+CWMODE | 设置当前 Wi-Fi 模式 |
AT+CWJAP | 连接 AP |
AT+CWAUTOCONN | 设置上电是否自动连接 AP |
AT+CWSTARTSMART | 开启 SmartConfig |
AT+CWSTOPSMART | 关闭 SmartConfig |
AT+CIPSTATUS | 查询网络连接信息 |
AT+CIPSTART | 建立 TCP 连接 |
AT+CIPMODE | 设置传输模式 |
AT+CIPSEND | 发送数据(发送+++退出透传,注意:不要勾选新行\r\n) |
AT 指令参考
更多 AT 指令说明请参考:
官方 ESP-IDF 编程指南
ESP IDF (IoT Development Framework) 是 ESP32-S2 的官方开发套件。
使用 Eclipse 开发
上面官方的文档里面已经给出了编写程序的通用方法,但使用IDE(集成开发环境)可以更容易地完成此任务,您可以使用它编写代码(通常包括语法高亮和自动完成),编译它并将二进制文件上载到开发板。推荐使用 Eclipse 开发 ESP32-S2。这里的 Eclipse 就是经常用来开发 Java 的 Eclipse,它其实也可以用来开发 C/C++ 程序。只要装上 ESP-IDF 框架,就可以用来开发 ESP32-S2 了。
1. Eclipse安装非常简单:连接到官方站点并为您的操作系统下载适用于C / C ++开发人员的Eclipse IDE,选择 Eclipse IDE for C/C++ Developers。
2. 安装完成之后,还需要安装插件 ESP-IDF Eclipse Plugin,安装方式见 Github 页面。
3. 下载依赖库:https://github.com/espressif/esp-idf.git
git clone --recursive https://github.com/espressif/esp-idf.git
4. 如果访问 Github 速度较慢,可以尝试使用 ESP-IDF 工具安装器 安装必要的依赖[1]。本安装器可为您安装所需的交叉编译器、OpenOCD、cmake 和 Ninja 编译工具,以及一款 mconf-idf 配置工具。此外,本安装器还可在有需要时下载、运行 Python 3.7 和 Git For Windows 的安装器。
备注:上述步骤可能较为麻烦,用户可直接使用预装好插件的 Eclipse IDE:
- 网盘:https://pan.baidu.com/share/init?surl=Mbi2xoHQxyYM35lnJEUBTA
- 提取码:fzfd
- 使用方法参见:https://docs.ai-thinker.com/ai_ide_install
使用 VS Code 开发
除了 Eclipse 之外,VS Code 也可以作为 ESP32-A1S 的集成开发环境。参见:
资源下载
更多资料请参见:
ESP32 IDF
ESP IDF (IoT Development Framework) 是 ESP32-S2 的官方开发套件。
- 快速入门
- ESP-IDF V4.0 默认采用基于 CMake 的构建系统。针对 CMake 构建系统,ESP-IDF 有一款新的 Eclipse 插件。具体操作指南,请见 ESP-IDF Eclipse 插件。
相关技术文档
学习心得
- ESP32S2 对比与 ESP32 开发方式,带你环境搭建入门
- 直连苹果智能家居 HomeKit 平台,轻松语音 Siri 控制
- 驱动WS2812B灯板,实现五彩斑斓的灯光效果
- 在智能家居灯具行业,如何理解PWM平滑调光
FAQ
|