回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

“轻装”上阵,“无线”可能-小智控制小车 简单

头像 重楼 2025.07.07 9 0

【项目背景】

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

 

1 硬件

行空板M10

 

 

 

image.png

 

行空板M10电池扩展板

 

image.png

行空板M10电机扩展板

 

 

 

 

 

image.png

安装教程参考:

 

行空板M10电池扩展板

https://wiki.dfrobot.com.cn/SKU_DFR1197_%E8%A1%8C%E7%A9%BA%E6%9D%BFM10%E7%94%B5%E6%B1%A0%E6%89%A9%E5%B1%95%E6%9D%BF

 

行空板M10电机扩展板

https://wiki.dfrobot.com.cn/SKU_DFR1198_%E8%A1%8C%E7%A9%BA%E6%9D%BFM10%E7%94%B5%E6%9C%BA%E6%89%A9%E5%B1%95%E6%9D%BF

 

第一步 安装库

 

行空板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

 

image.png

 

 

在终端,使用pip install mcp,安装mcp,同时安装python-dotenv>=1.0.0,websockets>=11.0.3 ,pydantic>=2.11.4

 

在安装过程中,连接行空板网络。

 

image.png

 

安装完毕后,在终端 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/   网站智能体设置

 

image.png

 

 

角色可以ai 优化 

image.png

 

最后配置mcp 接入点。

image.png

接入地址需要复制 对应 区域

 

 

测试代码使用的是

云天老师的行空板M10扩展板——行空车(MCP) 

https://mc.dfrobot.com.cn/thread-346024-1-1.html?fromuid=727937

 

endpoint_url=  “ 改为自己的 地址”

 

image.png

测试 通讯没有问题,修改代码,改成自己对应的控制指令。

 

 

 

代码
# 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")

附件

评论

user-avatar