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

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

3天内不再提示

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

AIoT行业洞察 来源:AIoT行业洞察 作者:AIoT行业洞察 2025-06-25 14:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

以下作品由安信可社区用户

WT_0213制作

自从拥有了安信可AiPi-PalChatV1

Ai-M61+VC02做的语音控制器不香了

这是之前做的两个版本

通过VC02控制HA灯光的小项目

Ai-M61+VC02语音控制HA设备​bbs.ai-thinker.com/forum.php?mod=viewthread&tid=45021

Ai-M61+VC02语音控制HA设备v1.1版​bbs.ai-thinker.com/forum.php?mod=viewthread&tid=45059

这两个项目都是基于HA的自动化来完成的。

参考:

[智能家居]MQTT控制HomeAssistant设备​bbs.ai-thinker.com/forum.php?mod=viewthread&tid=44644&fromuid=15918

现在都在链接智能化、大模型、MCP、AI,那就接入吧

不得不说虾哥开源的这个小智真的太棒了

方案落地

下面介绍下如何通过AiPi-PalChatV1+MCP控制HA设备。

参考:

【AiPi-PalChatV1语音开发板】小智 MCP 接入 Home Assistant​bbs.ai-thinker.com/forum.php?mod=viewthread&tid=47027

1、下载部署小智MCP服务代码

git clone https://gitee.com/lazy-ai/ai-pi-pal-chat-v1-ha.git

克隆代码后,先运行

pip install paho-mqtt
pip install -r requirements.txt
如果是mac
pip install paho-mqtt
pip install -r requirements_mac.txt

等待安装完成即可

wKgZPGhbkVyAXFcVAAFqiK1kHTY462.jpg

安装好后如果报 XXXX 模块没有找到,就继续执行 pip install xxx把缺失的部分安装全就好了。

2、下载小智客户端

https://github.com/huangjunsen0406/py-xiaozhi.git

github 地址可能间歇性的打不开,在gitee上面找了个

git clone https://gitee.com/tinytaro/py-xiaozhi0.git

克隆下来以后和上面基本一样先安装依赖

pip install -r requirements.txt
如果是mac
pip install -r requirements_mac.txt

这里需要注意的是有个包 **cv2**找不到

pip install opencv-python

还有一个修改点,就是将小智客户端中的IoT相关代码注释掉,不然不走MCP

wKgZO2hbkV2ACjuYAADhl_OV4Ds729.jpg

Iot代码在src下面iot目录下

注释 **application.py**第138行

# 初始化物联网设备

# self._initialize_iot_devices()

这样就好了然后进到项目目录打开命令行

执行

python main.py

wKgZPGhbkV2AUxphAADYA63B77c309.jpg

正常情况下他会播报一个设备码,和AiPi-PalChatV1 配网时效果时是一样的。将设备码添加到智能体。

3、配置MCP接入点

打开 https://xiaozhi.me/

wKgZO2hbkV6AG_feAABF3SAT97E373.jpg

点击**控制台**, 登录后

wKgZPGhbkV6AM0ibAABRiwZ3ZtI826.jpg

点击**配置角色**,拉到屏幕最下方

wKgZO2hbkV-AIMWYAABraUdw0Yg680.jpg

右下角**MCP接入点**

wKgZPGhbkV-AZFK8AABrmWfulRE124.jpg

复制接入点地址到第一步命令行

先执行

export MCP_ENDPOINT=接入点地址

再执行命令

python mcp_pipe.py switch_lamp.py

成功运行输出

(base) ➜ mcp git:(main) python mcp_pipe.py switch_lamp.py
2025-06-17 18:15:30,888 - MCP_PIPE - INFO - Connecting to WebSocket server...
2025-06-17 18:15:31,541 - MCP_PIPE - INFO - Successfully connected to WebSocket server
2025-06-17 18:15:31,548 - MCP_PIPE - INFO - Started switch_lamp.py process
/Users/tengyun1/AI/mcp-calculator/switch_lamp.py:30: DeprecationWarning: Callback API version 1 is deprecated, update to latest version
client = mqtt.Client() # 创建MQTT客户端实例
[06/17/25 18:15:32] INFO Processing request of type server.py:523
ListToolsRequest
2025-06-17 18:15:32,397 - Home Assistant MCP - ERROR - MQTT连接: 0
ERROR MQTT连接: 0 switch_lamp.py:51
2025-06-17 18:15:32,845 - Home Assistant MCP - INFO - Connected with result code 0
INFO Connected with result code 0 switch_lamp.py:33

