乐鑫科技 Espressif 介绍
乐鑫科技 Espressif AIoT 领域软硬件产品的研发与设计,专注于研发高集成、低功耗、性能卓越、安全稳定、高性价比的无线通信 SoC,现已发布 ESP8266、ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列芯片、模组和开发板。
Espressif Systems 包含涉及各种ESP soc系列的开源项目,包括sdk、组件、库、解决方案和工具。
产品介绍
产品种类根据芯片型号分为:芯片概览 、模组概览 、开发板概览 ,可以通过乐鑫产品选型工具对比选型。
ESP32-S2
ESP32-S3
ESP32-C2
ESP32-C3
ESP32-C6
ESP32
ESP8266
ESPRESSIF 乐鑫 AloT 系列芯片
特性 | ESP32系列 | ESP32-C3系列 | ESP32-S2系列 | ESP32-S3系列 |
---|---|---|---|---|
发布时间 | 2016 | 2020 | 2020 | 2020 |
内核 | 搭载低功耗 Xtensa®LX6 32位双核/单核 处理器 | 搭载RISC-V32位单核处理 | 搭载低功耗Xtensa®LX732位单核处理器 | 搭载低功耗Xtensa®LX732位双核处理器 |
Wi-Fi协议 | 802.11b/g/n、2.4 GHz | 802.11b/g/n、2.4 GHz | 802.11b/g/n、2.4 GHz | 802.11b/g/n、2.4 GHz |
Bluetooth® | Bluetooth v4.2 BR/EDR和 Bluetooth Low Energy | Bluetooth 5.0 | × | Bluetooth 5.0 支持远距离模式 (Long Range) |
主频 | 240 MHz (ESP32- soWD为160) | 160 MHz | 240 MHz | 240 MHz |
SRAM | 520 KB | 400 KB | 320 KB | 512 KB |
SDK 介绍
-
ESP-IDF 乐鑫物联网开发框架
ESP-IDF 是乐鑫官方的物联网开发框架,适用于 ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列 SoC。它基于 C/C++ 语言提供了一个自给自足的 SDK。
软件组件和功能:
RTOS 内核:FreeRTOS 内核已进行优化,可支持多核,具有基于功能的堆分配器。
标准编程接口:包含 POSIX 线程和其他 POSIX API、BSD 套接字、线程安全的 C/C++ 标准库,支持虚拟文件系统。
外设驱动程序:包含 SPI,I2C,UART,GPIO,I2S,ADC,DAC,电容触摸板,定时器,LED 和电机 PWM,RMT,脉冲计数器,CAN/TWAI,SD/eMMC/SDIO 主机和 SDIO 从机,以太网驱动器。
Wi-Fi:Wi-Fi 驱动程序已通过 Wi-Fi Alliance 认证,支持 WPA3、Wi-Fi Mesh 协议、ESP-NOW 点对点协议、ESP-LR 远程协议、嗅探模式和 SmartConfig 配置协议。
经典蓝牙和低功耗蓝牙:包含蓝牙控制器和两个主机栈:Bluedroid(双模)和 NimBLE(仅低功耗蓝牙),支持符合标准的 Bluetooth LE Mesh,所有组件均通过蓝牙 SIG 认证。
网络协议:用于 IPv4 和 IPv6 连接的 LwIP TCP/IP 栈,DHCP 客户端和服务器,TLS 客户端和服务器(最高 1.2 版本),HTTP 客户端和服务器,HTTP2 客户端,WebSocket 客户端,MQTT,mDNS,CoAP,ModBus,SNTP,SMTP。
电源管理:适用于 MCU 低功耗模式以及 Wi-Fi、蓝牙低功耗模式的电源管理框架;动态频率调节,支持 ULP(超低功耗)协处理器。
存储:具备分区管理器、容错和日志结构的键值存储 (NVS),支持加密、FAT 和 SPIFFS 文件系统。
安全性:具备受硬件支持的安全性能,如 Flash 加密和安全启动,为 RSA、SHA 和 AES 提供加密加速器支持、以及 libsodium 和 micro-ecc 加密库。
网络配置:使用 Bluetooth LE、Wi-Fi 和其他带外机制的设备加载统一配置框架。
构建系统:基于 CMake 的构建系统,支持外部组件和外部应用项目。
开发工具:包含 GCC 交叉工具链、基于 OpenOCD 的 JTAG 调试器、静态和动态足迹分析、内存泄漏检测器、核心转储崩溃分析器、兼容 Segger SystemView 工具的实时跟踪、Flash 和 eFuse 编程器、设备制造工具。
IDE 支持:ESP-IDF 项目支持 Microsoft VS Code 插件和 Eclipse IDE 插件。
-
ESP8266_RTOS_SDK
ESP8266 SDK。
-
ESP HomeKit SDK
Apple HomeKit 技术提供了一种简单、安全的方式,使用户可以通过 iPhone、iPad 或 Apple Watch 控制灯,门,恒温器等家居设备。Espressif HomeKit SDK 全面集成了全新的 Apple HomeKit 协议,是一套完整的解决方案,方便厂商快速生产出能够接入 Apple HomeKit 的产品。
Espressif HomeKit SDK 仅提供给已获得 MFi 许可的用户。获取 SDK 时请务必提供六位数的 Account Number。
-
音频开发框架
ESP-ADF是Espressif系统音频开发框架。
[ESP-ADF 示例项目测试记录](./ESP-ADF 示例项目测试记录.md)
-
Mesh 开发框架
ESP-MDF 是基于 ESP32芯片的 ESP-WIFI-MESH开发框架。ESP-WIFI-MESH 是一种基于 Wi-Fi 构建的 MESH 网络通信协议。
-
ESP32 for Arduino
ESP32、ESP32-S2、ESP32-S3和ESP32-C3的Arduino核心。
-
ESP-AT
为降低开发成本,可以烧录 AT 指令固件, 通过使用 AT 指令来控制芯片。
- 内置 TCP/IP 堆栈和数据缓冲
- 能便捷地集成到资源受限的主机平台中
- 主机对指令的回应易于解析
- 用户可自定义 AT 指令
ESP-AT 是乐鑫开发的可直接用于量产的物联网应用固件,旨在降低客户开发成本,快速形成产品。通过 ESP-AT 指令,您可以快速加入无线网络、连接云平台、实现数据通信以及远程控制等功能,真正的通过无线通讯实现万物互联。
解决方案
-
智能音频:ESP AVS、ESP-Skainet 、ESP AFE
-
人机交互:ESP-HMI
-
设备连接:ESP RainMaker 、 Matter 方案、 ACK 方案 、ACS 方案、ESP AWS IoT ExpressLink
-
开源仓库
- ESP-DL 深度学习引擎
- ESP-WHO AI图像
- ESP-SR AI语音
- ESP-BOX AloT套件
- ESP-CSI 无线感知
- 其他库和框架
其他服务
-
产测配件
-
设计及认证服务
-
生产服务
-
产品供货保证
ESP-IDF 物联网开发框架
ESP-IDF 是乐鑫官方推出的物联网开发框架,支持 Windows、Linux 和 macOS 操作系统。
-
编程指南
-
社区讨论
-
EspressifApp
ESP-IDF 环境搭建
非IDE
- 第一步:安装准备 (Windows 、Linux 和 macOS)
- 第二步:获取 ESP-IDF
- 第三步:设置工具
- 第四步:设置环境变量
IDE (推荐)
-
Eclipse Plugin
ESP-IDF Eclipse 插件可便利开发人员在 Eclipse 开发环境中开发基于 ESP32 的 IoT 应用程序。本插件集成了编辑、编译、烧录和调试等基础功能,还有安装工具、SDK 配置和 CMake 编辑器等附加功能,可简化并增强开发人员在使用标准 Eclipse CDT 开发和调试 ESP32 IoT 应用程序时的开发体验。
第一次安装可以直接选择 https://dl.espressif.com/dl/esp-idf/ Espressif-IDE 2.7.0 with ESP-IDF v4.4.3 或者 Espressif-IDE 2.6.0 with ESP-IDF v4.4.2
-
VSCode Extension
扩展安装 Espressif IDF
注意
不同的源码release版本对应的编译工具不同,不同的编译工具对应的芯片不同:
// v4.4.2 ...Espressif\tools\xtensa-esp32-elf\esp-2021r2-patch3-8.4.0\xtensa-esp32-elf\bin; ...Espressif\tools\xtensa-esp32s2-elf\esp-2021r2-patch3-8.4.0\xtensa-esp32s2-elf\bin; ...Espressif\tools\xtensa-esp32s3-elf\esp-2021r2-patch3-8.4.0\xtensa-esp32s3-elf\bin; ...Espressif\tools\riscv32-esp-elf\esp-2021r2-patch3-8.4.0\riscv32-esp-elf\bin; // v4.4.3 ...Espressif\tools\xtensa-esp32-elf\esp-2021r2-patch5-8.4.0\xtensa-esp32-elf\bin; ...Espressif\tools\xtensa-esp32s2-elf\esp-2021r2-patch5-8.4.0\xtensa-esp32s2-elf\bin; ...Espressif\tools\xtensa-esp32s3-elf\esp-2021r2-patch5-8.4.0\xtensa-esp32s3-elf\bin; ...Espressif\tools\riscv32-esp-elf\esp-2021r2-patch5-8.4.0\riscv32-esp-elf\bin;
目录结构
examples:示例程序
示例分组:每个类别目录包含一个或多个示例项目
bluetooth/bluedroid
Classic BT, BLE and coex examples using default Bluedroid host stack.bluetooth/nimble
BLE examples using NimBLE host stack.bluetooth/esp_ble_mesh
ESP BLE Mesh examples.bluetooth/hci
HCI transport (VHCI and HCI UART) examples.build_system
Examples of build system features.cxx
C++ language utilization examples and experimental components.ethernet
Ethernet network examples.get-started
Simple examples with minimal functionality. Good start point for beginners.mesh
Wi-Fi Mesh examples.network
Examples related to general network environment, test & analysis.openthread
OpenThread examples.peripherals
Examples showing driver functionality for the various onboard ESP32 peripherals.protocols
Examples showing network protocol interactions.provisioning
Wi-Fi provisioning examples.security
Examples about security features.storage
Examples showing data storage methods using SPI flash, external storage like the SD/MMC interface and flash partitioning.system
Demonstrates some internal chip features, or debugging & development tools.wifi
Advanced Wi-Fi features (For network protocol examples, seeprotocols
instead.)Zigbee
Zigbee network and device examples.
docs:ESP_IDF 文档
ESP-IDF 编程指南文档中心,示例程序基本都有对应文档。需要注意的是 左上角芯片以及开发版本选择要对应。
ESP-IDF 官方支持的网络协议栈文档 对应的 通信协议相关示例。
TCP/IP:基于LWIP,支持 Socket接口,支持ICMP、DHCP、mDNS、NAPT
MQTT:支持MQTT over TCP/Websocket/Websocket SSL with mbedtls
HTTP(S):支持Server模式、支持Client模式
WebSocket Client:支持WebSocket over TCP,TLS with mbedtls
Modbus:支持 Modbus RTU,ModbusASCIl,ModbusASCIlModbus TCP/IF loT Ecosystem
ESP-NOW:乐鑫2.4G自定义通信协议
ESP Local Control:基于Wi-Fi+HTTPS or BLE乐鑫自主本地控制协议
ESP-Modem:支持PPP协议拨号上网,可对接2G/3G/4G/5G模组
BLE-MESH:标准 BLE MESH 组网协议
ESP Wi-FiMESH:乐鑫Wi-FiMESH组网协议
ESP-IDF 官方支持外设驱动相关组件 对应的 外设相关示例程序
ADC:支持单次读取或 DMA 模式,12bit,最大测量范围 0~3100mV
LEDC(PWM):可配置 8 路输出,最大 40MHz输出频率,支持自动占空比,用于驱动 LED 或电机
I2C: 支持 Master 模式或 Slave 模式,支持 8bit 或 10bit 地址模式,已适配多种传感器
SPl: 支持 Master 模式或 Slave 模式,支持挂载 Flash 等存储设备,SPI接口的显示设备
SDIO:支持挂载高速 SD 卡,已适配文件系统
I2S: 支持 Philips 模式、PCM 模式等多种格式,已适配多种 codec芯片
LCD:支持 SPI、8080、RGB、12C 等多种接口的屏幕
Touch:内置触摸传感器,14 通道,支持触摸按键、滑条、接近感应等。
RMT:支持多种收发模式,已适配 NEC 协议、DShot 协议、LED 灯条等
USB(ESP32S2/3):支持主机模式或设备模式,支持 U 盘、USB 摄像头等
ESP-IoT-Solution 编程指南 对应 外接模块驱动程序
下载模式
windows 官方烧录工具及使用方法 。