跳转至

SU-21T 应用场景与项目 FAQ

本页用于整理 SU-21T 相关的应用场景与项目问题。

SU-21T检测到GPIO_02低电平后关闭语音识别无法唤醒怎么办?

问题描述:

配置SU-21T模块在检测到GPIO_02引脚为低电平时关闭语音识别功能,但出现检测到低电平后设备无法再次被唤醒的问题。

解决方案:

问题分析:

  1. 配置逻辑冲突

    • GPIO_02低电平触发关闭语音识别
    • 关闭后无法通过声音唤醒,形成死锁状态
    • 唤醒条件与关闭条件相互冲突
  2. 功能执行顺序问题

    • 关闭语音识别的执行优先级过高
    • 阻断了正常的唤醒检测机制
    • 缺少重新激活的途径

解决方法:

  1. 调整触发逻辑

    • 方案一:延时关闭

      • 设置GPIO_02低电平触发后,延时一段时间再关闭语音识别
      • 确保在延时期间能响应唤醒词
      • 延时时间:100-500ms
    • 方案二:条件互斥

      • 将关闭语音识别作为独立功能
      • 不影响唤醒检测的正常工作
      • 通过其他条件(如定时器)重新启用
  2. 配置优化建议

    推荐配置流程:
    
    1. 唤醒词:正常唤醒检测
    2. GPIO_02低电平:触发关闭语音
    3. 延时关闭:延时X毫秒后执行关闭
    4. 定时恢复:延时Y毫秒或通过其他条件恢复
    
  3. 实现步骤

    步骤1:基础配置

    - 配置唤醒词和识别功能
    - 设置GPIO_02为输入模式,默认高电平
    - 添加GPIO_02低电平触发事件
    

    步骤2:添加控制动作

    - 选择"控制详情"
    - 添加"关闭语音识别"动作
    - 设置执行条件:GPIO_02 = 低电平
    

    步骤3:添加恢复机制

    - 添加"开启语音识别"动作
    - 设置执行条件:
    
        - 选项1:定时器超时(如10秒)
        - 选项2:手动复位
        - 选项3:其他GPIO状态变化
    

    步骤4:参数设置

    - 关闭动作延时:100-500ms
    - 恢复动作延时:1000-2000ms
    - 根据实际需求调整
    

注意事项:

  • 避免在关闭语音识别期间可能触发唤醒词的操作
  • 测试时先验证基础唤醒功能是否正常
  • 确保恢复机制能可靠工作
  • 建议使用串口调试功能监控状态变化
  • 复杂配置时逐步验证每个功能

技术细节:

  1. 事件优先级

    • 唤醒检测优先级通常高于GPIO触发
    • 需要考虑事件的时序关系
    • 避免功能间相互干扰
  2. 状态管理

    • 使用标志位记录当前语音识别状态
    • 确保状态转换的原子性
    • 提供状态查询接口(如串口输出)
  3. 错误处理

    • 添加异常检测和恢复机制
    • 确保任何情况下都能恢复正常工作
    • 记录错误日志便于调试