WIZnet 开源方案分享:W55MH32 开发板 + 小智 AI实现以太网版本的小智机器人

📅 2026/7/9 5:11:21 👁️ 阅读次数 📝 编程学习
WIZnet 开源方案分享:W55MH32 开发板 + 小智 AI实现以太网版本的小智机器人

背景

随着 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 引脚,两个按键分别承担两个功能:

  1. 启动网络连接
  2. 开启录音采集

在该项目的官方实现中,开发团队选用 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 工具,需完成两步操作:

  1. 为对应的 MCP 工具创建带参数的功能函数,格式如下:
    def func_name(self, device, args): ...
  2. 在 mcp.py 的初始化逻辑中注册 MCPTool 对象。用户可参考官方文档了解 MCP 协议的运行机制。

MQTT 功能配置

若要在对应服务器上使用 MQTT 功能,需完成以下配置:

  1. 在官方 AIOT 平台注册一个数据源,对应的 MQTT 主题路径为「账户名称 / 数据源标题」。
  2. 打开 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 ESP32:78/xiaozhi-esp32
  • 小智 ESP32 服务器:xinnan-tech/xiaozhi-esp32-server
  • 小智 Wiki:小智 AI 聊天机器人百科全书 - Feishu Docs
  • W55MH32 介绍及文件下载:W55MH32 官方页面
  • MicroPython 官方库:micropython-lib

使用的库:

  • urequest.py、umqttsimple.py(源自 micropython-lib)
  • ws.py(源自 micropython_async_websocket_client)

项目仓库:W55MH32 MCP 聊天机器人