1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/baidu-du1906_esp

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

1. Пример использования платы ESP32-Korvo-DU1906

Этот пример демонстрирует использование платы ESP32-Korvo-DU1906 с платформой DuHome AIOT Voice Platform (度家-AIOT语音平台). Плата поддерживает следующие функции:

  • ASR, TTS и NLP
  • Bluetooth аудио
  • BLE Wi-Fi настройка
  • OTA
  • Mesh и инфракрасный контроллер

Плата вместе с платформой предоставляют простой способ разработки умной колонки или устройства AIOT.

2. Как использовать пример

2.1 Требуемое оборудование

  • Плата DU1906
  • Микро-USB кабель x 2, один для питания, другой для последовательной загрузки или отладки
  • Адаптер питания не менее 5В 2А
  • Динамик (2.0мм, 4Ω 3В или 4Ω 5В)

Вы можете приобрести эту плату на Taobao.ESP32-Korvo-DU1906

**Примечание**: Этот пример поддерживает только версию платы с флеш-памятью 16М! Если ваша плата имеет флеш-память 8М, пожалуйста, свяжитесь с нами за помощью.

Этот софт предназначен для серии плат, оборудованных DU1906 DSP, таких как:

  • CUPID board
  • ESP32-Korvo-DU1906 board
  • ESP32-DU1906 mini board.

Вы можете легко настроить информацию о плате следующим образом:

make menuconfig
# Перейти к:
# Подсказка: ESP32_KORVO_DU1906 
#  │   Расположение: 
#  │     -> Пользовательская аудиоплата 

# Будет перечислено все поддерживаемые платы, вы можете выбрать свою плату сейчас.

Этот туториал использует ESP32-Korvo-DU1906 board в качестве примера.

2.2 Стандартная настройка инструментария для Linux### 2.2.1 Установка необходимых пакетов

Чтобы скомпилировать с ESP-IDF вам нужно установить следующие пакеты:

  • CentOS 7:
sudo yum install git wget make ncurses-devel flex bison gperf python pyserial
  • Ubuntu и Debian:
sudo apt-get install git wget make libncurses-dev flex bison gperf python python-serial
  • Arch:
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial

2.2.2 Настройка инструментария

Инструментарий ESP32 для Linux доступен для загрузки с сайта Espressif:

  1. Загрузите этот файл, затем извлеките его в директорию ~/esp:
mkdir -p ~/esp
cd ~/esp
tar -xzf ~/Downloads/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz
  1. Инструментарий будет извлечен в директорию ~/esp/xtensa-esp32-elf/.

Чтобы использовать его, вам нужно будет обновить переменную окружения PATH в файле ~/.profile. Чтобы сделать xtensa-esp32-elf доступным для всех сессий терминала, добавьте следующую строку в ваш файл ~/.profile:

export PATH="$PATH:$HOME/esp/xtensa-esp32-elf/bin"

В качестве альтернативы вы можете создать псевдоним для указанной команды. Таким образом, вы сможете получить доступ к инструментарию только тогда, когда это необходимо. Для этого добавьте другую строку в ваш файл ~/.profile:

alias get_esp32='export PATH="$PATH:$HOME/esp/xtensa-esp32-elf/bin"'

Тогда, когда вам понадобится инструментарий, вы можете ввести get_esp32 в командной строке, и инструментарий будет добавлен в ваш PATH.Примечание: Если у вас /bin/bash установлен как входная оболочка, и существуют как .bash_profile, так и .profile, то обновите .bash_profile вместо этого.

  1. Выходите и снова входите, чтобы сделать изменения в файле .profile действительными. Выполните следующую команду, чтобы проверить, правильно ли настроена переменная PATH:
printenv PATH

Вы ищете похожий результат, содержащий путь к инструментарию в конце отображаемой строки:

$ printenv PATH
/home/user-name/bin:/home/user-name/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/user-name/esp/xtensa-esp32-elf/bin

Вместо /home/user-name должен быть указан путь к домашней директории, соответствующий вашей установке.

2.2.2.1 Проблемы с разрешениями /dev/ttyUSB0

С некоторыми дистрибутивами Linux вы можете получить сообщение об ошибке Не удалось открыть порт /dev/ttyUSB0 при прошивке ESP32. Это можно исправить, добавив текущего пользователя в группу dialout.

2.2.2.2 Пользователи Arch Linux

Чтобы запустить предварительно скомпилированный gdb (xtensa-esp32-elf-gdb) в Arch Linux, требуется ncurses 5, но Arch использует ncurses 6.

Компилируемые в обратную совместимость библиотеки доступны в AUR для native и lib32 конфигураций:- https://aur.archlinux.org/packages/ncurses5-compat-libs/

  • https://aur.archlinux.org/packages/lib32-ncurses5-compat-libs/ Перед установкой этих пакетов вам может потребоваться добавить публичный ключ автора в ваш ключридж, как описано в разделе "Comments" на указанных выше ссылках. Вместо этого можно использовать crosstool-NG для компиляции gdb, который будет ссылаться на ncurses 6.## 2.3 Настройка программной среды

После выполнения указанных выше шагов вы можете использовать инструментарий:

# проверьте, что инструментарий работает
xtensa-esp32-elf-gcc -v
# установите необходимые переменные окружения
export ADF_PATH=/путь/к/dul1906_firmware/dul1906/esp-adf
export IDF_PATH=/путь/к/dul1906_firmware/dul1906/esp-adf/esp-idf

Этот пример разработан на основе ADF и IDF, которые включены в этот пакет. Поэтому вам не нужно самостоятельно загружать их.

2.4 Аутентификационный код

Пожалуйста, обратитесь к руководству по быстрому началу работы с ду-жом AIOT и получите код завода (fc), ключ продукта (pk), ключ доступа (ak) и секретный ключ (sk), которые затем следует сохранить в файле profiles/profile.bin.

2.5 Запуск примера

Не требуется компилировать проект, достаточно использовать прошивку из этого примера.

Адреса загрузки прошивки указаны в таблице ниже.

