当前位置: 首页 > java >正文

三步给小智ESP32S3智能语音硬件接入小程序打通MCP服务

修改步骤简介

  • 第一步:创建LSPlatform应用并获取开源套件API
  • 第二步:修改小智固件代码接入API
  • 第三步:重新编译并烧录固件

小智仓库地址

GitHub - 78/xiaozhi-esp32: An MCP-based chatbot | 一个基于MCP的聊天机器人

若电脑已安装 git 工具,建议使用指令:git clone GitHub - 78/xiaozhi-esp32: An MCP-based chatbot | 一个基于MCP的聊天机器人 进行拉取。

修改步骤说明

第一步:创建LSPlatform应用并获取开源套件API

访问并登录聆思 LSPlatform 平台,网址为:https://platform.listenai.com/

点击 【+创建应用】 按钮,应用类型选择 大模型语音交互,接入类型选择 智能硬件,点击确定完成应用创建。

点击应用,在弹出的菜单中选择 【应用配置】 标签,拉到最下方 【API接口】,复制 API 链接:

保存该链接,后续会将其替换至小智项目中实现链路切换。

第二步:修改小智固件代码

2.1 替换 OTA_URL API地址

打开小智项目工程的 main/DKconfig.projbuild 文件,将 config OTA_URL 的默认值替换为上一步复制的 API 地址:

config OTA_URL string "Default OTA URL" default "https://api.listenai.com/v1/xiaoling/xxxxxxx/ota/" help The application will access this URL to check for new firmwares and server address.原小智URL为"https://api.tenclass.net/xiaozhi/ota/"或直接在代码根目录下执行 idf.py menuconfig,在配置中将默认 OTA URL 替换为上一步复制的 API 链接,保存并退出:

2.2 增加接入 LSPlatform 平台的配置项

main/DKconfig.projbuild 文件中增加 USE_LSPLATFORM 配置项,方便切换链路:

config USE_LSPLATFORM bool "Connect to the Listenai AI platform" default y help 配置小智连接到聆思AI大模型链路(原小智URL为"https://api.tenclass.net/xiaozhi/ota/")如图:

代码编译前请执行idf.py menuconfig检查该配置项是否已打开:

2.3 增加使用新API地址进行鉴权的操作

main/ota.cc 文件中增加通过 OTA_URL 获取鉴权的函数:

int Ota::IsNeedAuth() {// Get authentication configuration Settings settings("auth", true);int force_auth = settings.GetInt("force_auth");if(force_auth) { settings.SetInt("force_auth", 0);}return force_auth;}如图:

std::unique_ptr<Http> Ota::SetupHttp() 函数实现中的return http;前增加对上述函数的调用:

#if CONFIG_USE_LSPLATFORMif(IsNeedAuth()) {ESP_LOGD(TAG, "force-reset: 1"); http->SetHeader("force-reset", "1");}#endif如图:

2.4 增加接入信息的打印

一样在 main/ota.cc 文件中,在bool Ota::CheckVersion()函数实现中增加对接入鉴权信息的打印,方便后续绑定小程序进行应用配置:

ESP_LOGI(TAG, "Received response: %s", data.c_str());如图:

第三步:重新编译并烧录固件

完成第二步中的修改后,即可重新编译小智固件并进行烧录,烧录完成后固件启动,可观察到日志中有出现验证码:

同时设备也会播报用于绑定小程序进行配置的验证码。

第四步:绑定小程序

微信小程序搜索 “小聆语音助手”,登录后选择添加设备,选择【开源套件】,输入验证码即可完成设备绑定,随机可进行语音交互:

小聆AI介绍

小聆AI是聆思面向桌面机器人和陪伴类设备打造的智能语音交互方案,专为打造更拟人、更懂你、更智能的语音交互体验而设计。

它具备以下核心特点:角色更拟人:响应更快,对话更自然;支持情感发音人;支持声音复刻,实现个性化定制。

对话更懂你:基于声纹精准识别用户身份;构建用户画像,记录兴趣与偏好;支持长期记忆,越用越懂你。

对话更智能:支持联网搜索、百科类问答。

配套服务完善:小程序支持查看对话记录与用户画像;可自由切换AI人设,满足多样化陪伴需求全面支持MCP协议增强拓展性

接入MCP方式可以参考:https://docs2.listenai.com/x/S_TEd8h7C

http://www.xdnf.cn/news/16652.html

相关文章:

  • 【Linux】pthread学习笔记
  • 专业Python爬虫实战教程:逆向加密接口与验证码突破完整案例
  • ubuntu18.04制作raid0
  • 51c大模型~合集161
  • 代码随想录算法训练营第三十五天
  • 车载刷写架构 --- 整车刷写中为何增加了ECU 队列刷写策略?
  • idea运行tomcat日志乱码问题
  • PostgreSQL锁机制详解:从并发控制到死锁检测
  • STM32——HAL库
  • LangChain和LangGraph 里面的 `create_react_agent`有什么不同
  • 基于SpringBoot和Leaflet集成在线天气服务的区县当前天气WebGIS实战
  • VUE -- 基础知识讲解(一)
  • RabbitMQ工作模式
  • 【C#|C++】C#调用C++导出的dll之非托管的方式
  • C# _泛型
  • python线性回归:从原理到实战应用
  • 在 Vue 中,如何在回调函数中正确使用 this?
  • 单片机学习笔记.PWM
  • linux——ps命令
  • 【tips】小程序css ➕号样式
  • 站点到站点-主模式
  • cartographer 点云数据的预处理
  • 第二十四章:深入CLIP的“心脏”:Vision Transformer (ViT)架构全解析
  • vim的`:q!` 与 `ZQ` 笔记250729
  • 【C++算法】81.BFS解决FloodFill算法_岛屿的最大面积
  • 粒子群优化算法(Particle Swarm Optimization, PSO) 求解二维 Rastrigin 函数最小值问题
  • 本土化DevOps实践:Gitee为核心的协作工具链与高效落地指南
  • Python的垃圾回收机制
  • DAY21 常见的降维算法
  • 项目质量如何把控?核心要点分析