8.4
【写在前面】
这个假期有小智MCP相伴,生活富有挑战又有趣。M10仰望小车(MCP)的学习与尝试(1)- Makelog(造物记)这个帖子记录了对小智和MCP探索的开始,帖子经过了多次修改,便于初次的伙伴参考,M10仰望小车(MCP)的学习与尝试(2)- Makelog(造物记)这个帖子呼应了前面的内容,比较详细的梳理了相关理论,同时代码功能进行了升级,配合阅读会更有效果。

然而,运行在M10上的MCP服务依赖的MCP服务库、webscoket通信协议库等需要运行在Python 3.10以上版本,例如我安装的是3.12.7,而M10系统Python版本是3.7,这样子造成所编写的代码只能从Mind+上启动运行,从M10上无法启动,这个痛点当前情况下似乎无解。还有一个问题,当前M10连接服务器后如果有一段时间不用,就可能会断开连接,所以我在寻求新的方式来玩小智的MCP。
(补记 8.5 https://mp.weixin.qq.com/s/8c6ogqCvhB-tcuaAFh0IIw)

(上述问题解决,等我实操后再来追记。)
(8.6追记,经过实操,上面痛点全部解决,刷入新版固件后,也可以从M10上启动程序啦。)
这时,我从B站中看到了阳阳老师的教程:开源神器!让小智语音控制ESP32点灯|极简MCP插件教程
观看之后,感觉来到了一个新天地,开始学习起来。

材料清单
- K10小智 X1
- FireBeetle 2 Board ESP32-S3(N16R8)开发板 X1 链接
步骤1 下载安装Arduino IDE
(本步为小白学习记录)
1、访问官网
打开 Arduino 官方网站:https://www.arduino.cc/en/software。
2、选择版本
Windows:推荐下载 .exe安装包(如 Windows Installer)(我的电脑是windows)。
3、双击 .exe文件,以 管理员身份运行。
4、同意许可协议 → 选择 “为所有用户安装” → 自定义安装路径(建议非系统盘)。
5、勾选 “安装驱动程序”(确保开发板可识别)。
6、完成安装后,桌面生成快捷方式。
7、设置中文界面
文件 → 首选项 → Language → 选择“中文(简体)” → 重启 IDE
8、创建纯英文工作目录:
新建文件夹:例如:C:\ArduinoProjects
修改IDE设置:
文件 → 首选项 → 修改“项目文件夹位置”为 C:\ArduinoProjects

步骤2 认识FireBeetle 2 Board ESP32-S3(N16R8)开发板
步骤3 Arduino IDE 编译环境配置
(因为FireBeetle 2 Board ESP32 S3是DF开发的,非官方标本版本,所以要按DF文档操作配置arduino ide 编译环境,官文档用的ide版本较早,并且是英文界面,下面记录了我配置时的截图,配置前将DF FireBeetle 2 Board ESP32 S3开发板连接电脑。)
1、配置URL网址到Arduino IDE
打开Arduino IDE,点击文件→首选项,在新打开的界面中,点击如下图红色圆圈中的按钮。

2、填入需要使用的版本链接,点击“OK”
- 稳定版:https://espressif.github.io/arduino-esp32/package_esp32_index.json
- 开发版:https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json
注意:
- 请根据芯片支持情况选择合适的版本。(两个都支持,可以两个都添加上)
- 如果填入过其它链接,在下一行添加新链接即可 。

3、更新板卡
- 打开工具→开发板:→开发板管理..,如下图所示,安装arduino esp32 board最新版:
- 点击工具→开发板---esp32:,选择DFRobot FireBeetle 2 ESP32-S3

- 在开始前您还需要配置如下设置(当您选择 Disabled 时,串口为RX(44)、TX(43),如果您需要通过USB在Arduino监视器上打印,您需要选择Enable)


- 点击端口选择对应的串口。

这时,可以看到DFRobot FireBeetle 2 ESP32-S3已连接。
测试程序: LED闪烁
板载LED灯默认为引脚21
新建文件,复制下面代码,保存文件。
int led = 21;
void setup() {
pinMode(led,OUTPUT);
}
void loop() {
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW);
delay(1000);
}

- 点击箭头等待程序编译并烧录至开发板。
烧录成功

- 如图所示烧录成功
- 您会看见板载LED灯开始闪烁
至此,将arduino ide配置完成,并将DFRobot FireBeetle 2 ESP32-S3连接ide,以及程序编译烧录成功。
步骤4 安装MCP库以及其它依赖库
下面我们将开启小智和FireBeetle 2 Board ESP32 S3的MCP之旅。
安装必备库(关键!)
1、打开 Arduino IDE → 项目 → 加载库 → 管理库...
2、搜索安装以下库:
xiaozhi-MCP

WebSockets by Markus Sattler(选择 2.3.6+ 版本)

下面这个库也安装了,不知有用没有。

ArduinoJson by Benoit Blanchon(v6.21+)

在新窗口中打开BasicExample示例代码

// WiFi配置,填入自己的wifi账号密码
const char* ssid = "your-ssid";
const char* password = "your-password";
// MCP服务器配置,填入小智的MCP接入点地址
const char* mcpEndpoint = "ws://your-mcp-server:port/path";

小智AI的配置不再详述,接入点地址获取(我这里是连接后的图片):

保存代码,点击上传编译烧录。

然后就可以小智AI控制开发板上的led灯,板载灯在IO21。
主要功能:
点亮
熄灭
闪烁

因为效果比较简单,就不录视频了,可以参看阳阳老师的视频。
【注】经过数小时的测试,发现esp32 s3连接MCP稳定性很好。
评论