0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

安信可AI语音模组支持MCP模型上下文协议

安信可科技 来源:安信可科技 2026-04-15 09:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

核心结论:安信可 PalChat 系列(V1/V2)支持 MCP(模型上下文协议),工程师只需写几十行 C 代码,就能让 AI 模型直接控制硬件设备。V1 基于 Ai-WB2-12F,适合快速验证;V2 基于 Ai-M61-32S,新增屏幕、支持多 AI 平台,MCP 参数类型也更丰富。两款都把"AI 理解人话→执行设备操作"这条链路做成了开箱即用的能力。

01 MCP 是什么,为什么工程师应该关注

最近两年,AI 大模型的能力进步飞快,但有一个问题一直没解决好:模型怎么控制真实的物理设备?

传统方案里,工程师要自己写一套"语义解析→指令映射→设备控制"的逻辑。用户说"把灯调暗一点",设备要能听懂这句话,还要知道"暗一点"是把 PWM 调低多少——这中间有很多脆弱的对应关系需要人工维护。

MCP(Model Context Protocol,模型上下文协议)换了一个思路:让 AI 直接调用你定义的工具函数。你告诉 AI "有个叫 Light 的工具,能开关灯",AI 就会在用户说"关灯"的时候,直接调用这个工具,传入参数enabled=false,你的回调函数处理剩下的事情。

换句话说,MCP 把设备控制从"自然语言解析"变成了"函数调用"。前者很难维护,后者是工程师最熟悉的模式。

MCP 是 Anthropic 提出的开放协议,目前已被多个 AI 平台支持。安信可将其集成进 PalChat 系列 SDK,开发者不需要自己对接协议层,只需要关注工具的定义和回调实现。

02 PalChat V1 与 V2:先搞清楚是哪两款板子

在聊 MCP 功能之前,先把两款产品的差异说清楚,避免选错。

对比项 PalChat V1 PalChat V2
主控模组 Ai-WB2-12F Ai-M61-32S
屏幕 1.69 寸 TFT 彩屏
AI 平台支持 小智 AI 小智 AI + 火山引擎
语音打断 支持离线唤醒 插话打断 + 唤醒词打断
供电 Type-C / 电池 Type-C / 电池
MCP 参数类型 布尔型、数值型 布尔型、数值型、字符串型
开发文件位置 SDK 内自定义 user_mcp_tools.c / .h
适合场景 快速原型验证、开源项目 产品级开发、多平台集成

两款都支持 MCP,但 V2 的 MCP 能力更完整——特别是新增了字符串类型参数,意味着你可以传"播放古典音乐"这类文本型指令,而不只是开关和数字。

03 MCP 开发流程:就三步

不管是 V1 还是 V2,MCP 工具的开发逻辑是一致的:

第一步:定义工具

用mcp_server_tool_t结构体描述你的工具:叫什么名字、干什么事、接受什么参数。

mcp_server_tool_t light_tool = {
  .name    = "Light",
  .description = "控制是否打开灯光",
  .setRequestHandler  = light_set_callback,  // 控制回调
  .checkRequestHandler = light_check_callback, // 查询回调
  .inputSchema = { ... } // 参数定义
};

第二步:注册到 MCP 服务

一行代码把工具加进去:

mcp_server_add_tool_to_toolList(&light_tool);

第三步:实现回调函数

写两个函数:一个处理"控制",一个处理"查询"。

// 控制回调:AI 说"关灯"时触发
returnValues_t light_set_callback(void *params) {
  bool enabled = get_bool_param(params, "enabled");
  gpio_set_level(LIGHT_PIN, enabled ? 1 : 0);
  return MCP_SUCCESS; // 0 = 成功
}

// 查询回调:AI 问"灯开着吗"时触发
void light_check_callback(void *params) {
  bool state = gpio_get_level(LIGHT_PIN);
  set_response_bool("enabled", state);
}

这三步完成后,用户对着 PalChat 说"打开灯",AI 就会调用light_set_callback,传入enabled=true,灯就亮了。你不需要写任何自然语言解析的代码。

