自己动手做一个AI 眼镜
5月13日,正好看到Nik Shevchenko分享了一个视频,展示他用20 美元制作了一个外设,挂在眼镜边上,就可以做一个AI智能眼镜,于是我准备复刻一个。
首先是准备工作
项目地址:https://github.com/BasedHardware/OpenGlass
你需要的硬件是一台电脑(我用的是MacPro M2芯片),一个开发板、一个电池、一个3D打印的外壳。
- Seeed Studio XIAO ESP32 S3 Sense(带蓝牙、摄像头和麦克风)
- EEMB LP502030 3.7v 250mAH battery
- 3D printed glasses mount case
这些国内都能买到,需要购买清单的可以滴滴我
(😄我找开发板老板,化缘了一个618粉丝专属福利,备注Rocket)
等硬件都拿到手后,可以开始开发板软件工作了。
01 下载Arduino IDE
Arduino产品地址:https://www.arduino.cc/en/software
这个软件我在整合包里准备好了,大家可以直接回复“Glass”下载
02 设置ESP32S3主板程序
打开Terminal,输入下面代码,把OpenGlass项目代码下载到本地,你也可以手动下载。
git clone <https://github.com/BasedHardware/OpenGlass.git>
然后打开找到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 并安装它。我这两个都安了一下,但任意选一个就行。
- 最近这个更新到3.0.0版本,但是会引起烧录时报错,建议安装2.0.17版本
- 选择您的主板和端口:
- 在 Arduino IDE 顶部,选择开发板和端口。
- 弹窗中搜索 xiao 并选择 XIAO_ESP32S3 。
“PSRAM:”设置为“PSRAM:”“OPI PSRAM”
在刷机之前,转到Arduino IDE中的“工具”下拉列表,并确保将“PSRAM:”设置为“PSRAM:”“OPI PSRAM”
官方的教程就到这了,但如果你这个时候进行编译,一定会发现哐哐报错。
因为还有一些依赖库没有安装。
我们还需要点击左边菜单的库,搜索并安装 ArduinoBLE、esp_camera
安装完后,基本就ok了,如果还有报错,可以看看是否还有依赖库没安上。
现在你可以选一根质量好一点的type c数据线把板子和电脑连接,进行烧录程序。
- 点击 验证 按钮(对号图标),检查代码是否有错误。
- 点击 上传 按钮(箭头图标),将代码上传到XIAO ESP32S3开发板。
03 验证功能
- 打开Arduino IDE的 串口监视器,检查输出信息。
- 确保设备连接到蓝牙。
- 检查摄像头是否能够拍照,并通过蓝牙发送数据。
按照这些步骤进行操作,你应该能够成功地将固件上传到XIAO ESP32S3开发板,并实现摄像头和蓝牙的功能。
到这一步,软件工作基本开发结束了,这个时候还有2个步骤需要完成。
04 完善硬件:XIAO ESP32S3开发板连接天线、摄像头、电池
天线的安装
在XIAO ESP32S3的正面左下角,设计了一个独立的“WiFi/BT天线连接器”。
安装天线小窍门:轻轻地将天线连接器的一侧嵌入到连接器块内,从另一侧轻轻下压,就能轻松安装。
同样地,当需要拆卸天线时,也只需在一侧施力,轻轻地提起。
安装扩展板
XIAO ESP32S3 Sense,还包括一个扩展板。此扩展板具有1600*1200 OV2640摄像头传感器、板载SD卡插槽和数字麦克风。
安装扩展板非常简单,只需将扩展板上的连接器与XIAO ESP32S3上的B2B连接器对齐,用力按压并听到“咔嗒”一声,即可完成安装。
焊接电池
其实如果你不真的戴着这个眼镜出门,可以不用接电池。这块需要用电烙铁焊接,没有焊接技能的人不推荐自己动手,容易把板子搞坏。
焊接电池方法,电池负极焊接到开发板的负极,将正极焊接到开关上,然后再焊接回开发板的正极。这个部分我会在下篇里详细讲到。
05 启动照片的页面程序
烧录完主板,还需要设置一下 Groq 和OpenAI的API。
1. 在位于sources/keys.ts keys.ts 的文件中添加 Groq 和 OpenAI 的 API 密钥。
2. 对于 Ollama,从存储库中自行托管 https://github.com/ollama/ollama 的 REST API,并将 URL 添加到 keys.ts 文件中。
3.启动应用程序:
npm start
如果使用 yarn 启动应用程序
yarn start
启动成功,你在Terminal能看到web页面地址,复制到浏览器可以打开。
目前到这个阶段,我可以通过这个AI设备,实现的功能是可以每隔4秒自动拍照照片,并自动上传记录在本地电脑上。