本应用示例将在近期下线,建议基于功能更加全面的 大模型语音交互与识图 示例进行体验与开发。
本示例主要展示大模型应用(在线) + 语音唤醒(离线) + 坐姿检测(离线)
的组合使用,实现语音、视觉类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
聆思在线串口终端配网参考图示:
注意:目前仅支持 2.4G 频段的 WIFI 网络接入,请选择 2.4G网络
注意:使用 iPhone 的个人热点
为开发板提供网络时,请启用手机配置中的【最大兼容性】
注意:部分路由器网络存在安全策略限制、不稳定等因素,出现联网故障时建议改用 2.4G 频段的手机热点进行尝试
连接成功后,我们可进入其他功能的体验。
本示例工程中默认启用了坐姿检测功能,当摄像头识别到不良坐姿时,开发板上也将闪烁红色 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桌面烧录工具》了解烧录工具更多的使用方法。 |
新增提示音 | 可参照《新增提示音》在本示例中增加自己的提示音频。 |