Адрес флэш-памяти Путь к файлу bin
0x1000 bootloader.bin
0x8000 partitions.bin
0xD000 ota_data_initial.bin
0x10000 korvo_du1906.bin
0x570000 DU1906_slave_v1.5.5.D.bin
0xB10000 profile.bin
0xB55000 audio_tone.bin
0xB51000 nvs_blank.bin

2.5.1 Загрузка прошивки

2.5.1.1 Операционная система LinuxЗапустите следующую команду:

Примечание: замените /dev/ttyUSB0 на ваше реальное имя последовательного порта, например, в MacOS это будет /dev/cu.SLAB_USBtoUART

python $IDF_PATH/components/esptool_py/esptool/esptool.py --chip esp32 \
--port /dev/ttyUSB0 --baud 921600 \
--before default_reset \
--after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect \
0x1000      ./firmware/pre_build/bootloader.bin \
0x8000      ./firmware/pre_build/partitions.bin \
0xd000      ./firmware/pre_build/ota_data_initial.bin \
0x10000     ./firmware/pre_build/korvo_du1906.bin \
0x610000    ./firmware/DU1906_slave_v1.5.5.D.bin \
0xb55000    ./firmware/pre_build/audio_tone.bin \
0xb10000    ./profiles/profile.bin \
0xb51000    ./firmware/pre_build/nvs_blank.bin

2.5.1.2 Операционная система Windows- шаг 1: Загрузите инструмент для загрузки прошивки и распакуйте архив, затем запустите исполняемый файл с расширением ".exe".

  • шаг 2: Выберите режим загрузки (Режим разработчика) Выбор режима инструмента

  • шаг 3: Выберите микросхему (ESP32)

    Выбор микросхемы
  • шаг 4: Откройте директорию прошивки и заполните адрес в соответствии с вышеуказанной таблицей адресов прошивки.

    Загрузка инструмента
  • шаг 5: Нажмите кнопку START на графическом интерфейсе для загрузки прошивки.

После загрузки прошивки нажмите кнопку [RST], и на последующем этапе будут отображены логи в последовательном порту.

2.5.2 Настройка сети

  • шаг 1: Скачайте и установите приложение Blufi на мобильный телефон, приложение для Android, приложение для iOS

  • шаг 2: Включите Bluetooth и откройте приложение Blufi на мобильном телефоне, проведите поиск устройства.

  • шаг 3: Нажмите кнопку [FUNC] на устройстве в течение 4 секунд, устройство перейдет в режим настройки Wi-Fi и воспроизведет звуковое сообщение "请点击确认开始配网".

  • шаг 4: Обновите список поиска, в нем появится устройство с названием "BLUFI_DEVICE", нажмите на него и выберите [连接] на телефоне. Подключение Blufi

  • шаг 5: После подключения к устройству, нажмите [Настройка сети], введите ssid и пароль Wi-Fi для подключения.

  • шаг 6: Нажмите [Подтвердить], устройство получит информацию о Wi-Fi и подключится к сети. Если подключение к Wi-Fi прошло успешно, приложение получит строку "hello world", а устройство воспроизведет звуковое сообщение "Сеть подключена успешно".

    Настройка Blufi

Примечание: Если настройка не удалась, проверьте вышеуказанный процесс и попробуйте снова. Будьте внимательны и терпеливы!

2.5.3 Опыт использования функций

Примечание: Пожалуйста, убедитесь, что на плате вставлен хотя бы один динамик.

2.5.3.1 Голосовое взаимодействие

После настройки информации Wi-Fi и подключения к сети, вы можете начать разговор с голосовым словом активации "xiaodu xiaodu", например, следующие поддерживаемые команды:

  • "xiaodu xiaodu" "вот я" "расскажи анекдот"
  • "xiaodu xiaodu" "вот я" "какая погода в Шанхае?"
  • "xiaodu xiaodu" "вот я" "воспроизведи песню"
  • "xiaodu xiaodu" "вот я" "бaidu байко лексин инфо тэкнолоджи"Если вам нужны дополнительные инструкции, вы можете определить их в фоновом режиме Baidu.

2.5.3.2 Bluetooth музыка

Нажмите кнопку [MUTE] на 3-5 секунд, чтобы войти в режим Bluetooth, откройте Bluetooth на вашем телефоне и подключитесь к устройству с названием "ESP_BT_COEX_DEV", после чего вы сможете воспроизводить музыку по Bluetooth на устройстве.#### 2.5.3.3 Использование кнопок

Название кнопки Кратковременное нажатие Долгое нажатие
VOL + Увеличение громкости Н/Д
VOL - Уменьшение громкости Н/Д
MUTE Вход в режим глушения Вход/Выход в режим Bluetooth
FUNC Н/Д Настройка Wi-Fi

2.6 Сборка и загрузка

После опыта пришло время собрать пример! Вы также можете добавить некоторые функции самостоятельно и затем собрать проект.

2.6.1 Сборка

Вы можете использовать GNU make для сборки проекта:

cd /path/to/dul1906_firmware/dul1906/
make clean
make menuconfig
make -j4 all

2.6.2 Загрузка

Загрузите приложение с помощью make

make flash monitor

Кроме того, ESP32-Korvo-DU1906 имеет три дополнительных файла bin: ./firmware/DU1906_slave_v1.5.5.D.bin, ./profiles/profile.bin и ./tone/audio_tone.bin. Если вы хотите очистить все пользовательские данные, загрузите также nvs_blank.bin.

python $ADF_PATH/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32 \
--port PORT --baud 921600 \
--before default_reset \
--after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect \
0x610000 ./firmware/DU1906_slave_v1.5.5.D.bin \
0xb10000 ./profiles/profile.bin \
0xb55000 ./tone/audio_tone.bin

Адреса загрузки прошивки указаны в таблице выше в разделе jumpstart.

2.6.3 Использование

Пожалуйста, обратитесь к разделу jumpstart.

2.6.4 OTA

