飞道的博客

支持自定义的离线语音模块WT516P6Core 串口协议使用说明

439人阅读  评论(0)

很多开发爱好者在应用启明云端的WT516P6Core自定义离线语音模块时,遇到最多的就是串口问题;接好线没反应,串口数据没有等等 ,这里为大家整理了一份串口协议使用说明文档供大家参考!

离线语音-支持中英文

另外一个问题就是如何自定义语音指令!目前启明云端是支持在线自定义语音指令编译,入口查看:8ms平台选择云知声为入口

启明云端的视频
1、模块串口协议说明

云之声 SDK 有官方默认的串口协议提供给用户使用,同时用户也可以在云知

声平台上自定义串口协议,从而实现与其他 MCU 之间的串口通信。两种方式的

实现都需要在云知声平台上定义好语音指令后,下载官方 SDK。

2、官方串口协议

云之声提供了一套完整的串口通信协议,用户可以通过修改 SDK 中的设置来

使用这一套串口协议,模块每响应一次语音指令,串口就会输出一次数据。但是

从云知声上下载下来的 SDK 中的固件是默认关闭串口协议功能的,所以需要修改

设置并重新编译。

2.1、使能串口协议

在 SDK 中有一个 user_config.h 的文件,在该文件中我们可以选择一些官方

的 demo,或者使能串口协议。具体路径为 unione_lite_app_hb_m\user\inc\

主要需要修改的地方有两个,一个是 USE_UNIONE_PROTOCOL,该宏定义默

认是 0,需要把它改成 1。第二个地方是 USER_RUN_DEMO,该宏定义默认是 1,

默认是运行 GPIO demo,一般不会使用到,需要把它改成 0。修改完成后重新编

译即可使配置生效。具体如图 1、图 2 所示。

2.2、串口协议解析

官方的串口协议是一套完整的协议,包括帧头、帧尾以及 CRC 校验等等,详

细的说明可以查看官方的串口协议说明文档,本文档只针对协议帧进行说明。

协议帧结构包括 8 部分。

1 、帧头 uArTcP(固定 6byte)

2 、模块串口数据发送次数 seq(1byte 递增)

3 、ctrl(1byte)

4 、cmd(2byte)

5 、整包数据校验 crc16(2byte)

6、 payload 长度 len(2byte)

7、 len 的 crc 校验 cs(2byte)

8 、离线语音指令 payload(Nbyte)

具体如图 3、图 4 所示。

3、自定义串口协议

除了使用官方的串口协议,用户也可以在云之声平台上自定义串口协议,在

定义离线语音指令的过程中,即可完成这一操作。与官方串口指令不一样的地方

是,每一条语音指令都需要主动配置串口数据,不然不会输出数据。

3.1、配置串口

在 Pin 脚设置中,把 GPIO_A6 设置为 UART_RX,GPIO_A7 设置为 UART_TX,

波特率、数据位等可以按实际需要设置。设置完成后才可以自定义串口协议。具

体如图 5 所示。

3.2、定义串口协议

在配置好离线语音指令后,选择控制详情,对需要输出数据的语音指令点击

添加控制,点击后会弹出一个窗口,控制类型选择 UART1_TX,动作选择发送,

参数填入需要输出的数据,保存后即可生效。SDK 发布成功后下载烧录,即可正

产运行。具体如图 6、图 7 所示。


更多资料详情查看地址8ms平台:


转载:https://blog.csdn.net/ami82/article/details/112175638
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场