25美元把普通眼镜变成AI终端:OpenGlass零基础到实时识别的完整上手指南
25美元把普通眼镜变成AI终端OpenGlass零基础到实时识别的完整上手指南【免费下载链接】OpenGlassTurn any glasses into AI-powered smart glasses项目地址: https://gitcode.com/GitHub_Trending/op/OpenGlass戴上它的第一分钟你会看到什么花一杯奶茶的价格让你现在戴的眼镜开口说话——这不是科幻片而是 OpenGlass 正在做的事。这个开源项目把任意普通镜框变成一台能看、能听、能记的 AI 设备认出面前是谁、读出路牌和菜单上的文字、记住你一天里见过的人和事然后像贴身秘书一样回答你的提问。它不需要你懂电路不需要昂贵的专用硬件核心就是一块几十元的 ESP32 S3 开发板加上一段开源固件。这篇文章不按硬件讲解→软件讲解的老套路来而是沿着一条真实的完整链路走从眼镜按下快门那一刻到手机屏幕上弹出答案中间到底发生了什么、每一步需要你做什么全部拆开给你看。一、先弄懂它怎么看见和回答按下快门的瞬间数据走了四步OpenGlass 的整个工作流可以用一句话概括眼镜负责采集云端负责理解App 负责对话。完整链路如下镜架上的 ESP32 S3 摄像头抓拍画面firmware/firmware.ino把照片通过蓝牙BLE推送到手机端音频则按mulaw或PCM编码后同步传输手机端的 Expo 应用收到照片交给sources/agent/Agent.ts处理它会调用视觉模型把图片翻译成一段文字描述每张照片的描述被积累起来成为你的记忆库当你提问时llamaFind把所有描述拼成一份材料交给大语言模型检索作答再把答案显示在屏幕上。这里藏着一个巧妙的设计眼镜本身不思考只负责拍照。所有看懂的工作都发生在云端这让硬件成本被压到极低也让模型可以随时替换升级。为什么要先描述、再回答打个比方想象你给一个没到过现场的朋友发消息与其直接甩一张原图过去不如先告诉他我面前坐着一个穿蓝衣服的人桌上放着咖啡。OpenGlass 正是这么做的——先用视觉模型把照片转成文字再用文字模型回答问题。好处是双重的语言模型的理解能力远比直接看图稳定而且每次拍照的描述被保留下来后你可以反过来追问今天下午我见过谁相当于给自己建了一本自动书写的日记。代码里这个分工非常清晰sources/agent/imageDescription.ts负责看图说话llamaFind/openAIFind负责有问必答视觉模型走本地 Ollama问答模型走 Groq 或 OpenAI。二、硬件准备一张清单三步装完全部零件只要三样零件作用参考成本Seeed Studio XIAO ESP32 S3 Sense集成了摄像头、Wi-Fi、蓝牙的大脑含麦克风约 20 美元3.7V 250mAh 锂电池带 JST 接口给整机供电体积小到能藏进镜腿几美元3D 打印镜架壳把开发板和电池固定到镜框上打印成本几乎为零如果你有 3D 打印机直接使用项目提供的 STL 文件打印外壳没有的话找一家代打服务也花不了几块钱。整个组装不需要焊接电池插上 JST 接口、开发板卡进外壳即可。上传固件Arduino IDE 还是命令行任选推荐图形界面打开firmware/firmware.ino在 Arduino IDE 中完成两步准备工作——先把 ESP32 板卡包地址填入文件→首选项再在工具→开发板管理器中搜索并安装 esp32 包随后选择XIAO_ESP32S3板和对应串口。喜欢命令行的朋友可以参考 firmware/readme.md 里的 arduino-cli 方案一条命令完成编译上传arduino-cli compile --build-path build --output-dir dist -e -u -p COM5 -b esp32:esp32:XIAO_ESP32S3:PSRAMopi三、新手最容易踩的3个坑提前排雷坑一忘开 PSRAM固件直接崩溃这是最高频的翻车点。ESP32 S3 的摄像头缓冲区需要额外的 PSRAM 内存上传前务必到工具→PSRAM下拉菜单里把它设为OPI PSRAM。跳过这一步设备会反复重启或死机而报错往往晦涩难懂。这一项先设好后面能省一小时排查时间。坑二端口识别混乱找不到板子Windows 下板子可能被识别成nora_w10、wifiduino32c3等奇怪型号。别慌用这条命令查看真实端口和板卡信息arduino-cli board list arduino-cli board details -b esp32:esp32:XIAO_ESP32S3把命令输出里的端口号如 COM5替换到编译指令中即可。坑三音频编码不对App 里没声音固件顶部定义了三种音频编码Opus开发中、Mulaw配合网页版使用、PCM配合 Omi/Friend 应用使用。用网页版就把CODEC_PCM注释掉、取消CODEC_MULAW的注释。另外如果要用 Opus需要手动向 Arduino 库目录克隆arduino-libopus和arduino-audio-tools两个依赖库路径可用arduino-cli config get directories.user查询。四、软件配置填密钥、拉模型、起服务keys.ts三把钥匙一次配齐项目把密钥管理统一放在sources/keys.ts不需要再折腾.env文件。打开后填入三样东西Groq 的 API 密钥用于问答、OpenAI 的 API 密钥备用问答通道、以及本地 Ollama 服务的地址。格式如下export const keys { groq: process.env.EXPO_PUBLIC_GROQ_API_KEY ?? , ollama: process.env.EXPO_PUBLIC_OLLAMA_API_URL ?? , openai: process.env.EXPO_PUBLIC_OPENAI_API_KEY ?? , };拉取本地视觉模型视觉识别走的是本地 Ollama在终端执行一条命令下载推荐的轻量模型ollama pull moondream:1.8b-v2-fp16这个模型体积小、速度快是sources/agent/imageDescription.ts里的默认选择也是官方默认的识别引擎。随后克隆仓库、安装依赖git clone https://gitcode.com/GitHub_Trending/op/OpenGlass cd OpenGlass yarn install启动应用并连接眼镜yarn start这是一个 Expo 项目启动后会在终端给出 localhost 链接用浏览器打开即可看到操作界面。点击界面上的 Connect to the device 按钮选择名为OpenGlass的蓝牙设备完成配对——这个连接逻辑写在sources/modules/useDevice.ts中设备服务 UUID 与固件端保持一致。到这里你的眼镜就上线了。五、第一次看见识别测试与追问玩法戴上眼镜看向四周屏幕上会逐条浮现 AI 对画面的描述。想验证效果可以翻看prompts/series_1/目录——这是一组现成的测试样例每张照片都配有四种模型输出的描述对比文档。下图就是测试集中的真实场景图测试场景示例——AI 需要准确描述画面主体、环境细节与文字信息你可能会好奇不同模型对同一张图的眼力差距有多大项目为此内置了一个评测脚本prompts/generate.ts一键批量跑四个模型的识别效果yarn prompts脚本会遍历prompts/series_1/下所有图片依次用默认模型moondream、llava-llama3、llava:34b-v1.6、moondream:1.8b-v2-fp16生成描述并把结果写入对应的.md文件。对比img_1.md你会发现轻量模型描述简洁直接大模型则会把环境、光线、人物细节都铺展开——这就是选择模型的权衡点也顺带帮你摸清哪些场景适合哪种模型。更进阶的玩法是追问。sources/agent/Agent.ts会保存每张照片的文字描述你随时可以问我刚刚看到的那个人穿什么颜色的衣服它会在记忆里检索后作答。如果拍糊了项目里还有imageBlurry.ts这个模糊检测模块当前为实验性未来可以自动筛掉废片。六、到这里你的眼镜能做什么了从组装到跑通你已经拥有了一台可对话的 AI 眼镜。接下来是它真正有趣的地方——这是一套完全开放的流水线想改采集频率去firmware/firmware.ino调整拍摄节奏想换识别引擎在sources/agent/imageDescription.ts里指定新的 Ollama 模型想加新能力sources/agent/下还有音频启动等模块可以组合想看看官方踩坑经验firmware/readme.md 里记录了完整的 arduino-cli 流程与板卡兼容性说明。一个小提醒项目官方已将代码迁移至 Omi 仓库本仓库不再持续维护但作为学习与二次开发的起点依然完整可用。下一步建议你亲手测一组自己的照片跑一次yarn prompts把四个模型的结果并排看一遍——你会在对比中真正理解视觉模型这四个字的分量。等你能熟练替换模型、调整参数之后欢迎把改进提交回社区让更多人的眼镜变得更聪明。别让这副 25 美元的眼镜只停在能看的层面它的上限由你决定。【免费下载链接】OpenGlassTurn any glasses into AI-powered smart glasses项目地址: https://gitcode.com/GitHub_Trending/op/OpenGlass创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Webshell攻防实战:从文件上传到RCE漏洞的Getshell路径解析