错误码规范: V1/V2 均统一使用0表示成功,-32602表示参数错误。回调函数里记得处理异常,避免设备进入未定义状态。

04 V1 与 V2 的 MCP 能力对比:差在哪里

两款的 MCP 架构一致,差异主要体现在参数类型和开发结构上。

参数类型:V2 多了字符串

参数类型 V1 支持 V2 支持 典型用途
BOOLEAN 开关控制、状态查询
NUMBER 音量、亮度、温度等数值
STRING 模式名称、播放列表、文本指令

字符串类型的加入,让 V2 能处理更复杂的语义。比如"切换到睡眠模式"——这个"睡眠"是个字符串,V1 没法原生传递,V2 可以直接把"sleep"传进回调函数,你的设备再根据字符串值做对应的操作。

开发文件结构:V2 更规范

V1 的 MCP 工具开发在 SDK 内灵活定义;V2 则固定了开发入口:

project/Xiaozhi-AI/mcp_server/user_mcp_tools.c — 工具实现

project/Xiaozhi-AI/mcp_server/user_mcp_tools.h — 工具声明

固定的文件结构对团队协作更友好——新人知道去哪里找代码,代码审查也更容易。

AI 平台:V2 多一个选择

V1 目前对接小智 AI;V2 额外支持火山引擎语音平台。两者的 MCP 接口兼容,切换 AI 平台不需要重写工具代码,只改配置就行。

05 对工程师来说,MCP 省掉了什么

做过传统语音控制的工程师都知道有多麻烦:

写关键词匹配(打开/开启/亮起来……都得枚举)

维护指令表(产品迭代一次,指令表就要更新一次)

处理语义歧义("大声一点"是加10还是加20?)

对接云端 ASR + NLU + 设备端控制三层逻辑

有了 MCP,这些全省了。你只需要关心两件事:工具怎么定义(说清楚 AI 能用什么功能),以及回调怎么写(功能触发了做什么)。自然语言的理解交给 AI 模型,指令的分发交给 MCP 协议,你只管设备控制逻辑。

量化对比:传统方案下,一个"灯光 + 音量 + 模式切换"三功能语音控制系统,关键词枚举 + 逻辑处理大约需要 300-500 行代码,且随产品迭代持续膨胀。用 MCP 实现同样功能,工具定义 + 回调函数约 80-120 行,后续新增功能只需追加工具,不影响已有逻辑。

06 内置工具示例:灯光 + 音量

两款 PalChat 的 SDK 里内置了两个示例工具,可以直接参考:

示例一:灯光控制(Light)

最简单的布尔控制场景。用户说"开灯"或"关灯",AI 调用工具,传入enabled参数。

要素 内容
工具名称 Light
属性 enabled (布尔型)— 当前灯光状态
控制方法 SetEnabled (true=开,false=关)
触发语句示例 "打开灯光" / "关灯" / "灯开着吗?"

示例二:音量控制(Speaker)

数值型参数场景。用户说"把音量调到 70",AI 解析出 70 这个数字,直接传入。

要素 内容
工具名称 Speaker
属性 volume (数值型,0-100)— 当前音量
控制方法 SetVolume (传入 0-100 整数)
触发语句示例 "音量调到50" / "声音小一点" / "现在音量多少?"

这两个示例覆盖了 MCP 里最常见的两种参数类型。实际开发时,基于这两个例子做扩展,能快速上手。

07 选 V1 还是 V2:一个判断框架

两款都支持 MCP,硬件差异决定了适用场景不同。

选 PalChat V1,如果你:

需要快速跑通 MCP 的 demo,验证概念可行性

控制逻辑简单(只需要布尔型和数值型参数)

只对接小智 AI 平台

预算有限,用开源版本做前期探索

选 PalChat V2,如果你:

需要字符串类型参数(模式切换、文本类指令)

产品需要屏幕显示交互状态

需要同时评估小智 AI 和火山引擎两个平台

对代码规范性有要求,后续需要团队协作

做产品级开发而非原型验证

经验建议:如果你的产品控制点超过 5 个,或者涉及模式切换这类"文本型"指令,直接上 V2。V2 的字符串参数类型和规范化开发结构,在产品迭代时会省很多麻烦。

