【项目背景】
DFRobot 发布行空板 M10 扩展板组合 —— 行空板 M10 电机 IO 扩展板与 M10 电池扩展板。该组合专为行空板(UNIHIKER)M10 在机器人控制、物联网终端、移动创客项目开发中面临的移动供电难题、接口数量不足、动态控制复杂等场景痛点,提供了便携式开发解决方案。本来设想是做一个北斗定位的控制的小车。但是看到最近很多人在玩K10 小智与行空板 M10 MCP 服务器相连接的模式,也想尝试一下。
1 硬件
行空板M10

行空板M10电池扩展板

行空板M10电机扩展板

安装教程参考:
行空板M10电池扩展板
行空板M10电机扩展板
第一步 安装库
行空板M10上安装mcp库
mcp库支持python3.12
需要安装python版本
推荐使用离线安装,在线安装的话一定要连接行空板网络。
推荐安装教程:
https://gitee.com/liliang9693/unihiker-pyenv-python
先安装 pyenv
pyenv是一个方便管理python版本的工具,
本仓库存储行空板上pyenv加载的环境包,可以直接下载文件解压到pyenv的环境中,避免长时间下载。
需要把 python-3.11.4.tar.gz 换成python-3.12.7.tar.gz 安装方法一样。
查看版本
python --version
#设置3.12.7为全局默认python
pyenv global 3.12.7
切换回系统自带的Python3.7的方法
pyenv global system
教程中使用的是行空板 0.4.0版本
如果不是,可以升级行空板 版本
系统镜像烧录教程
https://www.unihiker.com.cn/wiki/m10/burner

在终端,使用pip install mcp,安装mcp,同时安装python-dotenv>=1.0.0,websockets>=11.0.3 ,pydantic>=2.11.4
在安装过程中,连接行空板网络。

安装完毕后,在终端 pip list 查询一下,确保库都安装到位。
配置小智,K10上部署小智,安装教程
https://www.unihiker.com.cn/wiki/k10/xiaozhi_ai
推荐使用 1.7.5 版本
烧录完毕后,需要联网配置

设置完毕后会有6位验证码
下一步可以去小智配置站点配置语言模型和说话人。
使用浏览器输入xiaozhi.me打开小智配置网站,并且点击控制台
添加设备,输入验证你码
配置成功后重启K10就可做对话了。
唤醒你的AI伙伴
现在你可以使用"你好,小智"唤醒K10并与其交谈
K10板载两个按键功能如下:
A:短按-中断/唤醒,长按1s-音量加。
B:短按-中断/唤醒,长按1s-音量减
1.7.5版本支持 拍照等功能 之后可以做更多的扩展。
https://xiaozhi.me/ 网站智能体设置

角色可以ai 优化

最后配置mcp 接入点。

接入地址需要复制 对应 区域
测试代码使用的是
云天老师的行空板M10扩展板——行空车(MCP)
https://mc.dfrobot.com.cn/thread-346024-1-1.html?fromuid=727937
endpoint_url= “ 改为自己的 地址”

测试 通讯没有问题,修改代码,改成自己对应的控制指令。
# server.py
from mcp.server.fastmcp import FastMCP
import logging
logger = logging.getLogger('test_mcp')
import math
import random
# Create an MCP server
mcp = FastMCP("Calculator")
# Add an addition tool
@mcp.tool()
def calculator(python_expression: str) -> dict:
"""For mathamatical calculation, always use this tool to calculate the result of a python expression. `math` and `random` are available."""
result = eval(python_expression)
logger.info(f"Calculating formula: {python_expression}, result: {result}")
return {"success": True, "result": result}
# Start the server
if __name__ == "__main__":
mcp.run(transport="stdio")
附件
评论