Webshell攻防实战:从文件上传到RCE漏洞的Getshell路径解析

1. 从“入口”到“控制”:理解Getshell的本质在网络安全领域,尤其是渗透测试和应急响应中,“Getshell”是一个高频且核心的词汇。它听起来像是一个单一的动作,但实际上,它代表了一个从发现漏洞到最终获取服务器命令行控…

2026/9/21 2:19:05 阅读更多 →
Natlas安全最佳实践:从CSRF防护到TLS配置的全方位防护策略

Natlas安全最佳实践:从CSRF防护到TLS配置的全方位防护策略

Natlas安全最佳实践:从CSRF防护到TLS配置的全方位防护策略 【免费下载链接】natlas Attack Surface Management since before Attack Surface Management was a thing 项目地址: https://gitcode.com/gh_mirrors/na/natlas Natlas作为一款专注于攻击面管理的…

2026/9/21 2:19:26 阅读更多 →
StringBuffer、StringBuilder、StringJoiner区别

StringBuffer、StringBuilder、StringJoiner区别

一、StringBuffer线程安全性:✅ 线程安全(所有方法都是 synchronized)。可变性:可变字符序列。性能:由于同步开销,性能比 StringBuilder 差。适用场景:多线程环境下需要频繁修改字符串时使用。J…

