我用OpenGlass做了一个AI眼镜【上篇】
来源: 我用OpenGlass做了一个AI眼镜【上篇】 | Rocket Lu
在AI硬件领域,随着大型语言模型(LLM)的价格战愈演愈烈,文心、豆包都已经进入卷价格阶段,进入“厘时代”。5月,GPT-4o和Gemini家族的发布,OpenAI和Google也在将创新焦点转向多模态大型模型。
AI硬件的想象空间愈发广阔,逐渐从单纯的AI玩具逐步转向消费级AI电子设备。自去年以来,消费电子市场上涌现出几款颇具代表性的AI新品,其中包括智能眼镜Ray-Ban Meta、可穿戴投影设备Humane Ai Pin,以及在今年CES上亮相的掌上设备Rabbit R1。
消费级AI 硬件
01 Rabbit R1
在2024年CES展会上首次亮相的Rabbit R1,首批1万台迅速售罄,自推出以来销售额已突破1000万美元,显示出消费者对这款产品的极高接受度和需求。对于新一代AI硬件设备,市场充满了期待和想象。
02 Rewind(https://www.limitless.ai/)
Rewind的外设主要是4月16日刚开放预售的Limitless Pendant,售价99美元,具备Wi-Fi和蓝牙功能,能够记录整日的对话和个人见解。它可以收集云端和现实世界中的数据,能够记录日常会议、即兴对话等,并通过配套的应用程序方便地回放。用户可以通过轻触吊坠来标记对话中的重要时刻,便于后续查找,并且可以随时与个性化AI进行互动,获取所需信息或帮助
03 AI PIN(https://humane.com/shop)
AI PIN是初创公司Humane的首个产品,一款可以别在衣服上的AI设备,于在当地时间11月9日正式发布。Humane成立于2018年,由前苹果软件工程总监Bethany Bongiorno和前苹果设计师Imran Chaudhri 作为夫妻档共同创办。AI Pin在去年11月10日开始接受预定,今年4月11日开始发货,售价为699美元起,但每月还需额外支付24美元订阅费。
04 Meta Ray-Ban Glass(https://www.ray-ban.com/usa/ray-ban-meta-smart-glasses)
Meta与雷朋(Ray-Ban)联名的第二代智能眼镜在2023年第四季度的发货量超30万副,远超Meta此前预期。Ray-Ban Meta发布于去年9月,当时它与Quest 3一同亮相,产品起售价299美元,与上一代保持一致,镜片可以定制,镜片起售价17美元起步。今年4月,Meta团队称已经提高眼镜的生产计划,并将为眼镜全面开放多模态AI能力。Meta AI是一个多模态人工智能,最早亮相于去年Meta Connect大会,当时Meta计划逐步将其引入到Facebook、Instagram、Quest 3以及Ray-Ban Meta等软硬件产品矩阵当中。对于Ray-Ban Meta而言,Meta AI于去年12月在美国地区启动了抢先体验,并于4月正式面向美国和加拿大用户推出。
根据测评来看,AI Pin在体验方面已经“翻车”,Rabbit R1被质疑与AI手机趋同,热度逐渐变淡。Ray-Ban Meta是目前相对较为成功的一个AI电子产品。但是我们可以看到整体AI设备的售价都是在100美元以上,还是偏贵。
5月13日,正好看到Nik Shevchenko分享了一个视频,展示他用20 美元制作了一个外设,挂在眼镜边上,就可以做一个AI智能眼镜,于是我准备复刻一个。
首先是准备工作
需要的硬件是一台电脑(我用的是MacPro M2芯片),一个芯片主板、一个电池、一个3D打印的外壳、一根质量好的TypeC数据线。
- Seeed Studio XIAO ESP32 S3 Sense(带蓝牙、摄像头)
这些国内都能买到,需要购买清单的可以滴滴我(😄我找开发板老板,化缘了一个618粉丝专属福利,备注Rocket)
等硬件都拿到手后,可以开始软件工作了。
01 下载Arduino IDE
这个软件我在整合包里准备好了,大家可以直接回复“Glass”下载
02 设置ESP32S3主板程序
打开Terminal,输入下面代码,把OpenGlass项目代码下载到本地,你也可以手动下载。
shell
然后打开找到OpenGlass文件夹里的 firmware folder 文件夹,并在 Arduino IDE 中打开
.ino
文件。为ESP32S3 Sense主板设置 Arduino IDE:
先将 ESP32S3 板 添加到您的 Arduino IDE:
- 菜单栏,选择“文件”>“首选项”(File > Preferences),然后在“其他 Boards Manager URL”(“Additional Boards Manager URLs” )填写这个链接:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- 导航到“工具”>“开发板”>“开发板管理器…”(Tools > Board > Boards Manager),在搜索框中输入关键字
esp32
,选择最新版本的esp32
并安装它。我这两个都安了一下,但任意选一个就行。(esp32升级了,所以只下第二个的2.0.17版本就行,不要下两个了,也不要升级版本,不然都会报错!)
- 选择您的主板和端口:
- 在 Arduino IDE 顶部,选择开发板和端口。
- 弹窗中搜索
xiao
并选择XIAO_ESP32S3
。
- “PSRAM:”设置为“PSRAM:”“OPI PSRAM”
在刷机之前,转到Arduino IDE中的“工具”下拉列表,并确保将“PSRAM:”设置为“PSRAM:”“OPI PSRAM”
官方的教程就到这了,但如果你这个时候进行编译的话,一定会发现哐哐报错。
因为还有一些依赖库没有安装。
我们还需要点击左边菜单的库,搜索并安装
ArduinoBLE
安装完后,基本就ok了,如果还有报错,可以看看是否还有依赖库没安上。
现在就可以,用一个type c数据线把板子和电脑连接,就可以进行烧录程序了。
- 点击
验证
按钮(对号图标),检查代码是否有错误。
- 点击
上传
按钮(箭头图标),将代码上传到XIAO ESP32S3开发板。
03 验证功能
- 打开Arduino IDE的
串口监视器
,检查输出信息。
- 确保设备连接到蓝牙。
- 检查摄像头是否能够拍照,并通过蓝牙发送数据。
按照这些步骤进行操作,你应该能够成功地将固件上传到XIAO ESP32S3开发板,并实现摄像头和蓝牙的功能。
软件工作基本结束了,这个时候还有2个步骤需要完成。
04 完善硬件:XIAO ESP32S3开发板连接天线、摄像头、电池
天线的安装
在XIAO ESP32S3的正面左下角,巧妙地设计了一个独立的“WiFi/BT天线连接器”。为了捕获更清晰的WiFi和蓝牙信号,您需要从包装中取出附带的天线,并细心地将其安装至连接器上。
在安装天线时,您可能会发现直接用力按压并非易事,且可能对手指造成不适。这里有一个安装小窍门:首先,轻轻地将天线连接器的一侧嵌入到连接器块内,然后,从另一侧轻轻下压,您会发现天线便能顺滑地安装到位。
同样地,当需要拆卸天线时,也请避免使用蛮力直接拉扯。只需在一侧施力,轻轻地提起,天线便能轻松脱离。
安装扩展板(用于Sense)
XIAO ESP32S3 Sense,还包括一个扩展板。此扩展板具有1600*1200 OV2640摄像头传感器、板载SD卡插槽和数字麦克风。
通过使用XIAO ESP32S3 Sense安装扩展板,您可以使用扩展板上的功能。
安装扩展板非常简单,只需将扩展板上的连接器与XIAO ESP32S3上的B2B连接器对齐,用力按压并听到“咔嗒”一声,即可完成安装。
焊接电池
其实如果你不真的戴出门,其实可以不用接。这块需要焊接,没有焊接技能的人不推荐自己动手,容易把板子搞坏。焊接电池,电池负极焊接到开发板的负极,将正极焊接到开关上,然后再焊接回开发板的正极。这个部分我会在下篇里详细讲到。
05 启动照片的页面程序
烧录完主板,还需要设置一下 Groq 和OpenAI的API。
- 在位于 https://github.com/BasedHardware/OpenGlass/blob/main/sources/keys.ts
keys.ts
的文件中添加 Groq 和 OpenAI 的 API 密钥。
- 对于 Ollama,从存储库中自行托管 https://github.com/ollama/ollama 的 REST API,并将 URL 添加到
keys.ts
文件中。
-
- 启动应用程序:
shell
如果使用 yarn 启动应用程序
shell
启动成功,你在terminal能看到web页面地址,复制到浏览器可以打开。
目前这个阶段,我通过这个AI设备,实现的功能是可以每隔4秒自动拍照照片,并自动上传记录在本地电脑上。
0607更新-常见报错
好多小伙伴在最后启动这里遇到了问题,我再补充一下
如果在终端中收到“command not found: npm”的错误消息,这意味着你的系统中没有安装Node.js和npm,或者它们没有正确配置在你的系统路径中。以下是安装和配置Node.js和npm的步骤:
使用nvm(Node Version Manager)
-
- 安装nvm:
shell
-
- 加载nvm(你可能需要将下面的命令添加到你的
~/.zshrc
或~/.bashrc
文件中):
- 加载nvm(你可能需要将下面的命令添加到你的
shell
-
- 重启终端或重新加载配置文件:
shell
-
- 安装最新版本的Node.js:
shell
-
- 验证安装:
shell
直接安装Node.js
- 下载并安装Node.js:
-
- 前往Node.js官方网站 https://nodejs.org。
-
- 下载适用于你操作系统的LTS(长期支持)版本并进行安装。
-
-
- 验证安装:
shell
配置项目
在安装Node.js和npm后,进入你的项目目录并运行以下命令:
-
- 安装项目依赖:
shell
-
- 启动项目:
shell
如果安装和配置都正确,你的项目应该会成功启动。如果你在安装或启动过程中遇到问题,请确保你已经按照上述步骤正确安装了Node.js和npm,并且在正确的目录中运行命令。
安装Expo
Expo,这是一个用于构建React Native应用的工具。需要先安装Expo CLI,然后才能启动你的项目
以下是安装和使用Expo的步骤:
1. 安装Expo CLI
- 打开终端。
-
- 运行以下命令来全局安装Expo CLI:
shell
-
- 验证安装:
shell
如果显示Expo CLI的版本号,说明安装成功。
2. 启动项目
-
- 确保你在项目目录中:
shell
-
- 安装项目依赖(如果还没有安装):
shell
-
- 运行项目:
shell
3. 安装过程可能遇到的问题
权限问题
如果你在安装Expo CLI时遇到权限问题,可以使用以下命令在前面添加
sudo
(macOS和Linux):shell
然后输入你的系统密码。
4. 使用Expo开发
安装并启动Expo后,你可以在项目目录中运行以下命令来启动开发服务器:
shell
这将启动一个本地开发服务器,并打开一个浏览器窗口,显示一个二维码。你可以使用Expo Go应用扫描这个二维码,在你的移动设备上预览你的应用(目前手机端还没开发,需要自己做个App。
版本提示
如果你的Node.js版本较高(17+),你可能需要降级到一个兼容的版本。你可以使用
nvm
来管理和切换不同版本的Node.js。查看当前的Node.js版本:
shell
安装一个兼容的版本(比如16 LTS):
shell
确认使用的版本:
shell
然后重新运行项目:
shell
如果你nvm没有安装,那先安装一个Homebrew(Mac),那么接下来你需要
以下是使用 Homebrew 安装
nvm
的步骤:- 打开终端:首先,您需要打开您的终端应用程序。
-
- 安装 Homebrew(如果您尚未安装):
shell
安装过程中可能会提示您输入密码,并且可能需要输入
sudo
来获取必要的权限。-
- 使用 Homebrew 安装 nvm:
shell
-
- 验证安装:安装完成后,您可以通过运行以下命令来验证
nvm
是否已正确安装:
- 验证安装:安装完成后,您可以通过运行以下命令来验证
shell
-
- 重新加载您的 shell 配置文件或重新启动终端,以确保
nvm
可以被正确识别:
- 重新加载您的 shell 配置文件或重新启动终端,以确保
shell
-
- 安装 Node.js 版本:使用
nvm
安装您需要的 Node.js 版本,例如安装版本 16:
- 安装 Node.js 版本:使用
shell
-
- 设置默认 Node.js 版本(如果需要):
shell
下篇预告
连接LLM大模型,实现照片描述、Ask Photo照片内容对话
增加记录语音功能
文件按时间戳存储
加上控制开关,整个漂亮的外壳
对这个话题感兴趣的小伙伴,欢迎加我一起探索交流~ 专门建了一个【OpenGlass交流群】欢迎大家互相交流!