当前位置:网站首页>Anxinco esp32-a1s development board is adapted to Baidu dueros routine to realize online voice function

Anxinco esp32-a1s development board is adapted to Baidu dueros routine to realize online voice function

2022-07-07 23:32:00 Little river god is tangled


Preface

        in the light of ESP32-A1S Development board , I wrote about how to realize offline voice control LED Blog post of Deng , But the audio codec chip in the module used in the previous blog post is AC101, We need to write our own driver . In order to fit Le Xinde SDK, The codec chip in the module has also been replaced ES8388, Lexin has written the driver , As long as we don't need to rewrite the codec program for secondary development . It also makes our transplantation easier .
       DuerOS It is Baidu Duer business department in 2017 year 1 month CES The interactive AI operating system launched by the exhibition , It gives hardware devices the ability to communicate with people , The new interactive way of voice dialogue is really integrated into people's lives .
        This article will pass on Lexin ESP-ADF-SDK Medium dueros Routine for transplantation , In Anxin Ke SEP32-A1S-Audio-Kit Realize online voice dialog function on the development board , This article is very long , But no gossip .


One 、 preparation

1. Hardware preparation

        There is no doubt that the hardware is anxinko ESP32-A1S-Audio-Kit_V2.2 Development board , With memory card , It's best to connect a loudspeaker , There is no speaker to connect 3.5mm Earphones with audio ports also become .

        unfortunately : At present, this development board has been removed from the flagship store of Anxin keyibao , however ESP-A1S The module is still there , painting PCB Students can draw a small board of their own , The schematic diagram of the development board above is also provided to you , see The end of this article connects

 Insert picture description here

2. Software preparation

        This secondary development is in Linux In the environment , The software is Lexin esp-adf engineering , In a folder you like clone Project source code , This cloning takes a long time , Please be patient :

git clone --recursive https://github.com/espressif/esp-adf.git
// If you feel slow , You can also use the blogger's warehouse 
git clone https://gitee.com/seahi007/esp-adf.git

ESP-ADF Please refer to :espressif esp-adf Audio development framework
Finally, don't forget to pull the sub module :

cd esp-adf
git submodule  update --init --recursive

        In the process of waiting , You can register a baidu account or do developer verification . After the account is registered, it is verified by the developer ( Verification time 1~2 God ).DuerOS Open platform connectivity :https://dueros.baidu.com/open,
 Insert picture description here
After passing the verification , Enter this connection : Xiaodu intelligent open platform :https://dueros.baidu.com/didp/main/index, Never click directly Console go in , Otherwise, you will never find this interface , You can't get profile file .

 Insert picture description here
The details of the profile Please refer to :http://www.dianzixuexi.com/HTML/zixun/64787.html


Two 、 verification ESP-ADF If there is something wrong

1. Simple code modification

       ESP-ADF Inside examples All need development boards , Because of its I2C,I2S And other interfaces are only adapted to the development board produced by Lexin . If we want to use our own board , You need to change the code , Make I2C and I2S The interface matches our board ,ESP32-A1S The development board interface of is as follows :
 Insert picture description here
modify board_pins_config.c, route :esp-adf/components/audio_board/lyrat_v4_3

cd /home/saehi/Desktop/ESP/ESP32-A1S/esp-adf_test/esp-adf/components/audio_board/lyrat_v4_3
vi board_pins_config.c

 Insert picture description here

2. Play MP3 test

        Play MP3 This routine is not microSD( Memory card ) Of , You can directly compile, download and play .
To configure Audio HAL—>ESP32-Lyrat V4.3

idf.py menuconfig

 Insert picture description here
When the configuration is complete , Ready to compile —> download —> verification :

idf.py build flash montior

 Insert picture description here
Now , You should be able to hear a very magical sound , It is proved in ESP-ADF Ready , You can start to do online voice function .

3、 ... and 、dueros Routine adaptation

        The adaptation process is a little complicated , Please read... Carefully :

1. Replace the connection file

       dueros The connection of requires profile file , It contains client_id、client_secret Wait for verification information .
 Insert picture description here
A top priority We need to take profile.zip Rename any file in to :duer_profile, Then replace duer_profile:esp-adf_test/esp-adf/components/dueros_service/duer_profile.

2. Memory card preparation

        Prepare a memory card , It's better to have an empty memory card , And then put DingDing.wav Copy the file to the memory card root directory ,DingDing.wav The file path is :esp-adf_test/esp-adf/examples/dueros/tone. After that, insert the memory card into the card slot of the development board .

3. Code changes

        Code modification is mainly in dueros Routine main In the document dueros_app.c

(1) Shield touch keys

        Anxinco ESP32-A1S There is no touch button in the development board , So we need to shield , Moreover, the circular query by touching the keys takes up a lot of CPU Resources for , It can lead to I2C And ES8388 Your communication is blocked ,dueros_app.c Of 294 Row to 342 All lines are shielded
 Insert picture description here

(2) Modify the wake-up tone

        The file name of the wake-up tone in the source code is wrong , Without modification , The prompt sound cannot be played , Although it does not affect the use of , But reduce the experience .
Locate the :94 That's ok :
 Insert picture description here

4. modify lyrat_v4_3 Medium board.c Code

        open board.c:

vi esp-adf_test/esp-adf/components/audio_board/lyrat_v4_3/board.c

Locate the 93 That's ok , hold 93 Row to 99 The content of the line is blocked , as follows :
 Insert picture description here

5. Screenshot of successful connection

 Insert picture description here
After successful connection , You can speak into the microphone of the development board "Hi, Lexin ",” What's the weather like today? “, Under normal circumstances, weather conditions can be broadcast .

Four 、 common problem

1. Function undeclared error

Screenshot of the problem :
 Insert picture description here
reason : dueros_esp_flash.c Not added to the project ;
Modification method : In path :"esp-adf_test/esp-adf/components/dueros_service/ " Open in CMakeLists.txt, Modify the following to compile :
 Insert picture description here

2. Serial port monitoring has wake-up prompt but no prompt tone

reason 1: There is no... In the memory card DingDing.wav Music files ;
terms of settlement : hold esp-adf_test/esp-adf/examples/dueros/tone/DingDing.wav Copy the file to the memory card .
reason 2: The playback file has not been modified :
terms of settlement :
 Insert picture description here
If the above methods are not solved , Please run play first MP3 Routine for , See if it's normal .

3.I2C Bus WriteReg Error

Screenshot of the problem :
 Insert picture description here
reason : No shielding TOUCH Initialization code , Lead to TOUCH Initialization error .
terms of settlement : See : 4. modify lyrat_v4_3 Medium board.c Code

5、 ... and 、 Related connection

Schematic diagram of development board :ESP32-A1S-Audui-Kit-V2.0 Schematic diagram ;
Module purchase connection : Anxinco ESP32-A1S A treasure purchase connection ;
Welcome to anxinco's official blog : Welcome to anxinco Technology ;
Source code address :https://github.com/SeaHi-Mo/esp-adf

原网站

版权声明
本文为[Little river god is tangled]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202130559025473.html