08 MCP 的上限在哪里

PalChat 的 MCP 工具数量受MCP_SERVER_TOOL_NUMBLE_LEN这个常量限制(V2 文档中有提及)。实际上,一个中等复杂的智能家居产品——灯光、窗帘、温度、模式、音乐——五个工具就能覆盖大部分控制需求,不会遇到上限问题。

更重要的是,MCP 协议本身是开放的,工具的能力边界取决于你的回调函数写了什么。灯光控制是一个工具,调用外部 HTTP API 可以是另一个工具,读取传感器数据同样可以包装成工具。只要能写成函数的操作,都能接进 MCP。

安信可官方也列出了参考资料:

MCP 中文站— 协议规范文档

小智 AI MCP 交互流程— 具体实现参考

09 总结

PalChat V1 和 V2 都把 MCP 做成了开箱即用的能力:三步开发流程、两个内置示例、标准化的回调接口。对工程师来说,最直接的价值是省掉了自然语言解析这层复杂度,让设备控制回归到熟悉的"函数定义 + 参数处理"模式。

两款的核心差异在于:V1 轻量、适合验证;V2 更完整,多了屏幕、字符串参数类型、多 AI 平台支持。项目处于探索期,选 V1;准备做成产品,选 V2。

MCP 这条路,安信可铺好了基础设施。剩下的,就是你的设备要做什么了。这正是"安信可,可安心"的意思——底层的通信和协议对接已经帮你做完,你只管专注产品逻辑。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    91

    文章

    40940

    浏览量

    302517
  • 安信可
    +关注

    关注

    0

    文章

    238

    浏览量

    5154
  • 大模型
    +关注

    关注

    2

    文章

    3750

    浏览量

    5268

原文标题:AI语音模组接上MCP,设备控制这件事彻底变了

