基于 AI 的视障辅助可穿戴手套

我设计了 DrishtiY—— 一款专为视障人士打造的 AI 辅助手套,
这款手套搭载树莓派 Zero W 和 ESP32-CAM 模块,用户按下按键就能捕捉图像,经 AI 分析后,15 秒内就能通过耳机或电脑播报场景细节。它仅需约 80 美元,远低于同类智能眼镜,还能灵活指向不同角度,解决了眼镜视角受限的问题。
我整理了完整的材料清单、组装步骤和代码资源,支持无 USB 耳机的替代方案。未来我还会升级离线模式、面部识别等功能,希望用普惠的 AI 技术,让视障人士自主感知世界,让 “看见” 不再昂贵。
准备工作:
材料:

所需材料
以下是自制该项目所需的全部物品:
- 带 SD 卡(8-16GB)的树莓派 Zero W(Raspberry Pi Zero W)
- SD 卡读卡器
- ESP32-CAM 模块(若不带内置 USB 接口或 USB 屏蔽层,需额外配备 FTDI 编程器
- 按键开关(Push Button)
- 3 根公对母杜邦线(Female to Female Jumper Wires)
- 一副手套
- 一小块泡沫板
- 锂离子电池(或其他适用于 ESP32-CAM 的电源)
- 移动电源(或其他适用于树莓派 Zero W 的电源)
- USB 数据线(A 型转 Micro B 型)
- 双面胶
- USB 耳机(我目前没有,会展示替代方案,但主方案需配备
- OTG 数据线(使用主方案时需配备)
1
连接按键开关

使用公对母杜邦线将按键开关连接到树莓派 Zero W 的 GPIO 17 引脚和 GND 引脚(接地引脚)。成品效果如图所示,你也可以参考第二张图片进行操作。
2
设置树莓派 Zero W 和 ESP32-CAM 模块




12
ESP32-CAM 模块设置(含 USB 接口 / 型号 hw-818/ch340)
- 下载并安装 Arduino IDE。
- 从开发板管理器中下载 Espressif 的 ESP32 开发板包。
- 在 Arduino IDE 界面中选择你的 ESP32-CAM 开发板(若不确定型号,可尝试排查,建议先从 Wrover 模块开始)。
- 按照上图所示路径打开示例中的摄像头网络服务器代码:文件(File)→示例(Examples)→ESP32→摄像头(Camera)→CameraWebServer。
- 在代码第 13-32 行中,删除对应你开发板型号前的井号(#),完成型号选择。
- 按照第二张图片所示配置参数(注:参数示例:Flash Before Sketch Upload:Disabled;频率:40MHz;模式:QIO;方案:Huge APP (3MB No OTA/1MB);波特率:115200)。
- 在代码中修改 ssid 和 password 变量,填入你的 Wi-Fi 名称和密码。
- 将 GPIO 0 引脚与 GND 引脚连接,选择端口后点击 “上传”。
- 上传完成后,移除 GPIO 0 与 GND 的连接线,点击复位按钮。
- 在控制台中记录显示的 IP 地址。
- 注意:若你的开发板不带 USB 屏蔽层或内置 USB 接口,需通过 FTDI 编程器进行接线。如果你更喜欢视频教程而非文字和静态图片,可参考我频道中附带的 YouTube 视频完成上述操作😉。
树莓派 Zero W(安装 Raspberry Pi OS Lite 系统)设置
- 从树莓派官方网站下载 Raspberry Pi Imager 工具。
- 将 SD 卡插入 SD 卡读卡器。
- 使用 Raspberry Pi Imager 将系统安装到 SD 卡:第一个选项选择 “树莓派 Zero”,第二个选项选择 “Raspberry Pi OS Lite”,最后一个选项选择插入 SD 卡的读卡器。
- 点击 “下一步(NEXT)”,在弹出窗口中点击 “编辑设置”:
- 设置易于记忆的主机名
- 设置用户名和密码
- 输入你的 Wi-Fi 名称(SSID)、密码和无线局域网所在国家 / 地区
- 进入 “服务” 选项,启用 SSH 功能
- 点击 “保存”,然后点击 “确认(yes)”。
- 等待镜像写入完成,弹出驱动器,取出 SD 卡并插入树莓派 Zero W,为树莓派供电。
- 使用 IP 扫描工具(如 Advanced IP Scanner)查找树莓派的 IP 地址,通过 Putty 等软件访问终端。
- 若上述两步遇到问题,可连接显示器,问题会直观显示且易于理解;若仍无法解决,欢迎在下方留言。
- 确保树莓派 Zero W 和 ESP32-CAM 模块处于同一局域网内。
3
制作设备结构




12
- 用热熔胶将泡沫板粘在手套的上表面。
- 用双面胶将 ESP32-CAM 模块固定在泡沫板上,确保摄像头朝前。
- 用双面胶固定树莓派 Zero W。
- 用双面胶将按键开关固定在手套的下表面,位置以拇指可轻松按压为准,并用胶带固定按键连接的导线。
4
编写代码!

- 访问树莓派终端后,输入用户名和密码。无需在系统中进行额外的前置配置,插入新写入镜像的 SD 卡后即可从零开始操作。
- 更新软件包列表并安装所需软件包:
sudo apt update
sudo apt install espeak ffmpeg libespeak-ng1 -y
sudo apt install python3
sudo apt install python3-pip
- (可选)安装构建 Python 模块所需的软件包:
sudo apt install build-essential python3-dev -y
- 创建项目文件夹并进入该文件夹(可选,但能让文件结构更清晰):
mkdir drishti
cd drishti
- 创建并激活虚拟环境:
python3 -m venv DrishtiY
source DrishtiY/bin/activate
- 安装重要的 Python 库:
pip install pyttsx3 requests wget RPi.GPIO
- 打开编程环境:
touch main.py # 可选,nano编辑器会自动创建不存在的文件
nano main.py
无 USB 耳机的使用方案
如果没有 USB 耳机,需在电脑上运行一个程序,该程序会接收树莓派发送的音频文件并在电脑上播放。我会提供以下三个代码文件:
- 树莓派 Wi-Fi 传输版代码
- 设备端 Wi-Fi 接收版代码(用于播放音频)
额外配置步骤:
- 安装所需工具:
sudo apt install alsa-utils -y
- 下载 mainWIFI.py 和 main-server.py 文件。
- 修改代码中的以下变量:
- ESP32CAM:填入之前记录的 ESP32-CAM 模块 IP 地址
- PC_IP:填入运行 main-server.py 的电脑 IP 地址
- API_KEY:填入从 Google AI Studio 获取的 Gemini API 密钥
- 查找电脑 IP 地址:
- Windows 系统:在命令提示符中输入
ipconfig - Linux/MacOS 系统:在终端中输入
ifconfig - 获取 Gemini API 密钥:
- 访问 Google Cloud Console(https://console.cloud.google.com/)→选择项目→新建项目→输入项目名称
- 访问 Google AI Studio(https://aistudio.google.com/apikey)→获取 API 密钥→选择已创建的项目→在现有项目中创建 API 密钥
- 将修改后的代码复制粘贴到树莓派的 Nano 编辑器中,按 Ctrl+S 保存,Ctrl+X 退出。
- 关闭树莓派,为步骤 6 安装电源做准备:
sudo shutdown now
有 USB 耳机的使用方案(主方案)
- 通过 OTG 数据线将 USB 耳机连接到树莓派,也可通过 USB 适配器连接普通耳机。
- main.py 文件适用于配备 USB 耳机的情况,只需修改代码中的 ESP32CAM(ESP32-CAM 模块 IP 地址)和 API_KEY(Gemini API 密钥)变量。
- 按照上述步骤关闭树莓派。
附件下载
5
USB 耳机版代码(主方案)

通过 OTG 数据线将 USB 耳机连接到树莓派,也可通过 USB 适配器连接普通耳机。main.py 文件适用于配备 USB 耳机的制作者,在此方案中,你只需替换 ESP32CAM(ESP32-CAM 模块 IP 地址)变量和 API_KEY(Gemini API 密钥)变量。按照上一部分的步骤关闭树莓派 Zero W。
6
安装电源

- 将 ESP32-CAM 模块和树莓派 Zero W 的电源固定在泡沫板上。
- 为 ESP32-CAM 模块连接电池:
- 正极接 5V 引脚
- 负极接 GND 引脚(接地引脚)
- 为树莓派供电:建议使用移动电源或带移动电源模块的电池(更安全,也可选择其他方式)。我的移动电源较大,所以用橡皮筋或胶带固定在手臂上;理想方案是使用带移动电源模块的电池,或体积足够小、可固定在泡沫板上的移动电源。后续版本 2 会整合电源系统,手套下方空间将预留供用户使用,不用于安装电源。
7
使用方法

操作流程
- 将移动电源连接到树莓派 Zero W 的电源接口(PWR port)。
- 树莓派 Zero W 启动时,若使用无 USB 耳机方案,需在电脑上运行 main-server.py 文件:打开电脑终端,进入文件下载后的存储目录,执行命令
python main-server.py。 - 回到树莓派终端,输入用户名和密码,执行以下命令进入项目文件夹并激活虚拟环境:
cd drishti
source DrishtiY/bin/activate
- 执行以下命令运行代码:
python main.py
- 设备激活后即可测试:戴上手套,指向目标物体并按下按键,等待约 15 秒后,音频输出会通过电脑扬声器(无 USB 耳机方案)或 USB 耳机(主方案)播放。
核心操作手册
- 戴上手套
- 启动树莓派 Zero W 和 ESP32-CAM 模块
- (无 USB 耳机方案)在电脑上运行 main-server.py 文件
- 执行启动命令:
cd drishti && source DrishtiY/bin/activate && python main.py - 按下按键,聆听场景描述
8
3D 模型(Fusion 360)




12
点击下方 “3D 查看” 按钮查看 3D 模型:
- “SRG 手套”(https://skfb.ly/KJIt)由 SrGeneroso 创作,依据知识共享署名许可协议(http://creativecommons.org/licenses/by/4.0/)授权使用。
- 3.7V 100mAh 锂聚合物电池(LiPo Battery 3.7v 100mAh)由 dalidavila 创作(https://www.autodesk.com/community/gallery/project/127300/lipo-battery-3-7v-100mah)
- 树莓派 Zero(Raspberry Pi Zero)由 schneik-adsk(欧特克 Fusion 360 产品架构高级总监)创作(https://www.autodesk.com/community/gallery/project/26271/raspberry-pi-zero)
- ESP32-CAM 模块模型由 T3do 创作(https://www.autodesk.com/community/gallery/project/176252/esp-32-cam)
0
0
0
qq空间
微博
复制链接
分享 更多相关项目
猜你喜欢
评论/提问(已发布 0 条)
0