Поддерживается обновление приложения, файлов тона и DSP bin. Эти bin-файлы могут быть сохранены на HTTP-сервере, например, "https://github.com/espressif/esp-adf/raw/master/examples/korvo_du1906/firmware/app.bin". Проверка версий bin-файлов производится после каждого запуска. Дополнительная информация об OTA доступна в компоненте bdsc_ota.### 2.6.5 Генерация аудио bin вы получите файл audio_tone.bin, используя следующую команду:

    python  $ADF_PATH/tools/audio_tone/mk_audio_tone.py -r tone/ -f components/audio_flash_tone 
```## 2.7 Пример вывода

После загрузки должны быть выведены следующие журналы.
```c
I (35) загрузка: время компиляции 15:56:22
I (35) загрузка: Включение раннего источника энтропии для RNG...
I (35) режим_qio: Включение по умолчанию режима чтения/записи для flash-чипа QIO
I (36) загрузка: Скорость SPI: 80MHz
I (37) загрузка: Режим SPI: QIO
I (37) загрузка: Размер flash-памяти: 8MB
I (38) загрузка: Таблица разделов:
I (38) загрузка: ## Название            Использование          Тип ST Смещение   Длина
I (39) загрузка:  0 nvs              Данные Wi-Fi            01 02 00009000 00004000
I (40) загрузка:  1 otadata          Данные OTA              01 00 0000d000 00002000
I (41) загрузка:  2 phy_init         Данные RF               01 01 0000f000 00001000
I (42) загрузка:  3 ota_0            Приложение OTA          00 10 00010000 00280000
I (43) загрузка:  4 ota_1            Приложение OTA          00 11 00290000 00280000
I (44) загрузка:  5 dsp_bin          Неизвестные данные      01 24 00542000 00280000
I (45) загрузка:  6 profile          Неизвестные данные      01 29 007c2000 00001000
I (46) загрузка:  7 flash_tone       Неизвестные данные      01 27 007c3000 00020000
I (47) загрузка: Конец таблицы разделов
I (47) загрузка: Нет образа завода, пробую OTA 0
I (48) esp_image: сегмент 0: paddr=0x00010020 vaddr=0x3f400020 size=0x9a5f8 (632312) map
I (208) esp_image: сегмент 1: paddr=0x000aa620 vaddr=0x3ffbdb60 size=0x04bc8 ( 19400) load
I (214) esp_image: сегмент 2: paddr=0x000af1f0 vaddr=0x40080000 size=0x00400 (  1024) load
0x40080000: _WindowOverflow4 в /Users/maojianxin/duros/esp-adf-internal-dev/esp-idf/components/freertos/xtensa_vectors.S:1779
```I (214) esp_image: сегмент 3: paddr=0x000af5f8 vaddr=0x40080400 размер=0x00a18 (  2584) загрузка
I (216) esp_image: сегмент 4: paddr=0x000b0018 vaddr=0x400d0018 размер=0x171888 (1513608) отображение
0x400d0018: _stext в ??:?I (597) esp_image: сегмент 5: paddr=0x002218a8 vaddr=0x40080e18 размер=0x1a27c (107132) загрузка
I (646) boot: Загрузка приложения из раздела с смещением 0x10000
I (662) boot: Установка фактического ota_seq=1 в otadata[0]
I (662) boot: Отключение раннего источника энтропии для RNG...
I (662) psram: Это чип ESP32-D0WD
I (663) spiram: Найдено устройство SPI RAM на 64 Мбит
I (663) spiram: Режим SPI RAM: флэш 80Мб срам 80Мб
I (664) spiram: PSRAM инициализирована, кэш находится в режиме низкого/высокого (2-ядра).
I (665) cpu_start: Процессор Pro cpu запущен.
I (665) cpu_start: Информация о приложении:
I (666) cpu_start: Время компиляции:     18 июня 2020 года 15:56:19
I (666) cpu_start: SHA256 файла ELF:  3a84593410f44598...
I (667) cpu_start: ESP-IDF:          v3.3.2-108-gbd1b1ff20-dirty
I (668) cpu_start: Запуск процессора app, точка входа 0x400814d0
0x400814d0: call_start_cpu1 в /Users/maojianxin/duros/esp-adf-internal-dev/esp-idf/components/esp32/cpu_start.c:268I (0) cpu_start: Процессор app запущен.
I (1148) spiram: Проверка памяти SPI SRAM выполнена успешно.
I (1150) heap_init: Инициализация. Доступная RAM для динамического выделения:
I (1151) heap_init: От 3FFAFF10 длиной 000000F0 (0 KiB): DRAM
I (1151) heap_init: От 3FFB6388 длиной 00001C78 (7 KiB): DRAM
I (1151) heap_init: От 3FFB9A20 длиной 00004108 (16 KiB): DRAM
I (1152) heap_init: От 3FFBDB5C длиной 00000004 (0 KiB): DRAM
I (1153) heap_init: От 3FFC5268 длиной 0001AD98 (107 KiB): DRAM
I (1154) heap_init: От 3FFE0440 длиной 00003AE0 (14 KiB): D/IRAM
I (1155) heap_init: От 3FFE4350 длиной 0001BCB0 (111 KiB): D/IRAM
I (1155) heap_init: От 4009B094 длиной 00004F6C (19 KiB): IRAM
I (1156) cpu_start: Запуск пользовательского кода на процессоре Pro.
I (1157) spiram: Добавление пула 4057K внешней памяти SPI к менеджеру памяти.
I (48) esp_core_dump_common: Инициализация дампа ядра в UART.
E (53) esp_core_dump_common: Не найден раздел для дампа ядра!
I (53) cpu_start: Запуск планировщика на процессоре PRO.
I (0) cpu_start: Запуск планировщика на процессоре APP.
I (54) spiram: Выделение пула 18K внутренней памяти для DMA/внутренних выделений.
I (77) AUDIO_THREAD: Задача esp_periph выделяет стек на внешней памяти.
I (77) SDCARD: Попытка монтирования с базовым путем=/sdcard.
I (148) SDCARD: CID имя SC16G!
I (588) wifi: Задача драйвера Wi-Fi: 3ffcf7b4, приоритет: 23, стек: 3584, ядро: 0.
I (588) system_api: Базовый MAC-адрес не установлен, чтение по умолчанию базового MAC-адреса из блока BLK0 EFUSE.
I (588) system_api: Базовый MAC-адрес не установлен, чтение по умолчанию базового MAC-адреса из блока BLK0 EFUSE.
I (604) wifi: Версия firmware Wi-Fi: 5f8804c.
I (605) wifi: Настройка NVS flash: включена.
I (605) wifi: Настройка nano форматирования: отключена.I (605) wifi:Инициализация числа динамических буферов передачи: 32
I (605) wifi:Инициализация числа динамических буферов приема данных: 512
I (606) wifi:Инициализация числа динамических буферов приема управления: 512
I (606) wifi:Инициализация числа коротких динамических буферов приема управления: 32
I (607) wifi:Инициализация числа статических буферов передачи: 8
I (608) wifi:Инициализация размера статических буферов приема: 1600
I (608) wifi:Инициализация числа статических буферов приема: 16
I (608) wifi:Инициализация числа динамических буферов приема: 512
I (784) phy: Версия phy: 4180, cb3948e, 12 Сентября 2019, 16:39:13, 0, 0
I (785) wifi:Режим: стационарный (fc:f5:c4:37:c1:10)
I (1587) DU1910_APP: Модуль ESP_BLUFI для настройки Wi-Fi выбран
I (1587) BLUFI_CONFIG: Установка пользовательских данных blufi: hello world, длина: 12
I (1591) WIFI_SERV: Подключение к Wi-Fi ssid: steven, пароль: esp123456
I (1729) wifi:новый: <6,2>, старый: <1,0>, ap: <255,255>, sta: <6,2>, профиль: 1
I (1730) wifi:состояние: init -> auth (b0)
I (1738) wifi:состояние: auth -> assoc (0)
I (1748) wifi:состояние: assoc -> run (10)
I (1775) wifi:соединение с steven, aid = 2, канал 6, 40D, bssid = b0:95:8e:17:94:a5
I (1775) wifi:тип безопасности: 4, физика: bgn, rssi: -32
I (1839) wifi:pm start, тип: 1
I (1839) wifi:Интервал пульса AP = 102400 мс, DTIM период = 1
I (2583) event:IP станции: 192.168.1.108, маска: 255.255.255.0, шлюз: 192.168.1.1
I (2584) WIFI_SERV:Получено IP: 192.168.1.108
W (2584) WIFI_SERV:Тип состояния: 2, pdata: 0x0, длина: 0
I (2604) DU1910_APP: PERIPH_WIFI_CONNECTED [64]
I (2605) SNTP_INIT: ------------Инициализация SNTP
I (2606) APP_OTA_UPGRADE: Создание OTA-сервиса
I (2606) APP_OTA_UPGRADE: Запуск OTA-сервисаI (2606) OTA_DEFAULT: URI обновления данных file://sdcard/flash_tone.bin  
I (4381) FATFS_STREAM: Размер файла 0 байт, позиция: 0  
E (4381) FATFS_STREAM: Не удалось открыть файл /sdcard/flash_tone.bin  
E (4382) AUDIO_ELEMENT: [file] AEL_STATUS_ERROR_OPEN, -1  
E (4382) OTA_DEFAULT: Не удалось инициализировать поток чтения  
E (4383) OTA_SERVICE: Не удалось выполнить процесс OTA-сервиса  
E (4384) APP_OTA_UPGRADE: Список ID: 0, OTA не удалась  
I (4384) OTA_DEFAULT: URI обновления данных file://sdcard/profile.bin  
I (4386) FATFS_STREAM: Размер файла 112 байт, позиция: 0  
I (4387) APP_OTA_UPGRADE: Найден файл OTA на SD-карте, URI: /sdcard/profile.bin  
I (4435) OTA_DEFAULT: write_offset 0, r_size 112  
W (4436) FATFS_STREAM: Больше данных нет, ret: 0  
I (4436) OTA_DEFAULT: Успешное обновление профиля раздела  
W (4436) AUDIO_ELEMENT: [file] Элемент не создан при AUDIO_ELEMENT_TERMINATE  
I (4438) APP_OTA_UPGRADE: Список ID: 1, OTA удалась  
E (4438) esp_https_ota: Серверный сертификат не найден в конфигурации esp_http_client  
E (4439) OTA_DEFAULT: Начало ESP HTTPS OTA не удалась  
E (4440) OTA_SERVICE: Не удалось выполнить процесс OTA-сервиса  
E (4440) APP_OTA_UPGRADE: Список ID: 2, OTA не удалась  
W (4441) OTA_SERVICE: OTA завершена!  
W (4442) APP_OTA_UPGRADE: Обновление завершено, пожалуйста, проверьте результат OTA  
I (4443) AUDIO_THREAD: Задача input_key_service выделила стек на внешней памяти  
I (4444) TAS5805M: Включение CODEC с GPIO 12  
I (4444) gpio: GPIO[12]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 1| Pulldown: 1| Intr:0  
I (4451) AUDIO_THREAD: Задача button_task выделила стек на внешней памяти  
I (5410) TAS5805M: tas5805m_transmit_registers: запись 1677 регистра завершена  
W (5411) TAS5805M: громкость = 0x44  
W (5411) I2C_BUS: i2c_bus_create:57: I2C шина уже создана, [порт:0]W (5415) I2C_BUS: i2c_bus_create:57: I2C шина уже создана, [порт:0]  
I (5418) AUDIO_HAL: Режим CODEC = 3, Ctrl:1  
I (5418) APP_BT_INIT: Инициализация модуля Bluetooth  
I (5418) BTDM_INIT: Версия компиляции контроллера Bluetooth [3cd70f2]  
I (5419) system_api: Основной MAC-адрес не установлен, чтение по умолчанию из блока BLK0 EFUSEI (5758) BLE_GATTS: инициализация модуля ble gatts  
I (5758) APP_BT_INIT: Запуск периферий Bluetooth  
I (5759) AUDIO_THREAD: Задача media_task выделила стек в внешней памяти  
I (5759) ESP_AUDIO_TASK: media_ctrl_task выполняется. . . , 0x3f81d098----------------------------- ESP Audio Platform -----------------------------
|                                                                            |
|                               ESP_AUDIO-v1. 6. 2                             |
|                     Дата компиляции: Июн 16 2020-21:20:16                     |
 ------------------------------------------------------------------------------
I (5764) BLE_GATTS: создание атрибутной таблицы завершено успешно, количество хэндлов = 8  
I (5765) BT_HELPER: ap_helper_a2dp_handle_set, 42, 0x0x3f81f114, 0x3ffc4940  
I (5767) MP3_DECODER: Инициализация MP3  
I (5768) ESP_DECODER: esp_decoder_init, размер стека 5120  
I (5770) I2S: Информация о выделении памяти для DMA, datalen=blocksize=1200, dma_buf_count=3  
I (5770) BLE_GATTS: SERVICE_START_EVT, статус 0, service_handle 40  
I (5772) I2S: APLL: Требуемая частота: 48000, фактическая частота: 47999. 961, BITS: 16, CLKM: 1, BCK_M: 8, MCLK: 12287990. 000, SCLK: 1535998. 750000, diva: 1, divb: 0  
I (5775) TAS5805M: громкость = 0x4a  
I (5775) APP_PLAYER_INIT: Функция: setup_app_esp_audio_instance, Строка: 157, MEM Общее: 4163856 байт, Интер: 131768 байт, Драм: 111472 байт  
I (5776) ИНИЦИАЛИЗАЦИЯ_ИГРОКА: экземпляр esp_audio:0x3f81d098  
I (5777) АУДИО_ПОТОК: задача audio_manager_task выделила стек на внешней памятиI (5778) ПОМОЩНИК_СД: инициализация default_sdcard_player
I (5778) ПОМОЩНИК_СД: инициализация default_sdcard_player создание плейлиста
I (5779) ПОМОЩНИК_НЕОБРАБОТАННЫХ_ДАННЫХ: инициализация default_raw_player :106, que:0x3ffe50d0
W (5781) TAS5805M: громкость = 0x58
I (5781) BDSC_ДВИГАТЕЛЬ: версия приложения fdc453bfdba43e38fa5b7728e72442aa2e5e2103
I (5782) ИНИЦИАЛИЗАЦИЯ_SNTП: ------------Инициализация SNTП
I (5787) ПРОФИЛЬ: 56: тип[0x1]
I (5788) ПРОФИЛЬ: 57: подтип[0x29]
I (5788) ПРОФИЛЬ: 58: адрес:0x7c2000
I (5788) ПРОФИЛЬ: 59: размер:0x1000
I (5788) ПРОФИЛЬ: 60: метка:профиль
I (5799) ПРОФИЛЬ: fc            = ваш_fc
I (5799) ПРОФИЛЬ: pk            = ваш_pk
I (5799) ПРОФИЛЬ: ak            = ваш_ak
I (5799) ПРОФИЛЬ: sk            = ваш_sk
I (5800) ПРОФИЛЬ: cuid          = ваш_cuid
I (5801) ПРОФИЛЬ: mqtt_broker   =
I (5801) ПРОФИЛЬ: mqtt_username =
I (5802) ПРОФИЛЬ: mqtt_password =
I (5802) ПРОФИЛЬ: mqtt_cid      =
==> сгенерировать_автентификацию_pam
текущее время: 1592467274
==> сгенерировать_автентификацию_sig_needfree
sig: 9c8288d0e2cf59cde94ce384a211e99a
pam_string: {"fc":"ваш_fc","pk":"ваш_pk","ak":"ваш_ak","time_stamp":26541121,"signature":"9c8288d0e2cf59cde94ce384a211e99a"}
I (5806) ЗАДАЧА_АВТОРИЗАЦИИ: тестовый запрос: POST /v1/manage/mqtt HTTP/1. 0
Host: smarthome. baidubce. com
User-Agent: esp32
Content-Type: application/json
Content-Length: 130{"fc":"ваш_fc","pk":"ваш_pk","ak":"ваш_ak","time_stamp":26541121,"signature":"9c8288d0e2cf59cde94ce384a211e99a"}
I (6695) HTTP_TASK: Подключение установлено. . .
I (6696) HTTP_TASK: 266 байт записано
I (6697) HTTP_TASK: Чтение HTTP-ответа. . .
I (6948) HTTP_TASK: 196 байт прочитано
HTTP/1. 0 200 OK
Cache-Control: no-cache
Content-Type: application/json;charset=UTF-8
Date: Thu, 18 Jun 2020 08:01:15 GMT
Server: BWS
X-Bce-Request-Id: 50cbd47c-6f13-44dc-a2cb-a83ceb4bbb2aI (6950) HTTP_TASK: 193 байта прочитано
 {"broker":"azsgqzj.iot.gz.baidubce.com","user":"thingidp@azsgqzj|cabcaad9358dd1623427701be534f578|0|MD5","pass":"d57ce60bed6a3243fc12c0cd7dc30906","clientID":"cabcaad9358dd1623427701be534f578"}I (6952) HTTP_TASK: соединение закрыто
 I (6957) AUTH_TASK: получено тело: {"broker":"azsgqzj.iot.gz.baidubce.com","user":"thingidp@azsgqzj|cabcaad9358dd1623427701be534f578|0|MD5","pass":"d57ce60bed6a3243fc12c0cd7dc30906","clientID":"cabcaad9358dd1623427701be534f578"}
 I (6958) BDSC_ENGINE: результат аутентификации: broker: azsgqzj.iot.gz.baidubce.com, clientID: cabcaad9358dd1623427701be534f578, username: thingidp@azsgqzj|cabcaad9358dd1623427701be534f578|0|MD5, pwd: d57ce60bed6a3243fc12c0cd7dc30906I (7006) BDSC_ENGINE: профиль сохранен успешно
 I (7007) gpio: GPIO[27]| Входной режим: 0| Выходной режим: 1| Открытый дренаж: 0| Включение резистора: 0| Выключение резистора: 0| Триггер: 0
 I (7007) ESP32_GPIO_DRIVER: Инициализация GPIO завершена успешно.
 I (7008) dsp_download_imp: esp32_spi_init. . .
 I (7009) ESP32_SPI_DRIVER: Инициализация SPI завершена успешно, частота тактового сигнала 16МГц, режим 0.
 I (7010) bds_connection:[bds_connection_create]: вход
 I (7012) gpio: GPIO[38]| Входной режим: 1| Выходной режим: 0| Открытый дренаж: 0| Включение резистора: 1| Выключение резистора: 0| Триггер: 1
 E (7012) gpio: gpio_install_isr_service(412): сервис ISR GPIO уже установлен
 esp32_intr_gpio_init здесь.
 I (7013) wakeup_hal: esp32_intr_gpio_init, ret:0
 I (7014) GEN_PAM: ==> generate_dcs_pam
 I (7015) connect_strategy:[set_params]: настройка параметров подключения
 I (7016) client_adapter:[bdsc_adapter_start]: bdsc_adapter_start
 I (7016) client_adapter:[bdsc_adapter_start]: загрузка DSP. . .
 GPIO_DSP_RST в высоком состоянии.
 I (7227) BDDSP_SPI_DRIVER: bddsp_load_bin_slave: вход. . .
 I (7227) BDDSP_SPI_DRIVER: тип: 55, загрузка dst:5ff60000 src:60000000 хранилище src:00000240 длина:131072.
 I (7227) BDDSP_SPI_DRIVER: индекс: 0 общее: 8.md5:2675DC9799DD5E211B3EC04E78AB10A3.
I (7920) BDDSP_SPI_DRIVER: время ожидания md5 78.
I (7990) BDDSP_SPI_DRIVER: тип: 55, загрузка dst:5ff80000 src:60000000 хранилище src:00020240 длина:507904.
I (7990) BDDSP_SPI_DRIVER: индекс: 1 общее: 8.
md5:78B4858292EAB00224440192FF79569E.
I (10416) BDDSP_SPI_DRIVER: время ожидания md5 304.
I (10656) BDDSP_SPI_DRIVER: тип: 55, загрузка dst:60050000 src:60050000 хранилище src:0009c240 длина:536576.
I (10656) BDDSP_SPI_DRIVER: индекс: 2 общее: 8.
md5:4DB293568E4BE8AA442EAF0F0F529F08.
I (13246) BDDSP_SPI_DRIVER: время ожидания md5 321.
I (13496) BDDSP_SPI_DRIVER: тип: aa, загрузка dst:5ff60000 src:50000000 хранилище src:0011f240 длина:16.
I (13496) BDDSP_SPI_DRIVER: индекс: 3 общее: 8.
I (13497) BDDSP_SPI_DRIVER: адрес запуска ядра: 0x5ff60000 0x50000000
I (13498) BDDSP_SPI_DRIVER: тип: 55, загрузка dst:5ff60000 src:a0000000 хранилище src:0011f250 длина:131072.
I (13499) BDDSP_SPI_DRIVER: индекс: 4 общее: 8.
md5:4EC0706C8D6A17D6A5F5589C2CF51121.
I (14141) BDDSP_SPI_DRIVER: md5 время ожидания 78.
I (14141) BDDSP_SPI_DRIVER: тип: 55, загрузка dst:5ff80000 src:a0000000 хранилище src:0013f250 длина:507904.
I (14142) BDDSP_SPI_DRIVER: индекс: 5 общее: 8.
md5:CA47B800EE4C95967A87328DAB12C364.
I (16616) BDDSP_SPI_DRIVER: md5 время ожидания 304.
I (16616) BDDSP_SPI_DRIVER: тип: 55, загрузка dst:a0000000 src:a0000000 хранилище src:001bb250 длина:487424.
I (16617) BDDSP_SPI_DRIVER: индекс: 6 общее: 8.
md5:80CA6C2A586F552A7BA1203E0BC45281.
I (19030) BDDSP_SPI_DRIVER: md5 время ожидания 292.
I (19030) BDDSP_SPI_DRIVER: тип: 55, загрузка dst:60010000 src:60010000 хранилище src:00232250 длина:189264.
I (19031) BDDSP_SPI_DRIVER: индекс: 7 общее: 8.
md5:FB5B58F142826F181F8C8BB62CA8F322.
I (19947) BDDSP_SPI_DRIVER: md5 время ожидания 113.
I (19947) BDDSP_SPI_DRIVER: тип: aa, загрузка dst:5ff60000 src:50000000 хранилище src:002605a0 длина:16.
I (19948) BDDSP_SPI_DRIVER: индекс: 8 общее: 8.I (19948) BDDSP_SPI_DRIVER: адрес загрузки core1: 0x5ff60000 0x50000000
I (19949) BDDSP_SPI_DRIVER: Загрузка DSP bins выполнена успешно.
I (19950) dsp_download_imp: проверка состояния DSP перед
I (19958) dsp_download_imp: проверка состояния DSP завершена: 0
I (19958) BDDSP_SPI_DRIVER: <bddsp_get_dsp_version>Версия DSP: 1.4.0C
I (19958) client_adapter:[bdsc_adapter_start]: результат загрузки DSP: 0
E (19959) BDSC_ENGINE: !!! Неизвестное событие 7000 !!!
I (19960) client_adapter:[bdsc_adapter_send]: отправка ключа=700, длина=15, содержимое=0x3ffe7e04
I (19961) client_adapter:[bdsc_adapter_send]: отправка ключа=500, длина=0, содержимое=0x0
I (19961) BDDSP_SPI_DRIVER: запись параметра режима ASR
I (19962) client_adapter:[bdsc_adapter_send]: отправка ключа=200, длина=0, содержимое=0x0
I (19963) nqe_result:[update_dsp_current_audio_mode]: результат записи режима ASR: 0
I (19964) MQTT_TASK: mqtt_app_start ==>
clientid: cabcaad9358dd1623427701be534f578, sub: $iot/cabcaad9358dd1623427701be534f578/user/your_fc/your_pk/your_ak/down, pub: $iot/cabcaad9358dd1623427701be534f578/user/your_fc/your_pk/your_ak/up
I (19965) bds_base_online:[bds_start_net_env]: начало подключения
I (19968) net_machine:[machine_connect]: +++
I (19968) MQTT_TASK: Другое событие id:7
I (19969) disconnected_state:[state_connect]: +++
I (19970) strategy_mbedtls:[tls_init]: Инициализация генератора случайных чисел
I (19971) net_machine:[switch_state]: +++ 2
I (19972) net_machine:[switch_state]: ----
I (19972) disconnected_state:[state_connect]: ----
I (19973) net_machine:[machine_connect]: ---
I (19974) client_wakeup:[bdsc_wakeup_start]: wakeup=0x3f8222d0, machine=0x3f823df4, listen=0x4022b1c8
0x4022b1c8: start_listen в /home/meng/work_bench/1.2.4/light-asr-sdk/light-bdspeech-sdk/main_build/wp_asr/components/bds_light_sdk/wakeup/bdsc_wakeup_machine.c:32
I (19974) strategy_mbedtls:[tls_init]: Инициализация структуры SSL/TLS.
I (19975) wakeup_uninitial_state:[start_listen]: start_listen
I (19976) wakeup_stop_state:[start_listen]: start_listen
I (19977) wakeup_start_state:[start_listen]: start_listen esp32_intr_gpio_add, ret 0.
  I (19978) strategy_mbedtls:[tcp_connect]: host = leetest.  baidu.  com, port=443
  E (19978) wakeup_hal: wakeup cmd 0x57414b45+++
  E (19982) wakeup_hal: wakeup cmd---
  I (20066) strategy_mbedtls:[tcp_connect]: создание сокета успешно
  I (20100) strategy_mbedtls:[tcp_connect]: подключение успешно
  I (20101) strategy_mbedtls:[tls_connect]: Выполнение SSL/TLS handshake...
  I (20110) MQTT_TASK: MQTT_EVENT_CONNECTED
  I (20111) MQTT_TASK: отправка subscribe успешна, msg_id=43775
  I (20177) MQTT_TASK: MQTT_EVENT_SUBSCRIBED, msg_id=43775
  I (20725) strategy_mbedtls:[net_connect]: tls подключение успешно
  I (20725) disconnected_state:[do_connect_exec]: открытие I/O потока
  I (20726) io_watch_dog:[bds_io_watchdog_start]: запуск watch dog
  I (20726) bds_socket_stream:[open_stream]: запуск задачи чтения
  I (20728) bds_socket_stream:[open_stream]: запуск задачи записи
  I (20782) net_machine:[switch_state]: +++ 1
  I (20782) EVENT_IN: Обработка события SDK началась.
  I (20782) AUDIO_PLAYER: воспроизведение тона, тип:203, текущий тип медиа:203
  I (20783) net_machine:[switch_state]: ----
  I (20783) disconnected_state:[do_connect_exec]: завершение подключения
  I (20784) bds_socket_stream:[send_msg_impl]: длина записи = 447, id: 1392302861, тип = 0x2, idx = -1
  I (20784) AP_HELPER: audio_player_helper_default_play, тип:203,url:flash://tone/0_linked.mp3,pos:0,block:0,auto:0,mixed:0,inter:1
  I (20787) AUDIO_MANAGER: ap_manager_play, 620, inter:1, тип:203, auto:0, block:0, UNKNOWN
  W (20788) AUDIO_MANAGER: ap_manager_backup_audio_info, текущая операция не найдена
  W (20789) AUDIO_MANAGER: ap_manager_play, 669, тип:203,auto:0,block:0
  I (20790) ESP_AUDIO_TASK: Это декодер
  I (20790) ESP_AUDIO_TASK: 1.  CUR IN:[IN_flash],CODEC:[DEC_auto],RESAMPLE:[48000],OUT:[OUT_iis],rate:0, ch:0
  I (20792) ESP_AUDIO_TASK: 2.  Обработчики,IN:0x3f81ef5c,CODEC:0x3f8224e8,FILTER:0x3f836674,OUT:0x3f822664
  I (20793) ESP_AUDIO_TASK: 2.  2 Обновление всей конвейерной линии
  I (20794) ESP_AUDIO_TASK: 2.  3 Подключение новой конвейерной линии
  I (20796) ESP_AUDIO_TASK: 3.Предыдущее начало.  .  .
I (20797) AUDIO_THREAD: Задача DEC_auto выделяет стек на внешней памяти
I (20798) ESP_DECODER: Готов к проверке типа аудио, pos:0, (строка 104)
I (20798) flashPartition: 146: label:flash_tone
Я (20798) TONE_STREAM: заголовок тег 2053, формат 1
Я (20799) TONE_STREAM: хвост тона аудио DFAC
Я (20800) TONE_STREAM: Желаемый индекс тона флэш 0
Я (20800) TONE_STREAM: Смещение тона:00000248, Длина тона:3960, общее количество:5, позиция:0
W (20811) TONE_STREAM: Больше данных нет, ret:0, info. byte_pos:3960
I (20812) ESP_DECODER: Определен тип аудио как MP3
I (20812) MP3_DECODER: MP3 открыт
I (20818) RSP_FILTER: сброс частоты дискретизации исходных данных: 16000, сброс количества каналов исходных данных: 1
I (20818) ESP_AUDIO_TASK: Получено музыкальное сообщение, отправлено MEDIA_CTRL_EVT_PLAY
I (20819) ESP_AUDIO_TASK: MEDIA_CTRL_EVT_PLAY, статус:UNKNOWN, 0
I (20820) AUDIO_THREAD: Задача пересчета частоты дискретизации выделила стек на внешней памяти
I (20822) AUDIO_THREAD: Задача OUT_iis выделила стек на внешней памяти
I (20823) I2S_STREAM: AUDIO_STREAM_WRITER
I (20826) RSP_FILTER: частота дискретизации исходных данных: 16000, количество каналов исходных данных: 1, частота дискретизации целевых данных: 48000, количество каналов целевых данных: 2
I (20827) ESP_AUDIO_TASK: Состояние ESP_AUDIO: AEL_STATUS_STATE_RUNNING
I (20828) ESP_AUDIO_TASK: Func:media_ctrl_task, Line:801, MEM Total:3935184 Bytes, Inter:99372 Bytes, Dram:79076 BytesI (20830) ==========: ---> ---> EVENT_LINK_CONNECTED buffer_length=24, buffer={"????flash://tone/0_linked.mp3"}
I (20831) MAIN: ==> Получено BDSC_EVENT_ON_LINK_CONNECTED
I (20832) EVENT_OUT: Обработка события SDK завершена.
W (20832) ==========: Stack: 1992
I (20833) AUDIO_MANAGER: СТАТУС АУДИО МЕНЕДЖЕРА:RUNNING, err:0, media_src:203
W (20834) DU1910_APP: AUDIO_PLAYER_CALLBACK отправил OK, статус:1, err_msg:0, media_src:203, ctx:0x0
I (21160) bds_handle_data:[do_logic_connected]: проверка значения : {"status":0,"msg":"OK","data":[]}
I (22479) MP3_DECODER: Закрыт
I (22479) ESP_AUDIO_TASK: Получено последнее положение: 3960 байт
I (22835) ESP_AUDIO_TASK: Получено последнее время: 1984 мс
I (22835) ESP_AUDIO_TASK: Состояние ESP_AUDIO: AEL_STATUS_STATE_FINISHED
I (22836) ESP_AUDIO_TASK: Func:media_ctrl_task, Line:801, MEM Total:3976456 Bytes, Inter:100108 Bytes, Dram:79812 Bytes
W (22837) ESP_AUDIO_TASK: Уничтожение старого конвейера
W (22838) ESP_AUDIO_TASK: Старый конвейер уничтожен
I (22838) AUDIO_MANAGER: СТАТУС АУДИО МЕНЕДЖЕРА:FINISHED, err:0, media_src:203
W (22839) DU1910_APP: AUDIO_PLAYER_CALLBACK отправил OK, статус:4, err_msg:0, media_src:203, ctx:0x0
I (22841) AUDIO_MANAGER: АУДИО СТАТУС ЗАВЕРШЕН, resume:0, is_backup:0
I (22842) AUDIO_MANAGER: Режим воспроизведения АУДИОPLAYER_ONE_SONG

## 2.8 Устранение неполадок### 2.8.1 Некорректные `fc`, `pk`, `ak` и `sk`.

```c
Я (4499) RAW_HELPER: default_raw_player_init :106, que:0x3ffe8804
П (4500) TAS5805M: volume = 0x58
Я (4500) BDSC_ENGINE: версия приложения 750c6318a6d33aa382452446f7d9b792974acbb5
Я (4501) SNTP_INIT: ------------Инициализация SNTP
Я (4506) PROFILE: 56: type[0x1]
Я (4506) PROFILE: 57: subtype[0x29]
Я (4507) PROFILE: 58: address:0x7c2000
Я (4507) PROFILE: 59: size:0x1000
Я (4507) PROFILE: 60: label:profile
Я (4517) PROFILE: fc            = xx
Я (4517) PROFILE: pk            = xx
Я (4517) PROFILE: ak            = xx
Я (4517) PROFILE: sk            = xx
Я (4518) PROFILE: cuid          = xx
Я (4518) PROFILE: mqtt_broker   =
Я (4519) PROFILE: mqtt_username =
Я (4520) PROFILE: mqtt_password =
Я (4520) PROFILE: mqtt_cid      =
==> generate_auth_pam
текущее ts: 1591943265
==> generate_auth_sig_needfree
sig: 043cfeb0d0b752258024131142e4ac0b
pam_string: {"fc":"xx","pk":"xx","ak":"xx","time_stamp":1591943265,"signature":"043cfeb0d0b752258024131142e4ac0b"}
Я (4523) AUTH_TASK: тестовый запрос: POST /v1/manage/mqtt HTTP/1.0
Host: smarthome.baidubce.com
User-Agent: esp32
Content-Type: application/json
Content-Length: 100
```{"fc":"xx","pk":"xx","ak":"xx","time_stamp":26532387,"signature":"043cfeb0d0b752258024131142e4ac0b"}
Я (5508) HTTP_TASK: Подключение установлено...
Я (5509) HTTP_TASK: 236 байт записано
Я (5509) HTTP_TASK: Чтение HTTP-ответа...
Я (6109) HTTP_TASK: 202 байт прочитано
HTTP/1.0 200 OK
Cache-Control: no-cache
Content-Length: 57
Content-Type: application/json
Date: Fri, 12 Jun 2020 06:27:45 GMT
Server: BWS
X-Bce-Request-Id: 5367c504-d620-4e93-8966-74047f0b9175

Я (6112) HTTP_TASK: 57 байт прочитано
{"error_code":1,"err_msg":"fc:xx, pk:xx не зарегистрированы."}Я (6113) HTTP_TASK: соединение закрыто
Я (6117) AUTH_TASK: получено тело: {"error_code":1,"err_msg":"fc:xx, pk:xx не зарегистрированы."}
О (6118) AUTH_TASK: аутентификация не удалась, повторная попытка!
==> generate_auth_pam

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Платформа DUHOME AIOT, основанная на du1906 и ESP32 Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/baidu-du1906_esp.git
git@api.gitlife.ru:oschina-mirror/baidu-du1906_esp.git
oschina-mirror
baidu-du1906_esp
baidu-du1906_esp
main