这样就都跑起来了,然后就是测试

wKgZO2hbkWCABhUzAAEfVJy4laQ449.jpg

在会话框中输入“开灯/关灯”,右侧会同步限制MQTT接收到的信息。

下面是MCP 源代码

# server.py
import sys
import json
import logging
import paho.mqtt.client as mqtt
import threading
from mcp.server.fastmcp import FastMCP
# 配置日志
logger = logging.getLogger('Home Assistant MCP')
handler = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(http://logging.INFO)
# Fix UTF-8 encoding for Windows console
if sys.platform == 'win32':
sys.stderr.reconfigure(encoding='utf-8')
sys.stdout.reconfigure(encoding='utf-8')
# MQTT配置
MQTT_CONFIG = {
"broker_address": "http://broker.emqx.io",
"broker_port": 1883,
"username": None,
"password": None,
}
client = mqtt.Client() # 创建MQTT客户端实例
def on_connect(client, userdata, flags, rc):
http://logger.info(f"Connected with result code {rc}")
client.publish("ha/ai", "Hello MQTT") # 连接后发布消息
client.subscribe("ha/ai") # 订阅主题以接收消息
def on_message(client, userdata, message):
try:
payload = message.payload.decode()
except UnicodeDecodeError:
payload = f"<无法解码的消息内容: {message.payload}>"
http://logger.info(f"Received message: {payload} on topic {message.topic}")
def init_mqtt():
try:
client.on_connect = on_connect
client.on_message = on_message
if MQTT_CONFIG["username"] and MQTT_CONFIG["password"]:
client.username_pw_set(MQTT_CONFIG["username"], MQTT_CONFIG["password"])
ret = client.connect(MQTT_CONFIG["broker_address"], MQTT_CONFIG["broker_port"], 60)
logger.error(f"MQTT连接: {ret}")
client.loop_forever()
except Exception as e:
logger.error(f"MQTT连接失败: {e}")
sys.exit(1)
# Create an MCP server
mcp = FastMCP("Home Assistant MCP")
# Add a lamp control tool
@mcp.tool()
def switchLamp(on_off: bool) -> dict:
"""这是一个用于控制HomeAssistant的灯的接口"""
result = "开灯成功" if on_off else "关灯成功"
http://logger.info(f"switchLamp formula: {on_off}, result: {result}")
status = 1 if on_off else 0
payload = json.dumps({"status": status})
client.publish("ha/ai", payload) # 连接后发布消息
return {"success": True, "result": result}
# Start the server
if __name__ == "__main__":
# 启动 MQTT 客户端在单独的线程中
mqtt_thread = threading.Thread(target=init_mqtt, daemon=True)
mqtt_thread.start()
mcp.run(transport="stdio")


审核编辑 黄宇

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

    关注

    90

    文章

    38188

    浏览量

    296993
  • 开发板
    +关注

    关注

    25

    文章

    6139

    浏览量

    113564
  • 语音控制器
    +关注

    关注

    0

    文章

    12

    浏览量

    5926
  • MCP
    MCP
    +关注

    关注

    0

    文章

    286

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    上线!国产AI语音开发板,定制你的聊天伙伴助手

    ChatGPT语音助手)这次,AiPi-PalChatV1,可直接调用三大国产AI模型(D
    的头像 发表于 11-20 11:53 329次阅读
    上线!国产<b class='flag-5'>AI</b><b class='flag-5'>语音</b><b class='flag-5'>开发板</b>,定制你的聊天伙伴助手

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

    ,完整复现一次智能语音产品的测试流程。 No01、开箱与硬件初探 很幸运收到送测试的Ai-WV01-32S模组,依然采用防静电包装,模
    的头像 发表于 11-19 16:09 473次阅读
    <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语音开发板+MCP,连接Home Assistant控制米家设备,实现语音开关灯

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

    豆包/DeepSeek/小智AI全接入!这款AI语音开发板,配网即用超省心!

    AiPi-PalChatV2 接入小智AI 或 火山引擎 AiPi-PalChatV2 是
    的头像 发表于 09-09 17:21 1190次阅读
    豆包/DeepSeek/小智<b class='flag-5'>AI</b>全接入!这款<b class='flag-5'>AI</b><b class='flag-5'>语音</b><b class='flag-5'>开发板</b>,配网即用超省心!

    【小智AI语音开发板】做个自己的Moss机器人?

    以下作品由社区用户 WT_0213 制作 通过小安Moss+AiPi-PalChatV1+AiPi-BW21+机器视觉项目,让家居更加
    的头像 发表于 08-27 15:46 2385次阅读
    【小智<b class='flag-5'>AI</b><b class='flag-5'>语音</b><b class='flag-5'>开发板</b>】做个自己的Moss机器人?

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

    科技:可发布的 AI 语音
    的头像 发表于 08-19 17:46 929次阅读
    轻松配置小智<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>IOT小程序功能更新

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

    正式推出 语音AI开发板—— AiPi-PalChat
    的头像 发表于 07-15 15:06 631次阅读
    小智<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><b class='flag-5'>开发板</b>更新啦

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

    以下作品由社区用户 无垠的广袤 制作 感谢社区的支持,免费领到了
    的头像 发表于 07-08 10:34 4139次阅读
    上手体验<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>,如何接入Home Assistant?

    AI语音开发板AiPi-PalChatV1教程:常见问题

    AiPi-PalChatV1 是一款接入了 小智 AI 智能体 的微型语音交互开发板,专为轻量级智能语音场景设计。
    的头像 发表于 06-18 15:27 659次阅读
    <b class='flag-5'>AI</b><b class='flag-5'>语音</b><b class='flag-5'>开发板</b><b class='flag-5'>AiPi-PalChatV1</b>教程:常见问题

    小安AI语音板,“广西表哥”强势上线!

    AiPi-PalChatV1 是一款接入了 小智 AI 智能体 的微型语音交互开发板,专为轻量级智能语音场景设计。
    的头像 发表于 06-10 17:30 620次阅读
    小安<b class='flag-5'>AI</b><b class='flag-5'>语音</b>板,“广西表哥”强势上线!

    AI语音开发板AiPi-PalChatV1教程:硬件设计参考

    AiPi-PalChatV1是一款接入了小智AI智能体的微型语音交互开发板,专为轻量级智能语音场景设计。 基于
    的头像 发表于 05-28 09:21 740次阅读
    <b class='flag-5'>AI</b><b class='flag-5'>语音</b><b class='flag-5'>开发板</b><b class='flag-5'>AiPi-PalChatV1</b>教程:硬件设计参考

    AI语音开发板AiPi-PalChatV1教程:二次开发

    AiPi-PalChatV1 是一款接入了 小智AI智能体 的微型语音交互开发板,专为轻量级智能语音场景设计。 基于
    的头像 发表于 05-21 14:26 532次阅读
    <b class='flag-5'>AI</b><b class='flag-5'>语音</b><b class='flag-5'>开发板</b><b class='flag-5'>AiPi-PalChatV1</b>教程:二次<b class='flag-5'>开发</b>

    AI语音开发板AiPi-PalChatV1教程:烧录与调试

    AiPi-PalChatV1 是一款接入了小智AI智能体的微型语音交互开发板,专为轻量级智能语音场景设计。
    的头像 发表于 05-17 09:45 1098次阅读
    <b class='flag-5'>AI</b><b class='flag-5'>语音</b><b class='flag-5'>开发板</b><b class='flag-5'>AiPi-PalChatV1</b>教程:烧录与调试

    AI语音开发板AiPi-PalChatV1,使用指南来啦

    AiPi-PalChatV1 是一款接入了 小智AI智能体 的微型语音交互开发板,专为轻量级智能语音场景设计。 基于
    的头像 发表于 04-30 15:50 1375次阅读
    <b class='flag-5'>AI</b><b class='flag-5'>语音</b><b class='flag-5'>开发板</b><b class='flag-5'>AiPi-PalChatV1</b>,使用指南来啦

    上线!国产AI语音开发板,定制你的聊天伙伴助手,可直接调用DeepSeek/豆包/通义千问

    AiPi-PalChatV1 ,可直接调用三大国产AI模型(DeepSeek/豆包/通义千问),轻松实现自然语言交互。 01概述 AiPi-PalChatV1 是一款接入了 小智 AI
    的头像 发表于 04-15 17:11 864次阅读
    上线!国产<b class='flag-5'>AI</b><b class='flag-5'>语音</b><b class='flag-5'>开发板</b>,定制你的聊天伙伴助手,可直接调用DeepSeek/豆包/通义千问