JX-A7T 离在线混合模式配置指南:ASR 识别结果串口输出与智能体协同
版本:v1.1 |更新日期:2026-03-05
阅读时间:约 15 分钟
适用范围:JX-A7T 混合语音模组
素材来源:技术交流群真实案例 + SmartPi 官方文档
标签:JX-A7T、离在线混合、ASR串口输出、智能体协同、功放使能
前言
JX-A7T 是一款集成了离线语音识别和在线 AI 大模型能力的混合模组,在智能音箱、AI 陪伴玩具、智能家居控制中心等场景中得到了广泛应用。
然而,很多开发者在首次使用 JX-A7T 时会遇到以下困惑:
“这款芯片可以将识别到的语音数据(ASR)通过串口传出来吗?”
“离线指令和在线指令如何配置协同工作?”
“例程烧录后没有语音播报,是什么原因?”
“JX-A7T 与 CI-03T 的功放使能配置有什么不同?”
本文基于真实用户案例和 SmartPi 官方文档,系统性地讲解 JX-A7T 离在线混合模式的配置方法、ASR 识别结果串口输出配置、常见问题排查以及进阶应用技巧。
一、JX-A7T 架构概述
1.1 双芯片架构
JX-A7T 采用双芯片设计方案:
| 芯片 | 型号 | 职责 | Flash | 接口 |
|---|---|---|---|---|
| 语音芯片 | CI1302 | 离线唤醒、命令词识别 | 2MB | UART0/UART1 |
| WiFi芯片 | BL62xx | WiFi连接、在线AI对话 | 2MB | UART通信 |
关键理解:两个芯片各司其职,通过内部 UART 串口进行通信。JX-A7T 模组共有4个串口,功能分配如下:
| 串口 | 连接对象 | 用途 | 可用性 |
|---|---|---|---|
| UART0 | 语音芯片(CI1302) | 烧录、调试、外部通信 | ✅ 可用 |
| UART1 | 语音芯片(CI1302) | 外部设备通信 | ✅ 可用 |
| WiFi串口 | WiFi芯片(BL62xx) | 内部通信、烧录 | ⚠️ 内部使用 |
| 调试串口 | WiFi芯片(BL62xx) | 调试输出 | ⚠️ 调试用 |
注意:UART0 和 UART1 可用于与外部 MCU 通信,但需注意电平匹配(TTL 3.3V)。
1.2 工作模式
JX-A7T 支持三种工作模式:
| 模式 | 说明 | 网络依赖 | 响应速度 | 适用场景 |
|---|---|---|---|---|
| 纯离线模式 | 仅使用本地命令词 | 无需网络 | 极快(<500ms) | 基础控制、断网环境 |
| 纯在线模式 | 所有请求发送云端 | 需要网络 | 较慢(2-5s) | 复杂对话、知识问答 |
| 混合模式 | 离线+在线协同 | 部分需要网络 | 灵活 | 综合应用场景(推荐) |
二、混合模式配置步骤
2.1 创建产品与固件配置
在 SmartPi 平台(smartpi.cn)上创建 JX-A7T 产品时,需要配置两个部分:
2.1.1 语音部分(ASR)配置
创建离线命令词
- 设置唤醒词(如"智能助手")
- 添加常用控制命令(如"打开灯"、“关闭灯”)
- 配置对应的控制动作(GPIO/串口输出)
配置串口输出
- 在命令词的"控制动作"中选择"串口输出"
- 设置输出格式(16进制或文本)
- 配置波特率(默认 9600)
功放使能配置⚠️ 重要
- JX-A7T 的功放使能需要设置为低电平
- 这与 CI-03T 不同(CI-03T 默认高电平使能)
2.1.2 WiFi 部分配置
导入 WiFi 配置
- 从入门例程中获取
wifi_test.json - 或在平台 WiFi 配置部分手动配置
- 从入门例程中获取
配置智能体
- 创建或绑定 AI 智能体
- 设置知识库(可选)
- 配置 MCP 工具(用于硬件控制)
2.2 固件生成与烧录
JX-A7T 需要烧录两个固件:
| 固件 | 文件名 | 烧录工具 | 说明 |
|---|---|---|---|
| 语音固件 | jx_firm.bin | ASR 语音部分烧录软件 | 离线识别 |
| WiFi 固件 | A7T_WIFI.bin | WiFi 在线部分烧录软件 | 在线AI |
烧录顺序:先烧录语音固件,再烧录 WiFi 固件。
拨码开关位置:
| 开关 | 正常工作模式 | 烧录模式 |
|---|---|---|
| SW1 | 靠近 USB 口 | 远离 USB 口 |
| SW2 | 靠近 USB 口 | 远离 USB 口 |
注意:烧录完成后,必须将拨码开关恢复到正常工作位置。
三、ASR 识别结果串口输出配置
3.1 用户需求分析
很多开发者希望将识别到的语音内容通过串口输出,以便下游 MCU 或设备进行处理:
“这款芯片可以将识别到的语音数据(ASR)通过串口传出来吗?”
答案:JX-A7T 支持通过串口输出识别结果,但需要正确配置。
3.2 离线模式串口输出配置
对于离线命令词,串口输出配置如下:
进入命令词配置
- 选择目标命令词
- 添加"控制动作"
配置串口输出
- 控制类型:选择"串口输出"
- 输出内容:
- 固定内容:直接填写要发送的字符/16进制数据
- 变量内容:可包含识别到的参数
示例配置
| 命令词 | 串口输出 | 说明 |
|--------|---------|------|
| “打开灯” |OPEN_LED\n| 发送固定指令 |
| “关闭灯” |CLOSE_LED\n| 发送固定指令 |
| “调到X档” |LEVEL_{0-9}\n| 带变量的输出 |
3.3 在线模式 ASR 结果输出
对于在线 AI 对话,识别结果的输出需要通过智能体平台配置:
配置 MCP 工具
- 在智能体平台创建 MCP 工具
- 工具类型选择"串口输出"
- 设置输出格式
配置对话流
- 创建对话流程
- 将识别结果通过 MCP 工具输出到串口
获取对接文档
- 平台提供《离在线应用对接说明》文档
- 包含完整的协议格式和数据包定义
3.4 串口协议格式
JX-A7T 串口通信采用标准格式:
帧头 | 长度 | 命令 | 数据 | 校验 0xAA 0x55 | LEN | CMD | DATA | CS常用命令字:
| 命令字 | 说明 | 数据格式 |
|---|---|---|
| 0x01 | 离线命令词触发 | 命令ID |
| 0x02 | 唤醒事件 | 唤醒词ID |
| 0x03 | 在线 ASR 结果 | UTF-8 字符串 |
| 0x04 | TTS 播报状态 | 状态码 |
3.5 串口引脚定义
JX-A7T 的 UART 引脚定义如下:
| 串口 | TX 引脚 | RX 引脚 | 用途 |
|---|---|---|---|
| UART0 | PIN 57 | PIN 58 | 烧录、外部通信 |
| UART1 | PIN 68 | PIN 1 | 外部设备通信 |
注意:UART0 同时用于烧录和调试,与外部设备通信时需注意冲突。
四、常见问题排查
4.1 例程烧录后没有语音播报
问题描述:
“用例程配置后烧录后芯片没有语音播报之类的反应了,只有烧录回出厂固件开机才会有播报。”
原因分析:JX-A7T 与 CI-03T 的功放使能配置不同。
| 模组 | 默认功放使能配置 | 配置位置 |
|---|---|---|
| CI-03T | 高电平使能 | 平台默认 |
| JX-A7T | 低电平使能 | 需手动配置 |
解决方法:
- 在 SmartPi 平台打开项目配置
- 找到"功放使能"配置项
- 将电平设置为低电平
- 重新生成并烧录固件
4.2 串口数据累加问题
问题描述:
“JX-A7T 串口接收数据出现累加,第一次返回 0x29,第二次返回 0x30,后续变成 0x2930”
原因分析:
- 串口接收缓冲区未及时清空
- MCU 读取方式不正确
解决方法:
// 正确的串口读取示例voiduart_read_handler(){staticuint8_tbuffer[128];staticuint16_tindex=0;while(uart_available()){uint8_tbyte=uart_read_byte();buffer[index++]=byte;// 检查帧尾if(byte==0xA5&&index>2){process_frame(buffer,index);index=0;// 重置缓冲区}}}4.3 串口不能直接输出 ASCII 文本
问题描述:
“JX-A7T 串口不能直接输出 ASCII 文本吗?”
答案:JX-A7T 的串口输出默认为十六进制格式,如需输出 ASCII 文本,需要:
- 在平台配置中选择"字符串"格式
- 或者在 MCU 端进行编码转换
4.4 在线功能无法使用
检查清单:
| 检查项 | 状态 | 说明 |
|---|---|---|
| WiFi 固件烧录 | ✅/❌ | 确认 A7T_WIFI.bin 已烧录 |
| WiFi 配置导入 | ✅/❌ | 确认 wifi_test.json 已导入 |
| 网络连接 | ✅/❌ | 设备连接到 2.4G 网络 |
| 智能体绑定 | ✅/❌ | 智能体已正确绑定 |
| 小程序配网 | ✅/❌ | 完成设备配网 |
五、离在线协同工作模式设计
5.1 模式切换策略
| 触发条件 | 处理模式 | 示例 |
|---|---|---|
| 简单控制指令 | 离线模式 | “打开灯”、“播放音乐” |
| 复杂问题 | 在线模式 | “今天天气怎么样”、“讲个故事” |
| 网络断开 | 纯离线模式 | 降级使用本地命令 |
5.2 配置示例
场景:智能音箱
| 命令类型 | 示例命令 | 处理方式 |
|---|---|---|
| 离线控制 | “打开灯”、“关闭灯” | 本地 GPIO 控制 |
| 在线问答 | “今天天气”、“播放周杰伦的歌” | 云端 AI 处理 |
| 串口输出 | “设置温度25度” | 通过串口发送到空调 |
5.3 对接文档获取
如需完整的离在线应用对接说明:
- 在 SmartPi 平台查看项目文档
- 或联系技术支持获取《离在线应用对接说明 V2.1》
- 文档包含:协议定义、数据格式、对接示例代码
六、产品应用场景
6.1 智能家居
| 功能 | 实现方式 |
|---|---|
| 灯光控制 | 离线命令词 + GPIO |
| 语音查询 | 在线 AI + TTS 播报 |
| 场景联动 | 串口输出 + 网关 |
6.2 AI 陪伴玩具
| 功能 | 实现方式 |
|---|---|
| 基础动作 | 离线命令词(前进、后退) |
| 对话互动 | 在线 AI + 知识库 |
| 语音数据 | 串口输出到 MCU 记录 |
6.3 车载设备
| 功能 | 实现方式 |
|---|---|
| 静止控制 | 离线命令词快速响应 |
| 导航查询 | 在线 AI 处理 |
| 数据输出 | 串口输出到车机系统 |
七、总结
JX-A7T 作为一款离在线混合语音模组,提供了灵活的配置方式:
- 离线模式:快速响应、无需网络、适合基础控制
- 在线模式:AI 大模型、自然对话、适合复杂交互
- 混合模式:两者协同、最佳体验
关键配置要点:
| 配置项 | JX-A7T | CI-03T |
|---|---|---|
| 功放使能 | 低电平 ⚠️ | 高电平 |
| 串口数量 | 4个(内部+外部) | 2个 |
| 在线能力 | 支持大模型 | 不支持 |
| 固件数量 | 2个(语音+WiFi) | 1个 |
配置检查清单:
- 功放使能设置为低电平
- 串口输出通过命令词的"控制动作"配置
- 在线 ASR 结果通过智能体平台的 MCP 工具配置
- 分别烧录语音固件和 WiFi 固件
- 拨码开关恢复到正确位置
参考资源
SmartPi 官方文档:
- JX-A7T 产品文档
- 智能体平台文档
- SmartPi 平台:https://smartpi.cn
技术交流群真实案例:
- JX-A7T 串口 ASR 输出配置(2026-03-05)
- JX-A7T 功放使能配置问题(2026-03-05)
