跳转至

涂鸦AIOT方案

新用户建议先查看 ☞新手指南,了解开发的基础知识,再阅读该方案文档

1. 概述

本文为 启英泰伦+涂鸦离在线大模型对话方案开发板 的快速开发指南,旨在方便开发者基于启英泰伦 CI1302芯片 快速开发实现云端智能语音交互。

2. 用户指南

2.1. 软件开发环境介绍

2.1.1. 启英泰伦+涂鸦离在线大模型对话方案开发套件包

示例工程、技术文档及配套工具包均包含在SDK中。请访问 ☞启英泰伦语音 AI 平台 中搜索下载” 启英泰伦+涂鸦离在线大模型对话方案开发套件包 “。

2.1.2. 启英泰伦+涂鸦离在线大模型对话方案开发环境

开发者参照《IDE 搭建与使用》完成启英泰伦+涂鸦离在线大模型对话方案语音端开发环境的搭建,即可在搭建好的集成开发环境上使用 启英泰伦+涂鸦离在线大模型对话方案开发套件包中的语音SDK包 ,用户也可以直接使用 语音固件 ,立即体验智能交互,固件烧录见本文第4章。

语音SDK包与固件

图2-1 语音SDK包与固件

2.2. 硬件开发板介绍

下面以 启英泰伦+涂鸦离在线大模型对话方案开发板套件 的介绍,该开发板可以到 ☞样品购买 链接中购买,或者 ☞联系商务获取

2.2.1. 开发板实物图

开发板型号:T3-V-PRO-EVB(芯片型号:CI1302)。

开发板正面

图2-2 T3-V-PRO-EVB开发板正面

2.2.2. 开发板主要接口介绍

  • T3-V-PRO-EVB开发板主要接口图如下图所示。

开发板

图2-3 开发板主要接口示意图
  • 1:GND、CI_RXD、CI_RXD、VCC_5V排针 —— 用于语音端固件升级和打印调试;

  • 2:麦克风底座和喇叭底座;

  • 3:USB Type-C接口 —— 提供 5 V 供电,并支持WIFI端固件升级和打印调试;

  • 4:复位按键,在固件升级过程中需要按下复位按键,开始固件升级。


3. 应用程序

目前针对开发启英泰伦+涂鸦离在线大模型对话方案的应用程序,我司已提供一套针对涂鸦IOT云对话的SDK( CI13XX_SDK_LLM_AIoT_V1.0.5_Tuya_V1.0 )用于代码开发相关操作,用户可在 启英泰伦+涂鸦离在线大模型对话方案开发套件包 中找到该语音SDK包,下面将对该SDK进行介绍。

3.1. SDK整体架构介绍

文件名 / 目录 作用
components 组件:播放器、ASR 识别、按键、传感器、FreeRTOS 等
driver CI13XX 系列芯片底层驱动、板级支持配置
libs 预编译静态/动态库文件
projects 示例工程
startup CI13XX 系列芯片启动代码
system 系统相关代码、中断处理程序、平台配置
tools 工具:images 合成、固件打包升级工具等

3.2. CI13XX_SDK_LLM_AIoT_V1.0.5_Tuya_V1.0示例工程介绍

为便于快速上手,CI13XX_SDK_LLM_AIoT_V1.0.5_Tuya_V1.0已内置多个示例工程。通过编译、运行这些示例,开发者可迅速了解 SDK 的架构与使用方法。

示例工程路径:CI13XX_SDK_LLM_AIoT_V1.0.5_Tuya_V1.0\projects\

工程文件 作用
offline_asr_alg_pro_sample 离在线大模型对话方案示例

4. 固件升级

4.1 .bin文件说明

CI1302 应用固件由 5 个 bin文件组成:

Image 文件 功能说明
asr.bin 语言模型
dnn.bin 声学模型
user_code.bin 应用程序,由SDK编译生成
user_file.bin 开发者定义的命令词列表以及其他的bin文件
voice.bin 播报音

4.2 .bin文件生成脚本

  • 路径:CI13XX_SDK_LLM_AIoT_V1.0.5_Tuya_V1.0\projects\nn_denoise_rtc_sample\firmware\
  • 脚本:合成分区bin文件.bat
  • 功能:执行脚本后,系统将在 firmware\\asrdnnuser_filevoice 子目录中自动生成 asr.bindnn.binuser_file.binvoice.bin 四个分区文件。

