快速设计一款语音控制的智能产品原型(MCU接入)

更新时间2020-08-06 06:17:56

概况

在智能音箱市场高速发展的带动下,智能家居中语音交互的控制方式被越来越多人接收。许多智能设备的厂家也希望能增加语音的控制功能,但智能音箱并不是每个用户的家里都有,而且各大音箱厂家对接要求也各成体系。

涂鸦提供的语音模组可以很好的解决这个问题,像普通模组一样串口对接,即可实现本地语音控制,无需音箱。

物料清单

硬件 (3)

步骤

  • 第 1 步:方案介绍

    Wi-Fi语音开发板与普通Wi-Fi开发板都遵循通用串口协议,对 MCU 开发工程师而言,在对接过程上与普通Wi-Fi模组对接一样,语音的功能主要在模组端集成,开发者无需单独多做开发。涂鸦三明治语音功能板板载两个麦克风接口一个喇叭接口,模组内置唤醒词“小智管家”。

    下面我们以5路彩灯为例,介绍语音控制的智能灯开发过程。

  • 第 2 步:软件开发-通讯板联调

    软件开发过程主要基于 Arduino 实现 MCU 与传感器和模组协议对接。首先调通 MCU 和模组的通讯,可以实现App配网,MCU 数据传输到App。

    步骤 2.1:环境搭建

    环境搭建教程:三明治开发板环境搭建

    环境搭建的教程主要讲如何在 Arduino IDE 中添加ST开发板,集成 STM32CubeProgrammer 实现编译下载功能,初学开发者需仔细阅读。

    image.png

    步骤 2.2:下载开发资料包

    创建工程,下载移植涂鸦 MCU SDK 开发包详细教程:MCU快速上手

    具体步骤教程已比较详细,这里不做赘述,不过在创建产品过程中要注意,通讯类型选择Wi-Fi,模组和固件选择时需选择语音模组对应的模组型号和固件。

    image.png

    步骤 2.3:移植调试

    移植调试详细教程:MCU SDK开发包移植调试

    移植成功配网会看到选择的产品面板,至此模组通讯部分已经调通。接下来我们需要移植5路彩灯功能板的驱动程序。

    image.png

  • 第 3 步:软件开发-功能板联调

    五路彩灯驱动下载链接:PWM_IIC_RGB_Drive.zip

    添加驱动文件到工程中,应用层参考代码如下所示。

    void setup() {
      pinMode(PC13, INPUT);     // 按键检测初始化
      mySerial.begin(9600);     // 软件串口初始化
      mySerial.println("myserial init successful!");
      Serial.begin(115200);     // PA3 RX   PA2 TX
      Serial.println("serial init successful!\r\n");
      light_data_int();
      IIC_Init();
      delay(10);
      rgb_init(0, 0, 0);
      timer_init();
      wifi_protocol_init();
      Hue_shade_start(&a);
    
    }
    
    void loop() {
      if (init_flag == 0) {
        time_cnt++;
        if (time_cnt % 5000 == 0) {
          time_cnt = 0;
          cnt ++;
        }
        wifi_stat_led(&cnt);  // 配网状态指示灯
      }
    
      wifi_uart_service();
      myserialEvent();      // 串口接收处理函数
      key_scan();           // 按键重置配网
    
    }
    
    
  • 第 4 步:配网实测

    功能板代码移植成功后,重新配网,首先测试手机控制灯光开关调色等功能均正常,证明移植无误。接下来我们就可以进行设备的语音功能测试,照明类设备支持的语音指令如下所示。

    image.png

小结

基于涂鸦平台,使用涂鸦三明治开发板,Arduino IDE 编程,快速实现一款可语音控制的五路彩灯产品原型搭建。

相关 DEMO 教程
点击获取服务和帮助