19集 两款ESP32开发板如何选择?-《MCU嵌入式AI开发笔记》

news2024/12/23 17:27:05

19集 两款ESP32开发板我们用哪款?-《MCU嵌入式AI开发笔记》

有两款ESP32的开发板分别是ESP32 S3 和C3的,我们该如何选择?

1、ESP32-S3-BOX-3

在乐鑫官网上,https://www.espressif.com.cn/zh-hans/products/devkits
有ESP32S3 BOX开发板,链接如下:
https://github.com/espressif/esp-box
我们打开gitee的链接
https://gitee.com/EspressifSystems/esp-box
我们看一下这个板卡的功能配置:
ESP32-S3-BOX-3 主控单元由 ESP32-S3-WROOM-1 模组驱动,该模块提供了 2.4 GHz Wi-Fi + Bluetooth 5 (LE) 的无线功能,同时具备 AI 加速能力。在 ESP32-S3 SoC 提供的 512 KB SRAM 基础上,该模块还附带额外的 16 MB 四线 Flash 和 16 MB 八线 PSRAM。开发板配备一片 2.4 英寸 320 x 240 的 SPI 接口触摸屏(‘红圈’支持触摸),两个数字麦克风,一个扬声器,三轴陀螺仪,三轴加速度计,一个用于电源和下载/调试的 Type-C 接口,一个可实现硬件扩展的高密度 PCIe 连接器,以及三个功能按钮。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
支持特性
即开即用的入门级边缘 AI + HMI 应用开发板
基于 FreeRTOS 的四合一语音交互面板:离线语音识别、网络通信、屏幕显示、外设控制
双麦克风支持远场语音交互
支持高唤醒率的离线语音唤醒和命令词识别
允许连续命令词识别、唤醒打断以及自定义配置 200+ 中英文命令词
灵活多样的家庭自动化解决方案:Matter、Home Assistant、ESP-RainMaker
可视化拖放式 GUI 开发:LVGL SquareLine Studio、Embedded Wizard 等
丰富的开发框架:ESP-IDF、Arduino、PlatformIO、Circuit Python 等

我们直接git clone https://gitee.com/EspressifSystems/esp-box.git
下载下来看一下:
硬件用cadence captrueCIS和Allegro画的。
软件
在这里插入图片描述

立创·实战派ESP32-C3开发板

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

视频教程: https://www.bilibili.com/video/BV1Jm411r7zz
开源资料:https://lceda001.feishu.cn/wiki/L5Qhw037viVW5MkyFXPcRLhznbe
开源硬件:https://oshwhub.com/li-chuang-kai-fa-ban/xd-esp32c3-aiot-v1_3_2
硬件用力创EDA画的。
文档教程如下:
https://lceda001.feishu.cn/wiki/Xqx3wH8wMi3BrrkmeTXcgLL7nQk
1.1 总体介绍

  • 开发板主控芯片为ESP32-C3,外置FLASH容量为8MB,芯片内置SRAM容量为400kB。
  • 显示方面,集成了2.0寸IPS高清彩色液晶屏,可以用作各种显示应用。电容式触摸屏,可以实现手指控制应用。
  • 音频方面,集成了音频编解码芯片ES8311,有麦克风输入声音,有喇叭播放声音。
  • 传感器方面,集成了6D姿态传感器,地磁传感器,可用于姿态显示,指南针等应用。温湿度传感器,用于温湿度显示。
  • 外拓接口两个,一个是I2C接口,一个是多功能接口。I2C接口,可以连接外部支持I2C通信的传感器器件。多功能接口,引出了2个ESP32的GPIO引脚,这两个引脚,可以当作两个普通GPIO口使用,也可以配置为串口,也可以配置为I2C,也可以配置为CAN口。
  • 开发板集成USB转TTL芯片,通过TYPE-C接口,一条数据线就可以完成供电、下载和观察数据。
  • 有一个复位按键和一个用户自定义按键。
  • 结合ESP32-C3的wifi和蓝牙功能,开发板就可以做很多有趣的应用了
    例程都是基本的外设例程,我们看一下音频部分

第8章 音频-扬声器和麦克风