4.3 语音端固件打包升级流程

下面将以 offline_asr_sample 工程为例,介绍如何使用串口升级工具 PACK_UPDATE_TOOL.exe 完成固件升级。

步骤 1:硬件连线

  • USB 转串口工具 —— 使用USB转串口工具进行供电,以及通过排针连接芯片和USB转串口工具的 TX/RX 引脚完成固件升级。

串口升级硬件连线2

图4-2 硬件连接图
  • 1:5 V 供电 (VCC/GND),UART0_TX → 转串口工具 RXD,UART0_RX → 转串口工具 TXD,参见上图标号 1

  • 2:上电后点击复位按钮进行烧录,参见上图标号 2

步骤 2:编译生成 user_code.bin

  1. 参照☞《IDE 搭建与使用》文档完成环境配置并执行编译。

  2. 编译完成后,在 projects\offline_asr_sample\firmware\user_code 目录下生成 user_code.bin(见图 4-3)。

user_code.bin 生成

图4-3 user_code.bin 生成

步骤 3:生成其余四个 bin 文件

以下提供两种生成方式:

方法 1:在 VS Code 中直接生成

  1. 在 VS Code 中运行 合成分区bin文件.bat(见图 4-4)。

VS Code 终端中直接合成

图4-4 VS Code 终端中直接合成
  1. 在VS Code 终端中输入“4”然后回车,选择输出mp3文件,显示的运行结果如图 4-5 所示。

运行结果

图4-5 运行结果

方法 2:双击脚本文件

  1. 进入 projects\offline_asr_sample\firmware 目录(图 4-6)。

firmware文件目录

图4-6 firmware文件目录
  1. 双击 合成分区bin文件.bat,脚本开始运行后将会出现如图4-7所示的界面,同样输入“4”然后回车,选择输出mp3文件,脚本执行完毕后将在 asrdnnuser_filevoice 子目录中自动生成对应的 bin 文件。

软件运行

图4-7 合成分区bin文件脚本运行界面

注意

处理完成后cmd.exe自动退出,如果没有自动退出,生成.bin文件失败,请检查asr、dnn、user_file、voice下文件或文件名是否正确;

步骤 4:合并五个 bin 文件

启动 PACK_UPDATE_TOOL.exe 有三种方式(任选其一):

方式 1:在 VS Code 中启动

  1. 在 VS Code 中启动打包升级工具 PACK_UPDATE_TOOL.exe(见图 4-8)。

启动升级工具

图4-8 VS Code 中启动打包工具

方式 2:双击批处理脚本

  1. 进入 projects\offline_asr_sample\firmware 目录,如图4-6所示。
  2. 双击 打包升级.bat,脚本将自动调用 PACK_UPDATE_TOOL.exe

方式 3:直接运行工具程序

  1. 打开 tools 目录,双击 PACK_UPDATE_TOOL.exe(见图 4-9)。

串口升级工具选择界面

图4-9 直接运行打包工具

首次启动 PACK_UPDATE_TOOL.exe 时,会弹出芯片系列选择框(图 4-10)。请选择 “CI13XX 系列” “CI1302”芯片后继续。

串口升级工具选择界面

图4-10 串口升级工具选择界面

串口升级工具主界面介绍: - CI130X 系列芯片 —— 当前是CI13XX系列芯片使用模式 - CI1302 —— 当前选择的芯片型号是CI1302 - English —— 切换界面语言(中 / 英) - 固件打包 —— 进入固件打包界面 - 固件升级 —— 进入固件升级界面 - F1 —— 打开帮助文档

点击串口升级工具主界面的(固件打包)按钮,界面如下图4-12所示:

串口升级工具固件打包界面

图4-12 串口升级工具固件打包界面

先点击“自动分配”再点击“打包固件”按钮后,系统会弹出“固件已生成”提示框。点击“确定”后,固件便生成完毕,并保存在 projects\\offline_asr_sample\\firmware 目录下,文件名由软件名称与版本号自动拼接,例如 Firmware_V200.bin(图 4-13)。

串口升级工具打包成功界面

