Skip to content

Latest commit

 

History

History
 
 

dueros

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

DuerOS3.0 Example

This example shows how to use ADF APIs to connect DuerOS3.0

Compatibility

This example is will run on boards marked with green checkbox. Please remember to select the board in menuconfig as discussed is section Usage below.

Board Name Getting Started Chip Compatible
ESP32-LyraT alt text ESP32 alt text
ESP32-LyraTD-MSC alt text ESP32 alt text
ESP32-LyraT-Mini alt text ESP32 alt text
ESP32-Korvo-DU1906 alt text ESP32 alt text
ESP32-S2-Kaluga-1 Kit alt text ESP32-S2 alt text

Usage

Prepare the audio board:

  • Connect speakers or headphones to the board.
  • Insert a microSD card loaded with file tone/DingDing.wav into board's slot.

Configure the example:

  • Select compatible audio board in menuconfig > Audio HAL.
  • Set up the Wi-Fi connection by running menuconfig > Example Configuration and filling in WiFi SSID and WiFi Password.
  • Select your DuerOS device profile instead of ADF_PATH/components/dueros_service/duer_profile. If you don't have a DuerOS device profile, please refer to DuerOS Developer Certification Guide and apply for a DuerOS Developer Account.

Load and run the example.

Supported Features

  • Say "Hi Lexin" to trigger the DuerOS voice interaction, green LED will turn on for indicate wakeup, if the DingDing.wav exist in microSD, "Dingding" should be heard at same time.
  • Press [Rec] button to talk to DuerOS. The device will play back the DuerOS response. You can say anything you want, e.g."今天天气怎么样?" or "现在几点了?", which means "What's the weather today?" or " what time is it?".
  • The green LED indicates Wi-Fi status:
    • Green LED on if Wi-Fi connected
    • Green LED blinks normally if Wi-Fi disconnected
    • Green LED fast blinks if Wi-Fi is under setting
  • Adjust volume via [Vol-] or [Vol+]
  • Configure Wi-Fi by [Set] button

Note

  • DuerOS profile is device unique ID.
  • There is a specific configuration for DuerOS example, please refer to sdkconfig.defaults.

Known Issues

  • There is a limitation in touch driver that it takes a lot of CPU, and the impacts are either system can't be waken up by voice or system will play music with stutter. The workaround is not to use the following code at duer_service_create.
    periph_touch_cfg_t touch_cfg = {
        .touch_mask = TOUCH_PAD_SEL4 | TOUCH_PAD_SEL7 | TOUCH_PAD_SEL8 | TOUCH_PAD_SEL9,
        .tap_threshold_percent = 70,
    };
    esp_periph_handle_t touch_periph = periph_touch_init(&touch_cfg);
    esp_periph_start(touch_periph);