25 元把旧眼镜变 AI 智能眼镜:OpenGlass 开源项目全解析
【免费下载链接】OpenGlassTurn any glasses into AI-powered smart glasses项目地址: https://gitcode.com/GitHub_Trending/op/OpenGlass
商业 AI 眼镜上千元起、固件还锁死。OpenGlass 用一块 ESP32 S3、一颗摄像头加一块锂电池,把旧眼镜改成能拍照、记场景、AI 问答的智能眼镜,零件成本不到 25 元。
图:佩戴 OpenGlass 智能眼镜的第一人称现场画面
项目全景:它是什么、凭什么行
🔩主控芯片:拇指大小的双核摄像头开发板
- 选的是 Seeed Studio XIAO ESP32 S3 Sense。ESP32 S3 可以理解成一块拇指大的双核小电脑,主频 240MHz,一边抓图像一边传数据不打架。
- 关键在它把 OV2640 摄像头和 PDM 麦克风都焊在同一块小板上,你不用再单独拼主板、镜头、麦克风。
- 板载 8MB OPI PSRAM(外挂的大容量临时内存),照片缓冲放得下,传输不卡顿。
- 体感差异:整块直接卡进镜腿,比市售 AR 眼镜那种一体机身小得多,也便宜得多。
📡传输链路:一套省电的蓝牙数据管道
- 用 BLE(蓝牙低功耗),GATT 像给蓝牙定义的一套"插座",音频、照片、控制各占一个口,互不干扰。
- 眼镜不经过手机中转,直接对浏览器传,固件里
audioData、photoData、photoControl各是一个特征值。 - 照片按 200 字节一小块分片推送,末尾用
0xFF 0xFF标志收尾,断包能识别。 - 体感差异:弱信号下传输也不容易整张丢图,连接稳定。
🔋供电与固定:一枚锂片电池加一个打印支架
- 电池选 EEMB LP502030,3.7V、250mAh,像手机里那种薄扁纽扣电池,薄到能贴进镜腿不鼓包。
- 支架用仓库提供的 STL 文件 3D 打印,卡住开发板即可,免焊接。
- 固件每 60 秒把电池等级上报一次,电量状态随时可查。
- 体感差异:整机几乎无感,比市售一体式智能眼镜轻一截。
图:镜腿上的 OpenGlass 硬件,ESP32 S3 小板与摄像头特写
快速问答
问:真的不到 25 元吗?答:核心是 XIAO ESP32 S3 Sense 开发板、集成摄像头和 250mAh 锂片电池,再加打印支架耗材,合计约 25 美元,比上千元的商业 AI 眼镜低一个数量级。
问:需要会编程和焊接吗?答:硬件卡进支架免焊;固件用 Arduino IDE 一键烧录,软件是现成 Expo 应用,你只填密钥就能跑。
问:需要买显示屏吗?答:不需要。它没有内置屏,识别结果发到手机或浏览器页面显示,靠"眼镜采集 + 手机呈现"分工。
能力深潜:核心功能怎么跑起来的
📸场景记忆:让你不用翻相册也能问"刚才看见什么"
戴着眼镜走动时,它每 5 秒自动拍一张,把"你看到的"攒成一份带描述的记忆库。固件loop()按间隔触发take_photo(),JPEG 编码后经蓝牙分块推到前端;前端usePhotos()重组图像,交给 Ollama 的moondream:1.8b-v2-fp16视觉模型生成文字描述,连画面里的文字都一起转写。5 秒一张,一小时通勤能攒约 700 条描述,之后随时可追问。
图:眼镜每 5 秒自动抓拍一次第一人称场景
🧠看图问答:把一连串照片变成可以追问的记忆
你只管提问,它从所有照片的描述里找答案,不用你回翻。Agent.answer()把已存的照片描述按Image #i拼成一段长文本,交给 Groq 的llama3-70b-8192(或 OpenAIgpt-4o);系统提示词限定"只根据照片描述回答、不要泛化"。问"我钥匙放哪了",它只基于你拍过的画面回答,不瞎编。
图:向眼镜提问后,AI 基于历史照片描述作答
🗣️语音播报:让答案不只在屏幕上,还能读出来
答案除了显示,还能念给你听。openai.ts里textToSpeech()调tts-1(nova 音色)把文字合成音频,AudioContext直接播放;麦克风侧经 I2S 16kHz 采样,可选 Opus/MuLaw/PCM 三种编码。走路时听答案不用低头看屏,解放双手。
快速问答
问:模型跑在本地还是云端?答:看图描述走本地 Ollama 的 moondream,断网也能出描述;最终问答走云端 llama3-70b / gpt-4o,需联网。
问:前端为什么把照片旋转 270°?答:摄像头装在镜腿时画面是侧的,DeviceView.tsx用rotateImage(buffer, '270')校正方向再送模型。
实测场景:把项目放进真实生活
🚶通勤路上:外语路牌不用掏手机
进异国城市戴着眼镜走,它每 5 秒拍一张路牌和店招,moondream 把画面里的文字连同场景一起转写出来攒成记忆。到地铁口你问"刚才那个蓝色牌子写的什么",llama3-70b 直接从描述里摘出文字念给你,全程不用掏手机。一张 JPEG 约按 200 字节分片经蓝牙传完,抬头就是答案。
图:通勤途中眼镜抓拍路牌与环境文字
🏛️逛展看展:拍过的都能再问回来
在玻璃穹顶展馆里走动,它默默记录每件展品、每块说明牌。逛到后面忘了某块牌子讲什么,开口问"刚才那块展板的重点是什么",它基于你走过的路线描述作答,省去了翻几十张图的步骤。一次 30 分钟逛展约累积 360 张照片描述,追问命中率靠本地 OCR 转写支撑。
图:逛展时眼镜持续记录第一人称视野
🅿️找东西:默认玩法"我的车在哪"
项目 demo 名就叫 "Dude where's my car?"——把车停进车位拍一圈环境,走开后问"我的车停在哪个柱子旁",它比对各张描述回答,适合停车、找钥匙、找钱包。操作步骤:启动应用 → 自动每 5 秒拍一张 → 提问 → 语音 + 文字双通道出答案,三步走完。
快速问答
问:完全不会代码能玩起来吗?答:可以。硬件卡进支架免焊,固件 Arduino IDE 一键烧录,软件 clone 后npm start打开浏览器 localhost 即可;唯一门槛是给 Ollama、Groq/OpenAI 各填一个密钥。
上手指南:从零到跑通的最短路径
🚀阶段一:跑通最简体验,10 分钟见到界面
先装好硬件、烧录固件(见阶段二),软件侧一条命令拉代码、装依赖、起应用,用 Chrome 打开浏览器打印的 localhost 链接,点 "Connect to the device" 就连上眼镜。从输入命令到看见连接按钮约 10 分钟。
# 一条命令:拉代码 → 进目录 → 装依赖 → 起应用 git clone https://gitcode.com/GitHub_Trending/op/OpenGlass && cd OpenGlass && npm i && npm start⚙️阶段二:配好模型,让问答真正可用
识别跑在本地 Ollama,问答走云端。下载视觉模型、填密钥、重启应用即可:
# 下载本地视觉模型,识别靠它 ollama pull moondream:1.8b-v2-fp16 # 编辑 sources/keys.ts 填入 Groq / OpenAI / Ollama 密钥后重启 npm start固件用 arduino-cli 烧录时务必指定 OPI PSRAM:
# 编译并上传固件,-p 换成你的真实端口 arduino-cli compile -u -p COM5 -b esp32:esp32:XIAO_ESP32S3:PSRAM=opi firmware🛠️阶段三:进阶定制,改哪都看得懂
- 换问答引擎:sources/modules/ 下
groq-llama3.ts与openai.ts可互换或换成 Ollama 本地模型,改动集中在 sources/agent/imageDescription.ts。 - 调拍照节奏:firmware/firmware.ino 的
handlePhotoControl支持 5~300 秒间隔,前端写入对应控制值。 - 省流量传音频:同文件把
CODEC_PCM切成CODEC_OPUS,音频体积更小、蓝牙更省。
常见坑位
| 问题 | 原因 | 解法 |
|---|---|---|
| 烧录后相机不出图 | PSRAM 没选对 | Arduino IDE 的 Tools 里设为 OPI PSRAM |
| 网页连不上设备 | 浏览器不支持 Web Bluetooth | 换 Chrome / Edge 并允许蓝牙 |
| 识别很慢或超时 | 本地模型没下载 | 先跑ollama pull moondream:1.8b-v2-fp16 |
| 照片方向歪 90° | 摄像头装反 | 前端默认rotateImage270°,装反则调 firmware/camera_pins.h |
快速问答
问:没手机、只用浏览器行不行?答:可以,Web 版跑在 Chrome/Edge;若要 App,Expo 也支持安卓/iOS,蓝牙插件已配好。
问:烧录时端口识别不出来?答:换 USB 口或换线,Windows 装 CP210x 芯片驱动,再用arduino-cli board list确认真实端口名。
生态与玩法:社区正在做什么
🔊语音寻物版:答案直接读进耳朵
在内置问答上强化语音闭环——拍过的场景里找东西,答案用 OpenAI TTS 念出来,解放双手。难度:低。入口在 sources/modules/openai.ts。
📶Opus 低延迟传输版:更省流量的蓝牙
把固件音频编码切到 Opus,16kHz 音频体积更小,弱网下照片和语音都更快。难度:中。改 firmware/firmware.ino 顶部宏即可。
🌐本地全离线版:断网也能看图描述
用 Ollama 自托管把问答也搬到本地,配合 moondream,弱信号环境仍能出描述。难度:高。改 sources/agent/imageDescription.ts 把llamaFind指向本地模型。
回到开头那个"千元改不了"的痛点:你花 25 元就能拥有一副听你指挥的 AI 智能眼镜。下一步很具体——clone 仓库、在 sources/keys.ts 填好密钥、ollama pull moondream:1.8b-v2-fp16拉模型,再打开浏览器连上眼镜。上游已并入 Omi 项目,关注它的后续更新,你的改造也能提 PR 回流社区。
【免费下载链接】OpenGlassTurn any glasses into AI-powered smart glasses项目地址: https://gitcode.com/GitHub_Trending/op/OpenGlass
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考