创客项目秀|基于XIAO ESP32C3的本地个人助理Mr.M

作者:Matthew Yu

来自:Fab academy

在数字化时代的浪潮中,柴火创客空间作为创新与实践的摇篮,不仅为Fab Academy 2024的学员们提供了一个充满活力的学习和创作环境,更是将科技的力量与人文关怀深度融合。今天,我们自豪地介绍柴火创客空间辅导毕业的其中一位学员Matthew Yu的终极项目------Mr.M,一个集成了大型语言模型(LLM)的本地个人助理。其独特的设计理念和强大的功能,重新定义了我们与智能设备之间的互动。让我们深入了解Mr. M的诞生历程!

项目介绍

项目概述

Mr.M基本工作:

  1. 它将在同一个 Wi-Fi 上接收来自 INMP441 和 XIAO ESP32C3 移动模块的音频消息(音频到波浪文件)。

  2. 然后它会将音频转换为单词(文本)并尝试理解它:对于已经提示的任务,将自动生成日历信息(JSX文件)。

  3. 相应的日历消息或一些也被提示的信息将通过MQTT发送到另一个移动模块,与ILI9341显示屏一起显示。

功能模块介绍

麦克风输入:

这个输入可能看起来不太好,这是它的具体结构:

PCB可以很好地贴合3D打印部件,但像左边一样,添加卡住柱子令人更加放心。

显示输出:

UI操作图像(我真的为此感到非常自豪):

材料清单

|--------------------------------------------------------|----|
| 原件 | 数量 |
| reComputer J4012 | x1 |
| reRouter | x1 |
| Monitor | x1 |
| XIAO ESP32C3 | x2 |
| INMP441 | x1 |
| 3 Pin Header SMD | x2 |
| Grove Female Header | x1 |
| ILI9341 | x1 |
| Grove RGB LED Ring | x1 |
| Power Supply Extension | x1 |
| Network Cable | x1 |
| Type-C Male Connector to Three Type-C Female Connector | x1 |
| M5*60 screw | x4 |
| M5 nut | x8 |

以下是材料总览:

微控制器接口与编程

首先是我的软件测试部分:

(输入)移动模块 - 原始音频数据到 WAV 文件:

功能:为电路板通电,它将记录并生成WAV文件并传输到服务器,其中IP由网络提供。

reComputer 可以读取 IP 并从临时服务器下载文件。

相关参考:(input) Mobile Module - Raw Audio Data to Words | Matthew's FabLab Journey (fabacademy.org)

WAV文件转文本 reComputer:

将WAV文件转换为文本,并将文本输入到LLM(Ollama API)中:

  • WAV 文件位于显示器的右上角。

  • 左下角是交互式页面(docusaurus pages)运行的地方

  • 左上角是下载音频文件的地方

相关参考:(input) Mobile Module - Raw Audio Data to Words | Matthew's FabLab Journey (fabacademy.org)

为了实现这部分,我需要在我的 reComputer 上设置一个 LLM 驱动的机器人:

有关聊天机器人的更多详细信息:Chat Bot(Local Server) | Matthew's FabLab Journey

为了让这个机器人看起来更好,我使用 GPT 本身来生成代码。

有关UI操作页面设置的更多信息:Operating UI Setting | Matthew's FabLab Journey

音频文本到设计的日历标准(JSX):

我需要能够将我的单词(音频文本文件)翻译成docusaurus平台可以渲染的日历JSX标准文件:

!注意:代码目前正在MAC上进行测试。但是 reComputer 和 MAC 都共享 Linux,因此代码是共享的。

有关本地LLM和自动生成tsx文件的更多信息:Local LLM and Auto-generation tsx file | Matthew's FabLab Journey (fabacademy.org)

为了正确使用 LLM,我需要使用 Prompt Enginner 很好地学习和应用:

有关提示设置的更多详细信息:Prompt Setup | Matthew's FabLab Journey (fabacademy.org)

(输出)移动模块 - 接收和显示日历信:

在reComputer生成标准JSX日历文件后,从处理后的文本文件。我将把消息从文本文件传输到移动模块并显示它,同时还可以控制一些东西。

有关移动模块的更多详细信息 -接受和显示日历信息:(Output) Mobile Module - Receive and Display Calendar Information | Matthew's FabLab Journey

!注意:为了应用此功能,它需要 MQTT 函数,我已经在 reComputer 中应用,让它充当代理进行运行。

有关MQTT连接XIAO板子和Docusaurus-website的更多详细信息:MQTT connect with XIAO boards and Docusaurus-website | Matthew's FabLab Journey (fabacademy.org)

同时需要使用Docusaurus页面在network(reRouter)下构建和实现MQTT功能:

接口:

我使用我的作业网站页面设计机器人,并将所有无线功能放在一起。这些可以自动完成。

!注意:

自动化操作对于用户来说十分方便,但他们也可以在FAB Academy MQTT(MQTT broker (#18) · 议题 · Academany / Fab Academy / 2024 / Fab Academy 2024 Class · GitLab (fabcloud.org)) 下手动控制。例如:

电子设计与生产

(输入)移动模块 - 原始音频数据转换文字:

我希望这个模块可以接收我的声音,它可以显示一些 RGB LED 灯,表明它正在工作,或者其他事情。然后我在其中连接两个 3 针接头 SMD。

有关(输入)移动模块的更多详细信息参考:(input) Mobile Module - PCB design | Matthew's FabLab Journey (fabacademy.org)

(输出)移动模块 - 接收和显示日历信息:

我希望这个模块接收日历信息,它可以控制一些东西,比如继电器。然后,我在PCB上添加了一个Grove端口和一个8 PinHeader P2.54mm:

有关(输出)移动模块的更多详细信息:(Output) Mobile Module - PCB design | Matthew's FabLab Journey (fabacademy.org)

外观结构设计

输入模块设计:

顶盖(3D打印):

中间部分(3D打印):

RGB灯罩部分(2D设计):

最终成品:

将RGB灯接线与XIAO天线一起延长至背部:

最后放置亚克力板盖上背部:

输出模块设计:

显示器支架和 Grove 继电器支架(3D 打印):

最终成品:

外壳设计-2D激光切割:

这部分工作是为了让作品看起来好看、整洁、合乎逻辑。

1、 RGB显示最好带有滤镜层。因此,在蓝图上切割一些亚克力板:

2、 由于我使用了一些大型设备/设备(reComputer 和 reRouter),我将使用两块大亚克力板将所有东西固定在一起:因此激光切割是必要的:

机箱设计-3D打印:

这部分是为了让作品看起来好看、整洁、合乎逻辑。

1、我的设备需要得到支持、修复,而不是到处移动。因此,我需要设计一些 3D 零件来固定它们:

出于其他考虑,我修改了初始方案:

整体搭建与封装

整体系统搭建基本思路:

  • 主要计算设备:reComputer,提供MQTT代理,AI计算,运行LLM和浏览器网站。

  • 网络设备(我想确保所有东西都是本地的):reRouter,提供Wi-Fi无线连接和电线连接。

  • 一个带INMP441的语音输入移动模块

  • 一个带有ILI9341的显示信息移动模块。

整体系统:

显示器与电源适配器:

对于显示器而言,为了整体项目可携带的目标,我不得不考虑一个可携带的监视器。我买了一个显示器,具体尺寸如图所示:

显示器后面有四个螺丝孔,然后我测量了螺丝孔到边缘的距离和孔之间的距离:

然后我需要计算显示板的长度,在这里一定要保证不会太长影响美观,也不会太短影响连接:

计算之后,我在OnShape上设计了显示器的附加板:

设计之后通过激光切割获得附加板:

对于电源适配器,我也需要将安装绑在一起:

并且考虑到稳定显示器等问题,我需要在设计上保留每个板上的间隙:

底部:

顶部:

切割电路板并将模块插入其中:

进行拧紧连接:

添加移动模块:

将移动模块移到外面:

至此,一个基于XIAO ESP32C3的本地个人助理已经搭建完成!

相关推荐
声网13 天前
脑机接口、嵌入式 AI 、工业级 MR、空间视频和下一代 XR 浏览器丨RTE2024 空间计算和新硬件专场回顾
人工智能·音视频·mr
程序员正茂13 天前
PICO+Unity MR空间网格
unity·mr·pico
三菱-Liu13 天前
三菱MR-J4-B伺服连接器和信号排列
网络·驱动开发·硬件工程·制造·mr
sxy1993sxy201815 天前
AR、VR、MR、XR - 20241110
ar·vr·mr
三菱-Liu15 天前
三菱MR-J4伺服绝对位置检测系统
运维·驱动开发·嵌入式硬件·硬件工程·制造·mr
程序员正茂15 天前
PICO+Unity MR视频透视
unity·ar·mr·pico
天人合一peng17 天前
AR/MR/XR开发工具
xr·mr
有Li1 个月前
来自骨关节炎计划的膝关节MR图像的自动异常感知3D骨骼和软骨分割|文献速递-基于生成模型的数据增强与疾病监测应用
3d·mr
EQ-雪梨蛋花汤1 个月前
【MR开发】在Pico设备上接入MRTK3(三)——在Unity中运行MRTK示例
mr·pico
EQ-雪梨蛋花汤1 个月前
【MR开发】在Pico设备上接入MRTK3(一)——在Unity工程中导入MRTK3依赖
mr·pico·移动端ar