
背景随着 AI 技术持续快速发展将智能模型集成到低层级硬件架构上的需求变得比以往任何时候都更加迫切。WIZnet 始终确保旗下产品紧跟技术发展步伐为用户带来更优质的使用体验。受小智 - ESP32 项目的启发WIZnet 团队开发了一款由 W55MH32Q/L-EVB 开发板驱动的 MCP 聊天机器人。小智 - ESP32 是当前发展最快的 AI 项目之一支持通过硬件终端与大语言模型LLM交互可实现语音指令控制硬件等功能自推出以来在物联网领域收获了极高的关注度与普及度。MicroPython 是嵌入式领域广为人知的开发语言允许开发者使用 Python 开展嵌入式系统开发。新手开发者无需跨越传统 C 的学习门槛就能借助网络上丰富的 MicroPython 库与社区支持快速开启裸机开发实践。该项目团队认为将这些成熟技术整合到一起让普通开发者拥有定制化 AI 助手将不再是遥不可及的设想。项目概述下图为 W55MH32L_EVB MCP 聊天机器人的硬件连接示意图如示意图所示扬声器与麦克风共用同一组 I2S 连接。开发板默认处于扬声器播放模式当用户按住录音按钮时设备会切换为麦克风采集模式。用户需为开发板接入互联网并运行对应脚本方可连接至 AI 服务器。操作时需将路由器的以太网线缆接入开发板网口同时通过 USB 端口将开发板与电脑相连。脚本启动后程序会提示用户按下开始按钮发起连接。按键后设备将启动与服务器的通信链路用户即可与小智 AI 进行交互当终端进入消息输入状态时用户也可切换至麦克风模式通过语音与智能体对话。硬件组件与连接本节将讨论聊天机器人所需的组件以及如何将它们连接在一起。主板及外设搭建这套聊天机器人需要准备以下物料W55MH32Q_EVB购买链接/ W55MH32L_EVB购买链接I2S 接口 MAX98357A 放大器及配套扬声器INMP441 麦克风模块1 枚 10K 电阻两枚按键开关后续官方网站将上线完整的组件套装方便用户一站式采购。布线指南接线先从 I2S 音频组件开始完成芯片端接线后将扬声器接入 I2S 放大器的输出按键与 MCU 的连接可选用任意可用的 GPIO 引脚两个按键分别承担两个功能启动网络连接开启录音采集在该项目的官方实现中开发团队选用 PB9 引脚作为开始按键PB8 引脚作为录音按键。最后将开发板与电脑相连同时把开发板直连至路由器。若使用 W55MH32L_EVB 型号需将板卡右侧的端口连接至电脑。软件配置与定制安装部署用户首先需前往 W55MH32 MicroPython 文档站点为开发板刷入最新版本固件并准备好 Thonny IDE 开发环境。随后访问项目的 GitHub 仓库将代码克隆至本地电脑git clone https://github.com/wiznethk-git/w55mh32_xiaozhi_mcp_chat_bot.git打开项目文件所在文件夹通过 Thonny IDE 或任意兼容 MicroPython 的开发工具将除 default_config.py 外的全部文件上传至开发板 MCU。参数配置用户可参考 default_config.py 中的模板修改配置项编辑完成后将文件另存为 config.py 并上传至 MCU。import uuid client_id uuid.uuid4() secret { Client-Id:client_id } config { # General is_secure: False, async_timeout: 10, # I2S I2S_ENABLED: True, # Websocket Specific ws_delay_ms: 0, # MCP mcp_enabled: True, # OTA Specific board_type:YOUR_BOARD_TYPE, # MQTT MQTT_USERNAME: MQTT_USERNAME, MQTT_PASSWORD: MQTT_PASSWORD, MQTT_IP:MQTT_HOST, MQTT_ENABLED:True, # Button Pins START_BUTTON:PB9, RECORD_BUTTON:PB8, }用户可根据自身设备需求将 I2S、MCP 与 MQTT 开关设置为开启或关闭项目开发团队建议保持 MCP 与 MQTT 开启以获得完整的功能体验若需要收听服务器返回的语音内容则需启用 I2S 功能。以太网连接设备默认采用 DHCP 动态寻址方案将开发板接入路由器后即可自动联网。若网络连接失败用户可查询当前网络的详细参数在 setup.py 文件头部修改配置切换为静态 IP 模式。静态 IP 的具体配置方法可参考官方提供的参考脚本页面。MCP 工具扩展若要为板卡添加或移除 MCP 工具需完成两步操作为对应的 MCP 工具创建带参数的功能函数格式如下def func_name(self, device, args): ...在 mcp.py 的初始化逻辑中注册 MCPTool 对象。用户可参考官方文档了解 MCP 协议的运行机制。MQTT 功能配置若要在对应服务器上使用 MQTT 功能需完成以下配置在官方 AIOT 平台注册一个数据源对应的 MQTT 主题路径为「账户名称 / 数据源标题」。打开 mqttHandler 文件将对应主题路径添加至装饰器中并编写回调函数实现接收主题更新后的业务逻辑。其他说明若要为 W55MH32EVB 开发板添加自定义功能可在 config.py 中关闭 MQTT 或 MCP 功能避免板载内存不足引发运行错误。如果用户想了解 MCU 与服务器之间的通信原理可查阅 xiaozhi-esp32 项目的文档目录或访问小智 AI 聊天机器人百科了解服务器与终端机器人的完整运行机制。网站端配置正式使用 AI 助手前用户需要在官方网站完成设备注册。首先准备好开发板终端登录项目官方网站。接着点击「添加代理」选项卡创建专属智能代理创建完成后即可在对应页面看到命名后的代理条目。随后进入角色配置页面左侧区域可设置智能代理的自我介绍与角色设定为 AI 赋予专属的人设与上下文。右侧区域可配置小智 AI 的各项功能参数包括语音识别方案、用户输入处理模型等。右侧参数大多已预设默认值用户无需额外调整也可在语言选择栏中设置偏好的交互语言。代理配置完成后保存对应设置即可。完成代理创建后需要将硬件设备与该代理进行绑定。返回网站首页点击代理模块下的设备标签页选择「手动添加」在弹出窗口中填写固件版本、设备类型与设备 MAC 地址。设备联网后用户可在开发板终端运行以下指令配置网卡接口并获取设备的 MAC 地址从设置导入nic SetUpWiznetChip() print(:.join([%02x % b for b in nic.config(mac)]))在页面中填入 MAC 地址与设备类型选择固件版本 0.0.1即可将设备添加至对应代理下。完成设备注册与绑定后设备列表中会出现对应条目用户即可正式开启专属 AI 助手的使用与定制之旅。参考资料XiaoZhi ESP3278/xiaozhi-esp32小智 ESP32 服务器xinnan-tech/xiaozhi-esp32-server小智 Wiki小智 AI 聊天机器人百科全书 - Feishu DocsW55MH32 介绍及文件下载W55MH32 官方页面MicroPython 官方库micropython-lib使用的库urequest.py、umqttsimple.py源自 micropython-libws.py源自 micropython_async_websocket_client项目仓库W55MH32 MCP 聊天机器人