FastBond2阶段1——基于ESP32-S2和机器视觉打造钢铁侠的智能助手-贾维斯
由ESP32-S2,摄像头,树莓派/PC,i2S DAC与MIC,AI图像识别实现给ChatGPT装上上无线眼睛,并实现语音交互功能。
标签
开发板
PCB设计
AI视觉
ChatGPT
FastBond第二季
TTS
贾维斯
StreakingJerry
更新2023-08-15
1374

项目介绍

利用ESP32-S2制作一个网络摄像头模块,实现图像捕捉功能并发送到树莓派或PC,再由PC进行图像识别。与此同时,利用语音识别功能实现语音输入,并将语音输入的内容与图像识别的结果整合后发送给ChatGPT,最后通过TTS输出ChatGPT的返回信息,让ChatGPT拥有视觉能力和语音对话能力。

该项目的硬件部分主要是完成ESP32-S2无线视觉模块的设计,目标设计出一款自带摄像头和显示屏并兼具一定拓展能力的ESP32-S2开发板。

 

Scheme-it工具介绍

Scheme-it 是全球可用的云端式工具,可设计、分享电子电路绘图和线路图。最新发布的新功能包含:

1、Ultra Librarian 符号整合:此功能纳入了约 200 万个 Ultra Librarian 精细、美观的符号,以及 Digi-Key 产品目录的影像。

2、Symbol Editor 2.0:使用者采用此自订符号编辑器,即可创造目前 Scheme-it 没有的新符号,让您设计不受限。

3、数学标示:由 LaTeX 技术支援,使用者能以适当格式嵌入数学方程式,并且直接在线路图上计算。

Digi-Key Electronics 的 Scheme-it 工具目前提供 Ultra Librarian 符号整合、自订符号编辑器,以及在线路图中加入数学方程式的功能。Scheme-it 工具含有完整的电子符号库,并整合 Digi-Key 产品目录,因此可进行各种电路设计。使用者可以在 Scheme-it 中建立物料清单 (BOM),并购买用于专案的零件,也可以分享专案,汇出 KiCAD、.PNG、.SVG、.PDF 格式的档案。

平台中建立的线路图可依您的意愿公开分享,并且在 Scheme-it 首页可搜寻,让您能分享想法及进一步创新。Digi-Key 的 TechForum 也为 Scheme-it 使用者提供专属空间,在此针对 Scheme-it 提问、评论、分享想法。


方案框图

该方案以树莓派或PC作为核心,使用ESP32-S2进行视觉信息输入。由于图像是通过WIFI发送至核心,并非通过USB或SPI等有线的方式,因此在该项目中视觉模块可以被部署在任何位置。

若使用树莓派作为核心,那么还需要为其添加音频电路。音频的输入输出均使用I2S接口,通过将现成的I2S DAC模块和I2S MIC模块接入,可以很方便的实现语音输入输出功能。

该方案的框图如下:

Ftc1QnV7D-hPxPOxIKd8dxHGcj3m

当然也可以直接在Scheme-it上查看,链接如下:

https://www.digikey.cn/schemeit/project/face-ad30344251e84456865b248c322d2ae5

 

原理图

先是串口通讯部分,通过一个CH343P来实现串口通讯,主要用作固件烧录和调试。

FiOhceobxBf-hlAlNwOkMBZASLUV

 

下面是供电部分,ESP32-S2需要的3.3V由一颗LDO进行供电。由于使用了摄像头,需要用到1.3V/1.2V和2.8V两个电压,因此再增加一块双LDO芯片来给摄像头供电。

FlvjiK8aH9sBwR1lE-AUYJj3pi1A

 

下面是ESP32-S2模块的引脚引出,除了EN需要增加RC延迟电路保证开机时序外,没有其他特别需要注意的。EN的延迟主要是相对于BOOT引脚而言,因此若BOOT引脚上接有电容,EN引脚的电容需要比BOOT引脚更大。而其他straping引脚已在模组内完成了上下拉,不需要再做处理。

Frv_Afp5a_nWpCKW0cEc_DAb02Na

 

显示屏使用了1.14寸的ST7789,这里使用SPI1进行连接,因此可以把SPI0空出来用作拓展用途。同时由于BOOT引脚自带上拉电阻,因此利用BOOT作为显示屏的背光开关,可在节约引脚的同时实现默认关闭显示屏。

FuWMgVrXIUECG85hEI4J8_55TBuS

 

摄像头选用的是较为通用的OV2640,引脚选用上没有什么需要特别注意的地方,可以使用ESP32-S2上任意可用的双向IO口。由于OV2640内部有区分模拟回路和数字回路,因此模拟地和数字地要在外部单点相接。

在这里我还增加了一颗大功率LED,作为补光灯使用。大功率LED直接使用5V进行供电。因为功率较大,无法用普通的限流电阻来进行限流,因此这里用了一个专门的LED恒流驱动芯片,固定限流350mA。控制可以使用单片机直接控制,也可以利用OV2640的闪光灯引脚来进行控制。

FkzIvuQLyOKCJhWWxdgxMbXTexjT

 

最后把剩余一些没有用到的端口引出,并添加USB接口。注意这个USB是ESP32-S2的自带USB,与一开始的串口USB并不相同。这个USB接口不但可以用来烧写固件,还可以用作USB Device或USB Host使用。

Fs1PLkdJLE1RLUdvQSriucNGfpHA

由于考虑到上位机可能会出于功耗的考虑使用树莓派,而不使用PC,因此这里又设计了一块树莓派的声音模块,使用I2S接口,功放模块用的是MAX98357模组,麦克风用的是INMP441模组,还引出了两个接口,可以尝试同时控制机械臂,实现真正完整功能的“贾维斯助手”。

FsPc__mk9QxcjfutCm3YCLBTSPXi

元器件介绍

ESP32-S2

ESP32-S2 是一款高度集成、高性价比、低功耗、主打安全的单核 Wi-Fi SoC,具备强大的功能和丰富的 IO 接口。

ESP32-S2 集成了丰富的外围设备,有 43 个可编程 GPIO,可以灵活配置为 USB OTG、LCD 接口、摄像头接口、SPI、I2S、UART、ADC、DAC 等常用功能。ESP32-S2 具有 LCD 接口和 14 个可配置的电容触摸 GPIO,可为基于触摸屏和触摸板的设备提供良好的 HMI 解决方案。

ESP32-S2 的工作温度是 -40 °C~105 °C,适用于各类工业、消费和照明应用。

ESP32-S2-MINI-2 和 ESP32-S2-MINI-2U 是通用型 Wi-Fi MCU 模组,功能强大,具有丰富的外设接口,可用于可穿戴电子设备、智能家居等场景。


心得体会

这个项目是我做过的较为复杂的项目之一。其中硬件部分相对于常规开发板的设计更为复杂,由于有摄像头的关系,若想实现紧凑设计则走线会比较困难;而软件部分,将语音识别,ChatGPT,OpenCV,TTS整合在一起协同工作,对我来说也有一定的挑战性。我会尽可能完成阶段二,相信完成这个项目一定会对自身有莫大的提升。

 

附件下载
FACE.pdf
团队介绍
个人
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号