图4-13 串口升级工具打包成功界面

步骤5:升级固件

升级前,请先确认以下事项:

  1. 确认硬件连线正确(参见步骤 1);

  2. 确认USB转串口工具已连接至 PC,且 PC 已识别对应 COM 端口;

  3. 确认固件成功生成;

  4. 确认麦克风和喇叭已正确连接至开发板。

点击图4-10或图4-11界面的固件升级按钮,界面如下图4-14所示:

串口升级工具升级界面

图4-14 串口升级工具升级界面
  1. 选择步骤 4 生成的固件文件;
  2. 选择正确的 COM 端口;
  3. 复位开发板(按复位键或断电重启,图2-3所示),升级工具将自动开始升级;完成后状态栏提示 Update successful

提示: 更多固件制作信息请参阅 ☞《命令词和固件制作指南》,或在图4-10起始页按 F1 查看帮助。

步骤6:验证固件

固件升级完成后,请给开发板重新上电或按复位键。在刚刚烧写固件的界面打开日志输出,日志串口与烧写串口为同一个COM口,出现如下打印则固件验证成功。

串口升级工具升级界面

图4-15 串口升级工具升级界面

提示:若未见正确打印,请参阅第 5 章“调试”排查原因。


5. CI13XX_SDK_LLM_AIoT_V1.0.5_Tuya_V1.0调试

SDK 内置基于 Log 的调试机制,可跟踪代码执行流程及关键数据。

5.1. Log机制

开发者可通过串口输出 Log 信息,追踪应用程序运行状态。

5.1.1. Log 输出管脚配置

默认情况下,UART0_TX 为 Log 串口的输出引脚。若需改用其他串口,请在 user_config.h 中配置宏 CONFIG_CI_LOG_UART(图 5-1)。

offline_asr_sample工程配置Log输出配置

图5-1 offline_asr_sample工程配置Log输出管脚

建议仅在工程路径下的 user_config.h 中修改配置,避免直接修改 sdk_default_config.h

5.1.2. Log 串口工具配置

PC 端串口工具配置示例如下。端口号根据系统为USB转串口工具分配的COM端口进行选择,波特率设置为921600:

PC串口工具配置

图5-2 PC串口工具配置

注意: 串口输出包含中文,请使用支持 UTF-8 字体的串口工具。

推荐使用 SecureCRT 等专业串口工具。

5.1.3. Log 打印通用接口

通用 Log 打印接口:

mprintf(fmt, args...); // 用法与 printf 相同

5.1.4. Log 打印封装接口

为了方便用户调试,SDK封装以下接口:

表5-1 打印API

Debug API Funtion
ci_logverbose(comlevel, message, args…) 日志打印–详细
ci_logdebug(comlevel, message, args…) 日志打印–调试
ci_loginfo(comlevel, message, args…) 日志打印–信息
ci_logwarn(comlevel, message, args…) 日志打印–警告
ci_logerr(comlevel, message, args…) 日志打印–错误
ci_logassert(comlevel, message, args…) 日志打印–断言

调试等级,表示log要打印的级别。定义了7种类别:

表5-2 调试等级

Debug Level Usage Scenario
#define CI_LOG_VERBOSE 全部打印
#define CI_LOG_DEBUG 调试、信息、警告,错误、断言
#define CI_LOG_INFO 信息、警告,错误、断言
#define CI_LOG_WARN 警告、错误、断言
#define CI_LOG_ERROR 错误、断言
#define CI_LOG_ASSERT 断言
#define CI_LOG_NONE 不打印

注意: 若使用表 5-1 所示封装接口,需在配置中将 CONFIG_CI_LOG_EN 设为 1

5.1.5. Log 打印长度配置

#define UART_LOG_BUFF_SIZE          512

默认打印长度 512 字节,可通过宏 UART_LOG_BUFF_SIZE 调整。


6. 启英泰伦+涂鸦离在线大模型对话方案WIFI端烧录与配置

本章节针对第一次调试启英泰伦+涂鸦离在线大模型对话方案的用户,需要对模组的WIFI端进行固件烧录和联网配置,后续可自动连接云端

步骤 1:硬件连接

  • USB Type-C 直连 —— 利用板载 USB 转串口控制器,单根数据线即可完成供电、串口调试通讯及固件升级,操作简便;