2026/9/13 12:13:57 阅读更多 →

最新新闻

Handsontable 数据与索引体系详解:source data、visual dataset 与 physical/visual 索引映射

Handsontable 数据与索引体系详解:source data、visual dataset 与 physical/visual 索引映射

Handsontable 数据与索引体系详解:source data、visual dataset 与 physical/visual 索引映射 【免费下载链接】handsontable JavaScript Data Grid / Data Table with a Spreadsheet Look & Feel. Works with React, Angular, and Vue. Supported by the Hands…

2026/9/21 2:19:13 阅读更多 →
aiohttp 文件响应基准测试升级:按 small/large 文件大小参数化 `web.FileResponse` 性能评估

aiohttp 文件响应基准测试升级:按 small/large 文件大小参数化 `web.FileResponse` 性能评估

后端Web框架WebSocket 【免费下载链接】aiohttp Asynchronous HTTP client/server framework for asyncio and Python 项目地址: https://gitcode.com/gh_mirrors/ai/aiohttp 点击查看 免费下载 本篇技术指南围绕 aiohttp 仓库变更记录 CHANGES/12913.misc.rst 展开…

2026/9/21 2:19:13 阅读更多 →
Teleport Terraform Provider 资源开发指南:从新增资源到 legacy 迁移的完整实践

Teleport Terraform Provider 资源开发指南:从新增资源到 legacy 迁移的完整实践

网络安全认证鉴权运维后端 【免费下载链接】teleport The easiest, and most secure way to access and protect all of your infrastructure. 项目地址: https://gitcode.com/gh_mirrors/tel/teleport 点击查看 免费下载 本指南以 integrations/terraform/CONTRIB…

2026/9/21 2:19:13 阅读更多 →
Nix 源码调试指南:从带调试符号的构建到 gdb/lldb 断点实战

Nix 源码调试指南:从带调试符号的构建到 gdb/lldb 断点实战

开发工具CLI 【免费下载链接】nix Nix, the purely functional package manager 项目地址: https://gitcode.com/gh_mirrors/ni/nix 点击查看 免费下载 本篇指南面向需要深入 Nix(purely functional package manager)源码内部进行排障、内存…

2026/9/21 2:19:13 阅读更多 →
士兰微SC7A20H三轴加速度计在智能穿戴运动检测中的选型与实战

士兰微SC7A20H三轴加速度计在智能穿戴运动检测中的选型与实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 2:19:13 阅读更多 →
3步搞定建设网站的目的以及意义,避开被黑挂马陷阱

3步搞定建设网站的目的以及意义,避开被黑挂马陷阱

3步搞定建设网站的目的以及意义,避开被黑挂马陷阱 昨天半夜,我接到一个客户电话,声音都在抖。他的外贸独立站突然打不开,浏览器弹出红色警告,说网站包含恶意软件。他慌了,问我是不是中了勒索病毒,数据全丢了没? 其实这就是典型的 网站被黑挂马不知道怎么办…

2026/9/21 2:18:28 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →