< >
Home » OpenDuckMini快速入门教程 » OpenDuckMini快速入门教程-整合小智语音控制

OpenDuckMini快速入门教程-整合小智语音控制

文章说明

  • 本教程主要介绍整合小智语音来控制鸭子
  • 测试环境:OpenDuckMini + 立创·实战派ESP32-S3开发板

前提准备

下载相关代码和配置环境

由于代码中使用的是PS4手柄控制代码进行修改,不保证使用XBOX协议手柄能直接通用,请根据实际情况进行处理

  • [树莓派] 下载mcp代码
$ cd ~/open_duck_mini_ws
$ git clone https://gitee.com/ncnynl/mcp-openduck
  • [树莓派] 安装相关依赖
$ cd ~/open_duck_mini_ws/mcp-openduck
$ pip install -r requirements.txt
  • [树莓派] 复制配置脚本到Open_Duck_Mini_Runtime目录下
$ cd ~/open_duck_mini_ws/mcp-openduck
$ ./install_duck.sh
配置立创·实战派ESP32-S3开发板
  • 默认没联网时会自启动热点,手机连上热点配置wifi联网即可

请输入图片描述

请输入图片描述

如果想重新进入配网模式,可以先断电再开机,然后等上方出现扫描wi-fi字样出来时,再按下上方右侧按钮即可进入配网模式

  • 配网网络后,会出现一个设备验证码

请输入图片描述

如果设备之前已经绑定过,只有在小智ai官网解绑设备后才能重新出现设备验证码

配置小智AI的MCP接入点
  • 小智AI聊天机器人官网:https://xiaozhi.me/
  • 登录到小智AI官网创建一个智能体角色,添加上面配置好wifi的设备,然后获取其mcp接入点地址

请输入图片描述

  • [树莓派]配置MCP接入点
$ cd ~/open_duck_mini_ws/mcp-openduck
$ cp mcp_point_example.sh mcp_point.sh

$ vim mcp_point.sh 
# 复制上面步骤获取到的mcp获取点地址到此处
# 示例 export MCP_ENDPOINT=<your_mcp_endpoint>
export MCP_ENDPOINT= 

$ source ./mcp_point.sh
  • [树莓派] 测试是否连通
$ cd ~/open_duck_mini_ws/mcp-openduck
$ ./start_mcp.sh
2025-09-27 10:32:42,685 - MCP_PIPE - INFO - [openduck.py] Connecting to WebSocket server...
2025-09-27 10:32:43,272 - MCP_PIPE - INFO - [openduck.py] Successfully connected to WebSocket server
2025-09-27 10:32:43,275 - MCP_PIPE - INFO - [openduck.py] Started server process: /home/raspios/venv_duck/bin/python3 openduck.py
INFO:mcp.server.lowlevel.server:Processing request of type ListToolsRequest
INFO:websockets.server:server listening on 127.0.0.1:6789
INFO:OpenDuck:[Controller] {'commands': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], 'buttons': {'A': False, 'B': False, 'X': False, 'Y': False, 'LB': False, 'RB': False, 'dpad_up': False, 'dpad_down': False}, 'left_trigger': 0.0, 'right_trigger': 0.0}
INFO:OpenDuck:[Controller] {'commands': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], 'buttons': {'A': False, 'B': False, 'X': False, 'Y': False, 'LB': False, 'RB': False, 'dpad_up': False, 'dpad_down': False}, 'left_trigger': 0.0, 'right_trigger': 0.0}
  • [小智AI] 给出语音指令:“鸭子,动一下耳朵”
  • 正常情况终端会输出
INFO:OpenDuck:[OpenDuck] 左耳动了一下
INFO:OpenDuck:lin_vel_x:-0.0, lin_vel_y:-0.0, ang_vel:-0.0
INFO:OpenDuck:lin_vel_x:-0.0, lin_vel_y:-0.0, ang_vel:-0.0
INFO:OpenDuck:last_commands[0]:-0.0
INFO:OpenDuck:[OpenDuck] 复位手柄
INFO:OpenDuck:lin_vel_x:-0.0, lin_vel_y:-0.0, ang_vel:-0.0
INFO:OpenDuck:lin_vel_x:-0.0, lin_vel_y:-0.0, ang_vel:-0.0
INFO:OpenDuck:last_commands[0]:-0.0
INFO:OpenDuck:[OpenDuck] 结束动作

语音控制测试步骤

  • [树莓派] 启动mcp
$ cd ~/open_duck_mini_ws/mcp-openduck
$ ./start_mcp.sh
  • [树莓派] 启动支持mcp功能的行走测试
$ cd ~/open_duck_mini_ws/mcp-openduck
$ ./start_duck_mcp.sh
  • [小智AI] 给出相应的语音指令
    • 让鸭子向前两步
    • 让鸭子后退两步
    • 让鸭子左移一点
    • 让鸭子右移一点
    • 让鸭子左转一下
    • 让鸭子右转一下
    • 让鸭子动下左耳朵
    • 让鸭子动下右耳朵
    • 让鸭子叫一声

演示视频

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: none