8.1 音频芯片介绍
开发板上带有一个麦克风,一个扬声器,音频编解码芯片使用ES8311。麦克风直接连接到了ES8311芯片上,ES8311和扬声器之间,还有一个音频驱动放大器。ES8311通过I2S接口与ESP32-C3连接。
8.2 播放音乐
本例程,我们直接在官方提供的例程上修改,就可以完成。
复制esp-idf-v5.1.3\examples\peripherals\i2s\i2s_codec\i2s_es8311这个例程,到我们自己的实验文件夹。不需要改名字,我的路径是D:\esp32c3\i2s_es8311。
打开软件VSCode,然后使用VSCode打开i2s_es8311工程文件夹。
现在我们需要针对开发板上的引脚连接,先把例程中的引脚相关代码修改一下。
ES8311这个芯片不仅使用I2S接口与ESP32连接,还有I2C接口与ESP32连接,I2C接口用于配置,I2S接口用于音频传输。
点击打开example_config.h文件,I2C引脚相关代码在它24~35行之间,这里使用了条件编译,根据使用的ESP32不同型号,定义I2C引脚。针对我们开发板上ESP32-C3,我们应该修改它的33、34行,我们修改为开发板上使用的GPIO0和GPIO1引脚。
#define I2C_SCL_IO (GPIO_NUM_1)
#define I2C_SDA_IO (GPIO_NUM_0)
I2S引脚相关代码在它的37~48之间。
先修改39~41行。
#define I2S_MCK_IO (GPIO_NUM_10)
#define I2S_BCK_IO (GPIO_NUM_8)
#define I2S_WS_IO (GPIO_NUM_12)
然后修改46、47行。
#define I2S_DO_IO (GPIO_NUM_11)
#define I2S_DI_IO (GPIO_NUM_7)
I2S的5个引脚就修改好了。
特别要注意I2S引脚当中的GPIO11,这个引脚目前还是VDD_SPI引脚,默认是一个电源引脚,输出3.3V,我们需要把它变成GPIO11才可以使用。这个变化是不可逆的,变成GPIO11以后,就不能再变成VDD_SPI引脚了。你们自己设计产品的时候注意,如果这个引脚用作VDD_SPI给外部FLASH供电,千万不要把它搞成GPIO11,否则就得换芯片了。我们的开发板上只把它用做GPIO11,I2S_DO引脚。把它变成GPIO11,需要调用一个函数即可。
printf(“ESP_EFUSE_VDD_SPI_AS_GPIO start\n-----------------------------\n”);
esp_efuse_write_field_bit(ESP_EFUSE_VDD_SPI_AS_GPIO);
我们把上面两行代码放到app_main函数的最开始处。第一行语句是提示,第二行代码是把VDD_SPI引脚变成GPIO引脚的函数。使用这个函数,需要调用esp_efuse_table.h头文件。
#include “esp_efuse_table.h”
接下来,还有一个引脚需要控制,就是音频放大器芯片NS4150B的EN引脚,这个引脚连接到了ESP32-C3的GPIO13,这个引脚通过下拉电阻接地,低电平关闭音频输出,高电平打开音频输出,这里我们需要把这个引脚变成高电平才可以。
/* 初始化PA芯片NS4150B控制引脚 低电平关闭音频输出 高电平允许音频输出 */
gpio_config_t io_conf = {
.intr_type = GPIO_INTR_DISABLE, //disable interrupt
.mode = GPIO_MODE_OUTPUT, //set as output mode
.pin_bit_mask = 1<<13, //bit mask of the pins
.pull_down_en = 0, //disable pull-down mode
.pull_up_en = 1, //enable pull-up mode
};
//configure GPIO with the given settings
gpio_config(&io_conf);

gpio_set_level(GPIO_NUM_13, 1); // 输出高电平

把上面的代码,放到app_main函数中,就放到刚才添加的两行控制VDD_SPI引脚代码后面就可以。
直到这里,代码就修改完毕了,接下来我们配置好左下角的串口号、芯片型号、menuconfig等。
注意,配置menuconfig之前,一定要先选好芯片型号,否则menuconfig的内容会被复位,还得在配置一下。所以我们先把芯片配置成esp32-c3,然后打开menuconfig配置。这里需要配置两个地方,一个是FLASH容量改成8MB,另外一个是Example Configuration。
Example Configuration这里的Example mode有两种,一种是music音乐播放模式,另外一种是echo回声模式,这里我们先选music音乐模式,Voice volume是声音大小,模式是60,声音有点低,我们改成80。改好后点击保存,然后关闭。
然后编译下载到我们的开发板,就可以听到扬声器播放声音了。这里播放的声音是canon.pcm这个文件的声音。

