如何使用CrowPanel Advance和OpenAI Realtime API构建一个紧凑的智能语音控制机器人系统
扫描二维码
随时随地手机看文章
语音控制的机器人界面使用CrowPanel Advance和OpenAI。
本项目演示了如何使用CrowPanel Advance和OpenAI Realtime API构建一个紧凑的智能语音控制机器人系统。CrowPanel记录用户的声音,将其发送给OpenAI进行转录和解释,并接收结构化的命令。该命令在面板上进行解释,然后通过蓝牙传输给机器人(CrowBot)。
由于基于gpt的自然语言理解,机器人不仅可以对简单的指令做出反应,比如“向前走”,还可以对间接的短语做出反应,比如“这里有点暗”,并通过打开前灯来回应。
虽然这种设置可以与CrowBot一起开箱即用,但它可以很容易地适应控制其他DIY机器人平台,蓝牙智能玩具,甚至家庭自动化系统。
特性
•免提语音控制使用CrowPanel Advance的内置麦克风
•OpenAI支持的自然语言理解(实时API)
•通过结构化JSON调用函数,以实现安全、可扩展的命令执行
•基于蓝牙的命令传输到CrowBot
•用于Wi-Fi设置和API密钥输入的简单GUI
•开源和可扩展:适应您自己的机器人或系统
它是如何工作的
1. 用户按住CrowPanel Advance,运行自定义控件应用程序。
2. 他们会说命令,例如,“向前走,向右转”,或者“这里有点暗”。
3. 声音流到OpenAI实时API,在那里它被转录(通过gpt- 40 -mini- transcript)和处理。
4. OpenAI返回一个带有函数名和参数的结构化JSON。
5. CrowPanel解释响应,并通过蓝牙将命令发送给CrowBot。
6. 机器人执行动作(例如,移动、转弯、开/关灯)。
7. 不支持或不明确的请求使用内置的reject_request函数安全处理。
由于集成了OpenAI,即使是复杂或间接的语音命令也被解析为可操作的步骤,使机器人控制更加直观和有趣。
所需的硬件
- CrowPanel Advance
- CrowPanel插件(带蓝牙模块)
- CrowBot或任何接受蓝牙UART命令的机器人
- OpenAI API密钥
固件
CrowPanel固件和语音控制逻辑:Grovety/OpenAI_Robot_Control
自定义CrowBot固件:CrowBot GRC固件
教程-快速入门指南
有两种安装选项:
•使用预构建映像的快速设置
•为开发人员和制造商提供了一个完整的从源代码构建选项
选项1:Flash预构建固件
•从带有二进制文件的存储库中下载flash_tool.exe
•连接CrowPanel通过USB和运行闪光灯。
•闪烁后,连接Wi-Fi
•然后输入OpenAI API密钥。
•启动CrowBot。
开始说话——试试这样的命令:
“转发”
“左转,打开灯”
选项2:从源代码构建
•克隆groovy /OpenAI_Robot_Control repo
•使用ESP-IDF v5.4+来构建和刷新CrowPanel固件
•根据需要定制GUI、蓝牙逻辑或命令解析器
•Flash CrowBot与兼容固件使用Arduino或PlatformIO
关于命令处理
这个项目没有使用长文本提示,而是使用OpenAI的函数调用特性来安全地将用户语音映射到有效的机器人动作。
JSON文件定义了所有可用的函数:function_list_robot.json
每个函数都有一个名称(例如go_forward)、描述和可选参数。
当用户说:
“向前走,把灯打开。”
CrowPanel发送:
可识别的文本
JSON函数列表
指令function_call: auto
OpenAI返回结构化输出,如:
{"name": "go_forward", "arguments": {}}
CrowPanel解析结果并向CrowBot发送相应的蓝牙命令。
为什么这种方法很棒:
•只有经过批准的函数才能被调用——毫无疑问
•添加新命令很容易——只需更新JSON即可
•支持安全回退,如输入不明确的reject_request
•可扩展和安全-遵循OpenAI推荐的嵌入式AI架构
扩展理念
想要更进一步吗?以下是一些说明:
-使用扬声器和OpenAI的语音合成添加语音响应系统
-整合对话系统与上下文记忆
-使用相同的设置,通过蓝牙中继控制智能家居设备
-将其与手势识别或视觉反馈相结合
-通过JSON扩展命令集-只需更新function_list_robot.json
-使用OpenAI的流媒体API从一次转录切换到实时语音↔️语音交互
本文编译自hackster.io