本示例主要展示大模型应用(在线) + 语音唤醒(离线) + 坐姿检测(离线)的组合使用,实现语音、视觉类AI业务在一块开发板上同一时刻运行,可作为多模态AI应用的典型示例。
本章节讲解如何上手本示例的代码编译与烧录。
本示例功能包含:
├── apps
│ ├── audio_recognition_online #综合示例工程(语音唤醒、在线语音识别、坐姿检测、播音能力及LCD显示)
│ ├── fd #人脸识别demo
│ └── lcd_csps #单词评测demo
│ └── lcd_spd #坐姿检测demo [屏显版]
│ └── resnet18 #resnet18物体分类demo
│ └── spd #坐姿检测demo [PC预览版]
├── boards
│ └── arm
│ └── csk6_duomotai_devkit #board
├── components #公用能力组件
│ ├── aiui_inter_conn #对接云端语音识别
│ ├── audioplayer #播音组件
│ ├── boot_cp #启动cp核的代码
│ ├── cjson
│ ├── csk_websocket_client
│ ├── image #资源链接工具,用于链接CP.bin 算法资源文件及文件系统
│ ├── resource #资源文件目录,cp.bin 算法资源文件 文件系统
│ ├── wifi_conn
│ └── wifi_mgr
├── docs
│ ├── CSK6011A多模态开发板.xlsx #开发板引脚互联表
│ └── MUTIMODULE_V1_16.pdf #开发板原理图
├── README.md #工程 Readme
└── west.yml #子仓库依赖
请参照《获取开发环境与SDK》进行大模型AI开发套件SDK的下载与初始化,若您之前已经操作过,可忽略本步骤。
建议您在开发前,参照《本地SDK更新》将SDK更新至最新版本。
在 duomotai_ap 目录下,分别执行以下命令,使用 lisa 对项目进行初始化:
lisa zep init-app
lisa zep update
在多模态工程目录( apps/audio_recognition_online )下的pri.conf文件中有个CONFIG_APLICATION_PACK_IMAGES配置,如果CONFIG_APLICATION_PACK_IMAGES=y
则会将cp.bin和算法的资源文件打包到 zephyr.bin 中,此时只需要烧录zephyr.bin即可运行。
如果只想编译ap.bin,只需将修改为
CONFIG_APLICATION_PACK_IMAGES=n
接着执行以下指令进行代码编译(以 Windows CMD 终端为例):
lisa zep build -b csk6_duomotai_devkit apps\audio_recognition_online -p
使用 Type-C 数据线连接开发套件的 DAP_USB接口,选中以下其中一种方式对固件进行烧录:
cskburn desktop是一款聆思推出的桌面烧录工具,在下载并安装 cskburn desktop 烧录工具后,双击
图标运行软件:
1.点击串口下拉框,选择连接开发套件后识别到的串口编号;
2.将编译输出的.bin文件拖拽进烧录区域;
3.点击开始烧录,等待烧录完成。

若您已按照 《环境搭建》 教程完成开发环境的安装,可在编译完成后执行 lisa zep exec cskburn 指令完成烧录。
lisa zep exec cskburn -s \\.\COMxx -C 6 -b 1500000 0x000000 --verify-all .\build\zephyr\zephyr.bin
请将命令行中的的 COMx 替换为开发套件在 PC 上对应的串口号(可通过设备管理器查看)。例如:
COM3。
lisa zep exec cskburn -s PORT -C 6 0x000000 --verify-all ./build/zephyr/zephyr.bin -b 1500000
请将命令行中的 PORT 替换为开发套件连接在 PC 上对应的串口号。例如:
/dev/ttyUSB0。
本示例工程通过 WIFI 接入大模型应用,因此您需要参照以下指令配置开发套件,使其接入网络。
开发套件中已保存默认WiFi设置,可将手机热点设置为名称 mywifi,密码为 12345678 的 2.4G 频段 WIFI 网络,开发套件启动后将自动连入网络。
也可以通过串口进行网络配置:
开发套件在连接DAP_USB后可以使用命令来配置网络:

打开 聆思在线串口终端,波特率设置为 115200, 选择串口并连接。
此处我们只需要使用wifi connect指令,以接入名称为mywifi,密码为 12345678 的 WIFI 网络为例,使用的联网命令为:
wifi connect mywifi 12345678
聆思在线串口终端配网参考图示:

支持的指令如下面所示:
wifi - WiFi related commands.
Subcommands:
connect :<wifi> <connect> <ssid> <pwd>
disconnect :<wifi> <disconnect>
add :<wifi> <add> <ssid> <pwd>
delete :<wifi> <delete> <ssid>
list :show storage wifi list
ssid 即 WIFI 网络名称, pwd 即 WIFI 网络的密码
注意:目前仅支持 2.4G 频段的 WIFI 网络接入,请选择 2.4G网络
注意:若您使用 iPhone 的个人热点为开发板提供网络,请启用手机配置中的【最大兼容性】
wifi connect
wifi connect ssid pwd 命令连接到相应的网络 (ssid 为 WIFI 名称,pwd 为密码)wifi connect wifitest 12345678wifi disconnect: 断开 WIFI 网络连接wifi add ssid pwd: 把 ssid 的网络存储到 flash 分区,添加后设备在自动联网时可自动接入此网络wifi delete ssid: 从flash分区中删除ssid网络wifi list: 列出flash分区存储的网络列表本示例工程中默认启用了坐姿检测功能,当摄像头识别到不良坐姿时,开发板上也将闪烁红色 LED 进行提醒,同时,我们也可通过 PC 工具查看实时拍摄的图像与坐姿检测结果。
本示例运行时,摄像头将持续拍摄图像并并送入坐姿检测算法进行处理,当检测到画面中出现不良坐姿(如趴桌、手托脸等)时,将闪烁红色 LED 进行提醒,如下图。

访问在线PC工具网页
使用 TypeC 数据线连接电脑 USB 接口与开发板的 CSK_USB 接口,若您的电脑安装过工具驱动,电脑会有连接成功的提示:

若您未安装过驱动,可进行以下操作:
点击“选择设备”按钮,选择“CSK View Finder”选项,点击“连接”,即可看到预览图和识别结果;


点击打开聆思在线串口终端 ,连接开发板的串口后可以通过以下指令对语音播报的音量进行调整:
volume get: 获取当前的音量
volume set xx: 设置播音音量为xx (音量的范围为 0~100)
例:将音量设置为40
volume set 40
AP:PA-3 波特率:115200
CP:PA-4 波特率:921600
初始化播放器,并设置播放器的回调函数:app_player_init
gcs参数获取与设置: wakeup_service_gcs_params_get wakeup_service_gcs_params_set
初始化和启动唤醒gcs服务: wakeup_service_gcs_init、wakeup_service_gcs_start
gcs回调函数处理事件: wakeup_service_gcs_stream_data_callback wakeup_service_gcs_rlt_callback
wifi_init:初始化WiFi连接: wifi_init
初始化AIUI连接aiui_conn_init
处理坐姿检测结果,并根据结果更新LED状态: sit_pos_rlt_process
| 项目 | 链接 |
|---|---|
| 本应用的配置与使用 | 可参照《功能体验》了解本应用的配置与使用方法。 |
| 烧录工具的使用 | 可参照《cskburn桌面烧录工具》了解烧录工具更多的使用方法。 |
| 新增提示音 | 可参照《新增提示音》在本示例中增加自己的提示音频。 |