ESP32、MicroPython、天问ASR-PRO,串口发送数据并播报

一、天问ASR-PRO

        天问ASRPRO语音芯片内置脑神经网络处理器,支持DNN、TDNN、RNN等神经网络及卷积运算硬件运算,非软件运算,支持语音识别、声纹识别、语音增强、语音检测、单麦克风降噪增强、单麦克风回声消除、360度全方位拾音等功能。ASR-PRO可以图形化编程,降低开发难度,对小白友好。

        之前使用ASRPRO与ESP32进行过语音控制,这次由于一个项目需要对ESP处理过后的数据进行播报,就想到利用该模块。

二、硬件连接

        二者通过串口通信,波特率为9600。

        

ESP32ASR-PRO
GNDGND
TX(43)RX(PB_6)
RX(44)TX(PB_5)

 三、主要程序

        以下程序主要为测试代码,并非实际项目,仅供参考学习(若有错误,欢迎指正)。

3.1 ESP32

from machine import UART
import time

# 初始化串口
uart = UART(0, baudrate=9600, tx=43, rx=44)

def send_number(number):
    data = str(number) + 'F'
    uart.write(data)

while True:
    send_number(123)  # 发送数字123并以字符F结尾
    time.sleep(2)  # 每2秒发送一次

3.2 ASR-PRO

### 天问 ASRPro 语音识别模块在 STM32 上的使用 #### 连接硬件 为了使天问ASRPro语音识别模块与STM32协同工作,需先完成两者之间的物理连接。通常情况下,这涉及到串口通信接口的对接,即通过UART将两个设备相连[^1]。 #### 初始化配置 初始化阶段主要涉及设置好STM32端用于接收来自ASRPro数据流的相关参数,如波特率、停止位等。确保这些设定匹配于ASRPro出厂默认值或是自定义调整后的状态。 ```c // 配置USART外设, 假定使用USART1 void USART_Config(void){ // 设置USART1的工作模式为异步8N1(无奇偶校验), 波特率为9600bps. } ``` #### 数据交互处理 当一切准备就绪后,在程序运行期间不断监听来自ASRPro的信息输入,依据实际需求解析所获取的数据包内容。对于特定命令字节序列作出响应动作,例如触发舵机转动或发送网络请求等操作。 ```c uint8_t buffer[64]; // 接收缓冲区大小可根据实际情况调整 int main(){ while (1){ if(HAL_UART_Receive(&huart1, buffer, sizeof(buffer), HAL_MAX_DELAY) == HAL_OK){ ProcessCommand(buffer); // 对收到的内容做进一步分析执行相应指令 } } } void ProcessCommand(uint8_t *data){ switch(data[0]){ case 'A': /* 执行对应于'A'字符代表的动作 */ break; default : /* 默认行为 */ break; } } ``` 上述代码片段展示了如何基于C语言编写一段简单的逻辑框架来管理从天问ASRPro传来的消息,据此驱动其他外围组件活动。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值