资讯动态

25美元零件把旧眼镜改成AI眼镜:OpenGlass全流程实测

发布时间:2026/10/20 2:09:47 来源:尧图企业网站定制
25美元零件把旧眼镜改成AI眼镜OpenGlass全流程实测【免费下载链接】OpenGlassTurn any glasses into AI-powered smart glasses项目地址: https://gitcode.com/GitHub_Trending/op/OpenGlass开会时我戴上旧眼镜问了一句刚才那个人在干嘛几秒后浏览器里就出现了答案。这不是某个大厂产品而是 OpenGlass 仓库里的方案一副眼镜加一块不到 25 美元的 ESP32 小板就能拍照、传图、识别、语音回答。读完整篇文章你能把固件烧进硬件、把 Web 端跑起来并连上设备走通拍照→识别→回答这条链路。先说清它是什么OpenGlass 解决的问题很简单商业智能眼镜太贵你想让眼镜看懂眼前世界只能掏上千美元。它的方案是三层ESP32 S3 小板负责摄像头采集和蓝牙传输本地 Ollama 服务跑一个 1.8B 参数的 Moondream 视觉模型生成场景描述再交给 Groq 的 Llama3-70B 根据你的提问从描述里找答案最后用 OpenAI TTS 念出来。适合两类人想折腾 AI 硬件的 DIY 玩家以及想抄蓝牙图像传输这套架构的开发者。最小物料与最短上手路线硬件只需三样Seeed Studio XIAO ESP32 S3 Sense ×121×17.5mm 的小开发板板载摄像头和 PDM 麦克风EEMB LP502030 3.7V 250mAh 锂电池 ×13D 打印眼镜支架 ×1仓库配套 STL 文件打印 操作步骤拿到代码后的最短路线是——git clone https://gitcode.com/GitHub_Trending/op/OpenGlass cd OpenGlass yarn install第一步烧固件。打开 firmware/firmware.ino用 arduino-cli 一行编译上传arduino-cli compile --build-path build --output-dir dist -e -u -p COM5 -b esp32:esp32:XIAO_ESP32S3:PSRAMopi第二步本地起 Ollama 并拉模型ollama pull moondream:1.8b-v2-fp16。第三步在 sources/keys.ts 填入 Groq、OpenAI 的 key 和 Ollama 地址然后yarn start浏览器打开 localhost 地址。实测拍照识别问答走一遍浏览器点 Connect to the device弹窗里选中名叫 OpenGlass 的蓝牙设备连上后固件就开始每 5 秒自动拍一帧。我实测这 5 秒不是随便定的Web 端写死的控制字节是 0x05而固件侧把 5~300 之间的值按 5 秒取整换算成毫秒——所以最小间隔就是 5 秒这也是代码里的默认值。每一帧是 SVGA 分辨率800×600、JPEG 质量参数 10 的图通过 BLE 按每包 200 字节的分片传上来Web 端拼包、旋转 270 度后显示缩略图。画面里有什么由 Moondream 生成本地描述我对着测试集 prompts/series_1 下的 57 帧样本看效果仓库里每张图都存了四个模型的对比描述小模型在人物、物体层面够用长句复述明显输给 LLaVA-34B。提问后 Llama3-70B 只被允许用这些描述回答、不许联想答完由 TTS 用 nova 音色念出来。背后看门道照片为什么能按 200 字节切片传输。BLE 单次特征写入有尺寸上限一张几十 KB 的 JPEG 直接发会丢。固件给每个分片加 2 字节序号发完再补一个 0xFF 0xFF 结束标记顺序乱了就整帧丢弃if (array[0] 0xff array[1] 0xff) { onChunk(null, new Uint8Array()); } else { let packetId array[0] (array[1] 8); onChunk(packetId, array.slice(2)); }网络抖动怎么兜底。所有调 Ollama 的请求都套了一层指数退避重试失败间隔在 250ms 到 1000ms 之间随机递增最多容忍 50 次失败眼镜网络再抖也不会整条链路卡死const minDelay opts?.minDelay ?? 250; const maxDelay opts?.maxDelay ?? 1000; let waitForRequest exponentialBackoffDelay(currentFailureCount, minDelay, maxDelay, maxFailureCount); 技巧提示这套序号分片 结束标记的 BLE 大图传输写法换任何摄像头项目都能直接搬。避坑清单烧录后打不开摄像头原因Arduino IDE 里 Tools → PSRAM 没选 OPI PSRAM帧缓冲申请不到内存 解法烧录前把 PSRAM 设为 OPI PSRAM命令行则加PSRAMopi网页连上却没声音原因firmware.ino 里默认编的是CODEC_PCM给 Friend 客户端用的Web 端要的是 MuLaw 编码 解法注释CODEC_PCM取消注释CODEC_MULAW后重新烧录Ollama 调用一直转圈原因只装了 Ollama 没拉模型或 keys.ts 里 URL 指向的不是/api/chat解法执行ollama pull moondream:1.8b-v2-fp16URL 填http://localhost:11434/api/chatarduino-cli 找不到 XIAO_ESP32S3原因Windows 11 上板子可能识别成 nora_w10 等别的名字 解法arduino-cli board list确认必要时用 firmware/readme.md 里的 board details 命令核对写在最后提醒一句README 顶部已声明项目迁移到了 Omi 仓库这份代码不再维护但架构和踩坑经验依然成立。现在就能做的一步把 OPI PSRAM 选好先烧通固件蓝牙列表里看到 OpenGlass 出现链路就通了。主仓库README.md 摄像头引脚定义firmware/camera_pins.h 固件编译指南firmware/readme.md【免费下载链接】OpenGlassTurn any glasses into AI-powered smart glasses项目地址: https://gitcode.com/GitHub_Trending/op/OpenGlass创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