文章出处:【微信号:安信可科技,微信公众号:安信可科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NVIDIA BlueField-4为推理上下文记忆存储平台提供强大支持

    随着代理式 AI 工作流将上下文窗口扩展到数百万个 token,并将模型规模扩展到数百万亿个参数,AI 原生企业正面临着越来越多的扩展挑战。这些系统目前依赖于智能体长期记忆来存储跨多轮
    的头像 发表于 02-02 10:29 1258次阅读
    NVIDIA BlueField-4为推理<b class='flag-5'>上下文</b>记忆存储平台提供强大<b class='flag-5'>支持</b>

    Microchip推出模型语境协议MCP)服务器,助力AI驱动的产品数据访问

    )今日推出模型语境协议MCP)服务器。作为AI接口,MCP服务器可直接连接兼容的AI工具和大型
    的头像 发表于 12-04 16:45 1162次阅读

    大语言模型如何处理上下文窗口中的输入

    本博客介绍了五个基本概念,阐述了大语言模型如何处理上下文窗口中的输入。通过明确的例子和实践中获得的见解,本文介绍了多个与上下文窗口有关的基本概念,如词元化、序列长度和注意力等。
    的头像 发表于 12-03 13:48 749次阅读
    大语言<b class='flag-5'>模型</b>如何处理<b class='flag-5'>上下文</b>窗口中的输入

    小智AI语音模组实测:实现语音控制关灯

    以下作品由社区用户 zzbinfo 制作   这次评测的是科技出品的
    的头像 发表于 11-19 16:09 1331次阅读
    <b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b>小智<b class='flag-5'>AI</b><b class='flag-5'>语音</b><b class='flag-5'>模组</b>实测:实现<b class='flag-5'>语音</b>控制关灯

    AI语音模组】自制小智管家?Ai-WV01-32S测试体验

    项目名:默语小智管家 模组支持科技 AI语音
    的头像 发表于 11-19 16:06 845次阅读
    【<b class='flag-5'>AI</b><b class='flag-5'>语音</b><b class='flag-5'>模组</b>】自制小智管家?<b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b><b class='flag-5'>Ai</b>-WV01-32S测试体验

    基于Ai-WV01-32S模组打造的小智语音硬件

    基于 Ai-WV01-32S 模组打造的小智语音硬件。
    的头像 发表于 11-13 17:33 1860次阅读
    基于<b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b><b class='flag-5'>Ai</b>-WV01-32S<b class='flag-5'>模组</b>打造的小智<b class='flag-5'>语音</b>硬件

    “小智AI”量产模组支持 MCP 控制,灵活出货、快速集成

    在许多嵌入式 / IoT / 语音交互应用中,如何把语音识别、唤醒、语义理解等 AI 能力真正“嵌入”到最终产品中? 继两款小智 AI 语音
    的头像 发表于 10-23 11:06 658次阅读
    “小智<b class='flag-5'>AI</b>”量产<b class='flag-5'>模组</b>,<b class='flag-5'>支持</b> <b class='flag-5'>MCP</b> 控制,灵活出货、快速集成

    小智AI语音开发板+MCP,连接Home Assistant控制米家设备,实现语音开关灯

    数据。 MCP相当于一个中介,用来为大模型连接其他工具。 如果能接入MCP的功能, 小智AI语音开发板 是不是大有可玩性呢?来看看
    的头像 发表于 10-23 10:28 5821次阅读
    小智<b class='flag-5'>AI</b><b class='flag-5'>语音</b>开发板+<b class='flag-5'>MCP</b>,连接Home Assistant控制米家设备,实现<b class='flag-5'>语音</b>开关灯

    请问riscv中断还需要软件保存上下文和恢复吗?

    以下是我拷贝的文档里的说明,这个中断处理还需要软件来写上下文保存和恢复,在使用ARM核的单片机都不需要考虑这些的,使用过的小伙伴能解答吗? 3.8. 进出中断的上下文保存和恢复 RISC-V架构
    发表于 10-20 09:56

    轻松配置小智AI语音开发板,IOT小程序功能更新

    科技:可发布的 AI 语音开发板,可以通过
    的头像 发表于 08-19 17:46 1521次阅读
    轻松配置小智<b class='flag-5'>AI</b><b class='flag-5'>语音</b>开发板,<b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b>IOT小程序功能更新

    【离线语音VC-01/02教程:中级入门篇

    离线语音VC01/02:硬件规格书、开发资料、烧录工具、应用开发
    的头像 发表于 07-31 09:33 968次阅读
    【离线<b class='flag-5'>语音</b>】<b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b>VC-01/02教程:中级入门篇

    小智AI正式授权!小安派语音AI开发板更新啦

    语音交互开发板,专为轻量级智能语音场景设计。 AiPi-PalChatV1 基于 Ai-W
    的头像 发表于 07-15 15:06 1064次阅读
    小智<b class='flag-5'>AI</b>正式授权!<b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b>小安派<b class='flag-5'>语音</b><b class='flag-5'>AI</b>开发板更新啦

    上手体验小安派AI开发板,如何接入Home Assistant?

    以下作品由社区用户 无垠的广袤 制作 感谢社区的
    的头像 发表于 07-08 10:34 4948次阅读
    上手体验<b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b>小安派<b class='flag-5'>AI</b>开发板,如何接入Home Assistant?

    AI语音开发板AiPi-PalChatV1 + MCP,通过HomeAssistant自动化控制设备

    以下作品由社区用户 WT_0213制作 自从拥有了AiPi-PalChatV1
    的头像 发表于 06-25 14:04 1088次阅读
    <b class='flag-5'>安</b><b class='flag-5'>信</b><b class='flag-5'>可</b><b class='flag-5'>AI</b><b class='flag-5'>语音</b>开发板AiPi-PalChatV1 + <b class='flag-5'>MCP</b>,通过HomeAssistant自动化控制设备

    MCP协议赋能智能硬件!硅思AI通过阿里云百炼,解锁AI套件新体验

    ,助力智能硬件发展。一、MCP协议MCP(ModelContextProtocol,模型上下文协议
    的头像 发表于 04-25 18:09 1471次阅读
    <b class='flag-5'>MCP</b><b class='flag-5'>协议</b>赋能智能硬件!硅思<b class='flag-5'>AI</b>通过阿里云百炼,解锁<b class='flag-5'>AI</b>套件新体验