同时,串口终端会输出:
I (10340) i2s_es8311: [music] i2s music played, 634240 bytes are written.
关于如何替换成自己定义的声音,可以参考这个例程的README.MD文件中的Customize your own music这一部分。另外,也可以看第17章的例程,第17章的例程有开机音乐,教程中有介绍如何制作。

这里面还有一个例程:
在这里插入图片描述
在这里插入图片描述
这里讲述了如何开发对话功能,还是比较详细的。

你觉得这两个开发板哪个更适合你呢?

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

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

相关文章

Unity UGUI 之 Canvas画布

本文仅作学习笔记与交流&#xff0c;不作任何商业用途 本文包括但不限于unity官方手册&#xff0c;唐老狮&#xff0c;麦扣教程知识&#xff0c;引用会标记&#xff0c;如有不足还请斧正 1.UGUI是什么 首先官方手册导向了这两个连接&#xff0c;里面是ugui的基本教程 帆布 |U…

【全面升级!短视频运营利器揭秘】短视频矩阵系统

短视频矩阵通常是指一种内容分发策略&#xff0c;它通过构建一个包含多种不同类型、主题或风格短视频的内容平台架构。这个矩阵可能会包括搞笑、教育、音乐、美食、旅游等各种短视频形式&#xff0c;让用户可以根据兴趣选择观看。每个视频可以视为矩阵中的一个节点&#xff0c;…

JVM-垃圾回收与内存分配

目录 垃圾收集器与内存分配策略 引用 对象的访问方式有哪些?&#xff08;句柄和直接指针&#xff09; Java的引用有哪些类型? 如何判断对象是否是垃圾? 请列举一些可作为GC Roots的对象? 对象头了解吗? mark word&#xff08;hashcode、分代、锁标志位&#xff09;、…

Linux 12:多线程2

1. 生产者消费者模型 生产者消费者模型有三种关系&#xff0c;两个角色&#xff0c;一个交易场所。 三种关系&#xff1a; 生产者之间是什么关系?竞争 - 互斥 消费者和消费者之间?竞争 - 互斥 消费者和消费者之间?互斥和同步 两个角色&#xff1a; 生产者和消费者 一个交…

记录|C# winform布局学习

目录 前言一、自适应布局Step1. 添加AutoAdaptWindowsSize类Step2. Form中引用Step3. 创建SizeChanged事件函数Step4. 在Fram.Disiger中添加 更新时间 前言 参考视频&#xff1a; C#5分钟winform快速自适应布局 参考文章&#xff1a; 其他参考&#xff1a; 写这篇文章&#xff…

【python学习】python的知识点总结、特点和思考及解答(代码示例)

引言 python 是一种高级编程语言&#xff0c;具有简洁的语法和丰富的库&#xff0c;被广泛应用于Web开发、数据分析、人工智能、科学计算等领域 文章目录 引言一、python知识点总结1.1 基础语法1.1.1 变量和数据类型1.1.2 控制结构1.1.3 函数和模块 1.2 面向对象编程1.2.1 类和…

vue的三大核心知识点

响应式&#xff1a; 监听data属性getter setter(包括数组)模板编译&#xff1a; 模板到render函数再到vnodevdom&#xff1a; patch(elem, vnode)和patch(vnode, newVnode) vue组件初次渲染过程 解析模板为render函数&#xff08;或在开发环境已完成&#xff0c;vue-loader&a…

Vue 对接海康威视,实现摄像头画面展示

文章目录 需求分析1. 下载2. 安装3. new 一个WebControl 插件相关实例 需求 项目中集成海康威视&#xff0c;实现摄像头画面展示 分析 1. 下载 传送门&#xff1a;官方插件包和文档下载 2. 安装 &#xff08;1&#xff09;下载完成后打开 &#xff08;2&#xff09;在项…

三款知名的基于RAG技术的智能体平台分析

这篇文章是关于目前市面上三款知名的基于检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;技术的智能体平台的详细对比分析。这三款产品分别是FastGPT、Dify和Coze。文章从不同维度分析了这些产品的优势和劣势&#xff0c;以供读者参考。 什么是RAG&…

【Qt之·类QRandomGenerator】

