乐鑫ESP32相关资料整理

乐鑫科技 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系列
发布时间2016202020202020
内核搭载低功耗 Xtensa®LX6 32位双核/单核 处理器搭载RISC-V32位单核处理搭载低功耗Xtensa®LX732位单核处理器搭载低功耗Xtensa®LX732位双核处理器
Wi-Fi协议802.11b/g/n、2.4 GHz802.11b/g/n、2.4 GHz802.11b/g/n、2.4 GHz802.11b/g/n、2.4 GHz
Bluetooth®Bluetooth v4.2 BR/EDR和 Bluetooth Low EnergyBluetooth 5.0×Bluetooth 5.0 支持远距离模式 (Long Range)
主频240 MHz (ESP32- soWD为160)160 MHz240 MHz240 MHz
SRAM520 KB400 KB320 KB512 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, see protocols 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 官方烧录工具及使用方法 。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/28632.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ virtual public(虚继承类)

这个"virtual"有什么作用? 由于C支持多重继承,所以对于一个派生类中有几个直接父类,而几个直接父类中有几个可能分别继承自某一个基类(就是父类的父类),这样在构造最终派生类时,会出现…

【Vue3】插槽的使用及其分类

历史小剧场 后来我才明白,造反的宋江,和招安的宋江,始终是同一个人。 为什么要造反? 造反,就是为了招安。 ----《明朝那些事儿》 概念 在日常的项目开发中,当我们在编写一个完整的组件时,不可避…

【动态规划】0-1背包问题

【动态规划】0-1背包问题 题目:现在有四个物品,背包总容量为8,背包最多能装入价值为多少的物品? 我的图解 表格a【i】【j】表示的是容量为j的背包装入前i个物品的最大价值。 拿a【1】【1】来说,它的值就是背包容量为1,只考虑…

我的创作纪念日256days

机缘 当我回望走过的路,心中有无数的故事在跳跃,试图穿过指尖,流淌在文字之间。成为一名创作者,对我来说并非一蹴而就的决定,而是一场始于内心深处的召唤。那是一种对表达的渴望,对美的追求,最重…

【探索Linux命令行】从基础指令到高级管道操作的介绍与实践

目录 man 指令(说明) 介绍 cp 指令(复制) ​编辑 mv 指令(移动) ​编辑 cat 指令(类似cout) less(查找) head & tail(打印&#xff…

[数据集][目标检测]减速区域检测数据集VOC+YOLO格式1654张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1654 标注数量(xml文件个数):1654 标注数量(txt文件个数):1654 标注…

cap原理是什么?

CAP原理,也被称为CAP定理或Brewer定理,描述了在分布式系统中,一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三个特性只能同时满足其中…

鸿蒙轻内核A核源码分析系列六 MMU协处理器(2)

3、MMU汇编代码 在arch\arm\arm\include\arm.h文件中,封装了CP15协处理器相关的寄存器操作汇编函数。我们主要看下MMU相关的部分。 3.1 CP15 C2 TTBR转换表基地址寄存器 代码比较简单,结合下图,自行查看即可。该图来自《ARM Cortex-A9 Tec…

Java学习 - MySQL数据存储过程 + 函数 + 触发器介绍实例

存储过程 存储过程的概念和优点 概念:存储过程是一组预先编译好的SQL语句的集合类比:存储过程类似于 Go 中的函数优点:提高代码重用性,简化操作,减少编译次数 创建存储过程 创建语法 DELIMITER $ # 不能加分号CREA…

JavaFX HBox

JavaFX API具有将UI控件显示到场景图上的布局类。HBox布局类将JavaFX子节点放在水平行中。 新的子节点附加到右侧的末尾。默认情况下,HBox布局尊重子节点的首选宽度和高度。 当父节点不可调整大小时,例如Group节点,HBox的行高度设置为子节点的…

【车载开发系列】专业术语汇总(CAN网络管理关联)

【车载开发系列】专业术语汇总(CAN网络管理关联) 【车载开发系列】专业术语汇总 【车载开发系列】专业术语汇总(CAN网络管理关联) 英文缩写英文全称中文说明ACKAcknowledge应答-SNISource Node Identifier源节点标识符-CBVControl…

RSS Channel 元素

RSS Channel 元素 概述 RSS(Really Simple Syndication)是一种广泛使用的消息来源格式,允许用户订阅并接收他们感兴趣的内容更新。RSS文档通常包含一个或多个<channel>元素,每个元素代表一个特定的内容源。本文将详细探讨<channel>元素的结构和用途,以及如何…

【工作】计算机行业相关的十六类工作简介

本文简单介绍了计算机行业相关的工作类别&#xff0c;共16种&#xff0c;包括常见招聘要求与平均工资。平均工资信息来源&#xff1a;米国企业点评职场社区glassdoor&#xff08;https://www.glassdoor.com/index.htm&#xff09; &#xff08;一&#xff09;软件工程师 软件…

003、浅谈Neo4j的数据模型

Neo4j 数据模型概述 Neo4j 是一种图数据库&#xff0c;采用图数据模型来存储和管理数据。这个模型由节点&#xff08;nodes&#xff09;、关系&#xff08;relationships&#xff09;和属性&#xff08;properties&#xff09;组成&#xff0c;特别适合表示复杂的连接关系和网…

图书馆图书可视化分析+大屏

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 目录 摘要前言技术栈开发环境数据说明 正文数据获取数据存储数据清理数据分析数据挖掘关联规则二分类预测 数据可视化书籍价格区间柱状图书籍评…

质疑标普,理解标普,加入标普

上周我在文章里提到过&#xff0c;标普信息科技LOF(161128)出现套利机会。每天申购卖出&#xff0c;到现在一个账户56*6336润。 得益于美股七巨头轮流领涨&#xff0c;161128依旧坚挺&#xff0c;每天溢价都是10%&#xff0c;成交量1个多亿&#xff0c;场内新增份额才400万份&…

c中编程题最有效率的方法算出2乘以8等於几

在C语言中&#xff0c;计算2乘以8的方法也是直接进行乘法操作。C语言提供了乘法运算符*&#xff0c;你可以直接使用它来计算两个数的乘积。 下面是一个简单的C语言程序&#xff0c;展示了如何计算2乘以8&#xff1a; c #include <stdio.h> int main() { int result …

Vue中双向数据绑定是如何实现的

Vue.js 的双向数据绑定是通过其响应式系统实现的。当 Vue 实例创建时&#xff0c;它会遍历 data 对象中的所有属性&#xff0c;并使用 Object.defineProperty 将它们转化为 getter/setter&#xff0c;使得 Vue 能够追踪每个属性的变化&#xff0c;并在变化时通知相关的依赖进行…

python学习:语法(2)

目录 对象的布尔值 分支结构 双分支结构 多分支结构 嵌套if的使用 条件表达式 Pass语句 range()函数的使用 流程控制语句 对象的布尔值 Python一切皆对象&#xff0c;所有对象都有一个布尔值&#xff0c;通过内置函数bool&#xff08;&#xff09;获取对象的布尔值 这些…

路由器虚拟服务器有什么作用

现如今在IPv4时代&#xff0c;由于公网IP地址的匮乏&#xff0c;约有70%的电脑都处于内网中&#xff0c;上网需要通过路由器。如果反过来想要访问身处内网的电脑&#xff0c;我们就需要在路由器里开放相应的端口才能实现。而这开放端口的功能&#xff0c;在路由器里就叫做虚拟服…