串口调试硬件连线

图6-1 硬件连接图

步骤 2:烧录WIFI端固件

在启英泰伦+涂鸦离在线大模型对话方案开发板套件找到 T3-V-PRO-EVB_WIFI烧录工具 文件夹中的BKFIL.exe,打开烧录工具

烧写工具

图6-2 烧写工具

在烧录工具主界面选择Bin文件路径,在开发板套件中的 T3-V-PRO-EVB_WIFI固件 文件夹选择PRO版本的bin文件

选择bin文件

图6-3 选择bin文件

点击配置界面,检查 起始地址文件长度功能设置 是否为下图中所示,正常导入bin文件后会默认配置这些值,若不一致按照图中修改即可

配置检查

图6-4 配置检查

返回主界面,点击选择串口,type-C接上后会有两个串口,选择 串口A可根据需求选择波特率 本例选择2M,打开串口

打开串口

图6-5 打开串口

点击烧录,烧录结束后,打印 All Finished Successfully 则表示烧录成功

烧录bin文件

图6-6 烧录bin文件

步骤 3:使用Tuya模块调试工具,进行WIFI端配置

在启英泰伦+涂鸦离在线大模型对话方案开发板套件找到 T3-V-PRO-EVB_WIFI配网工具 文件夹中的 Tuya Module Debugging Assistant Test 应用程序,点击打开 Tuya模块调试工具

图6-7 Tuya模块调试工具

打开后,检查联网协议是否为 Wi-Fi通用协议 ,不为该协议则进行协议切换 协议选择

图6-8 协议选择

点击 初始化配置 ,展开所有配置选项 初始化配置展开

图6-9 初始化配置展开

初始化配置勾选 AI语音功能 、硬件方案选择 模组自处理 、唤醒引脚输入 18 、对话模式选择 关键词唤醒词对话模式 、开启 接收ASR识别 、上下行选择 音频 初始化配置参数

图6-10 初始化配置参数

点击导入功能点调试文件(后缀为.json),在 T3-V-PRO-EVB_WIFI配网工具 目录下 导入功能点调试文件

图6-11 导入功能点调试文件

type-C接上后会有两个串口,选择 串口A ,设置波特率选择 921600 ,打开串口,点击开始调试

设备管理器显示两个串口

图6-12 设备管理器显示两个串口

配置打开串口,开始调试

图6-13 配置打开串口,开始调试

开始调试后,查看确认上位机接收到模组发出的 心跳及初始化数据

接收模块串口数据

图6-14 接收模块串口数据

提示:若上位机无数据接收,请确认供电是否正常,确认无误后,重新上电。

步骤 3:WIFI端进入配网模式

检查网络状态,若为已连上路由器且连接到云端,则可跳过此步骤3和步骤4;不为连接状态则需先点击 重置 ,再选择 Smart 配网 或 AP 配网 使模组进入配网模式(两种配网模式均可)

进入配网模式

图6-15 进入配网模式

步骤 4:下载打开智能生活 App,进行配网

进入 App,轻按右上角 “ + ” 符号 添加设备 ,自动搜索设备,搜索到设备后点击设备进入配网界面

进入配网模式

图6-16 进入配网模式

输入 Wi-Fi 密码,等待配网完成

连接WIFI进行配网

图6-17 连接WIFI进行配网

配网完成后,回到主界面,出现设备即可。 完成配网

图6-18 完成配网

7. 启英泰伦+涂鸦离在线大模型对话方案体验

用户根据第4章和第6章流程对启英泰伦+涂鸦离在线大模型对话方案语音端和WIFI端烧录、配置完成后,进行启英泰伦+涂鸦离在线大模型对话方案体验。

在第6章配网完成后,会有 已联网,可以开始对话 的提示音,使用唤醒词唤醒(默认为你好涂鸦,实际可按照用户自定义的唤醒词进行唤醒,唤醒词自定义请参阅 ☞《命令词和固件制作指南》),唤醒后即可开始对话


8. 结语与支持

至此,您已完成启英泰伦离在线大模型接入涂鸦IOT云的功能调试,后续可使用涂鸦IOT云方案开发产品,请访问 ☞涂鸦开发者平台 MCU接入