系列文章目录 文章目录 前言一、概述1.2. 二、实例演示总结 前言 一、概述 1. 2. 二、实例演示 示例1&#xff1a; #include <QRandomGenerator> #include <QRandomGenerator64> #include <QDebug>int randomInt QRandomGenerator::global()->bound…

ESP8266模块(2)

实例1 查看附近的WiFi 步骤1&#xff1a;进入AT指令模式 使用USB转串口适配器将ESP8266模块连接到电脑。打开串口终端软件&#xff0c;并设置正确的串口和波特率&#xff08;通常为115200&#xff09;。输入以下命令并按回车确认&#xff1a; AT如果模块响应OK&#xff0c;…

TCP状态转换详解

1.什么是TCP的状态转换 TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输层协议。在 TCP 连接的生命周期中&#xff0c;连接的状态会随着不同阶段的通信而发生变化&#xff0c;这些变化被称为状…

数据库最佳实践:优化爬虫管理的数据存储方案

摘要&#xff1a; 面对日益增长的数据抓取需求&#xff0c;如何高效管理和存储爬虫获取的海量信息成为一大挑战。本文将深入探讨数据库最佳实践&#xff0c;揭示如何通过优化策略提升爬虫数据存储效率&#xff0c;助您跨越数据管理的障碍&#xff0c;实现数据价值最大化。 一、…

虚拟试衣人像合成新SOTA!IMAGDressing-v1:ControlNet和IP-Adapter的最佳拍档

文章链接&#xff1a;https://arxiv.org/pdf/2407.12705 github链接&#xff1a;https://imagdressing.github.io/ Demo试用&#xff1a;https://sf.dictdoc.site/ 亮点直击 为商家引入了一项新的虚拟试衣&#xff08;VD&#xff09;任务&#xff0c;并设计了一个综合亲和力测量…

关闭 Linux 服务器上的 IPv6

虽然 IPv6 已经逐渐普及&#xff0c;但在某些 Linux 服务器上的业务系统仍然可能遇到一些奇怪的问题。特别是在集群场景中&#xff0c;因为集群各个节点之间需要互相通信&#xff0c;如果 IPv6 没有正确配置网络&#xff0c;可能导致一些未知问题&#xff0c;解决起来相当麻烦。…

acwing796-子矩阵的和-前缀和

s矩阵是全局变量&#xff0c;维度n*m,从1~n和 1~m存储元素【0】【0】~【0】【m】和【0】【0】~【n】【0】分别存储的都是0.s矩阵刚开始是存储输入的元素&#xff0c;后面用于存储前缀和。 s矩阵的意思是s【i】【j】表示从【0】【0】到【i】【j】为对角线的矩阵里面所有元素的和…

Pytorch的编译新特性TorchDynamo的工作原理和使用示例

在深度学习中&#xff0c;优化模型性能至关重要&#xff0c;特别是对于需要快速执行和实时推断的应用。而PyTorch在平衡动态图执行与高性能方面常常面临挑战。传统的PyTorch优化技术在处理动态计算图时效果有限&#xff0c;导致训练时间延长和模型性能不佳。TorchDynamo是一种为…

AI批量剪辑,批量发布大模型矩阵系统搭建开发

目录 前言 一、AI矩阵系统功能 二、AI批量剪辑可以解决什么问题&#xff1f; 总结&#xff1a; 前言 基于ai生成或剪辑视频的原理&#xff0c;利用ai将原视频进行混剪&#xff0c;生成新的视频素材。ai会将剪辑好的视频加上标题&#xff0c;批量发布到各个自媒体账号上。这…

[CP_AUTOSAR]_通信服务_CanTp模块(二)

目录 3、功能规范3.1、提供给上层的服务3.1.1、Initialization and shutdown3.1.2、Transmit request3.1.3、Transmit cancellation 3.2、提供给下层的服务3.2.1、Transmit confirmation3.2.2、Reception indication 3.3、内部行为3.3.1、N-SDU接收 在前面 《[CP_AUTOSAR]_通信…

一款异次元小清新风格的响应式wordpress个人博客主题

一款异次元小清新风格的响应式个人博客主题。这是一款专注于用户阅读体验的响应式 WordPress 主题&#xff0c;整体布局简洁大方&#xff0c;针对资源加载进行了优化。 Kratos主题基于Bootstrap和Font Awesome的WordPress一个干净&#xff0c;简单且响应迅速的博客主题&#x…