Руководство по сборке оборудования XiaoZhi AI

В этом руководстве описаны список компонентов, порядок сборки и подключение для самостоятельной сборки чат-бота XiaoZhi AI. Оно подойдёт DIY-энтузиастам с базовым опытом в электронике.

Эта страница посвящена DIY-версии на макетной плате (каталог в апстриме — bread-compact-wifi). Если вы хотите купить готовую плату, начните со страницы Поддерживаемые платы. О прошивке читайте в разделе Загрузка прошивки.

I. Список оборудования для DIY

1.1 Основные компоненты

  • Плата разработки: ESP32-S3-DevKitC-1 (рекомендуется модуль WROOM N16R8) или Waveshare ESP32-S3-Touch-LCD-3.49
  • Цифровой микрофон: INMP441
  • Усилитель: MAX98357A
  • Динамик: 8Ω 2–3 Вт или 4Ω 2–3 Вт
  • Провода: набор соединительных проводов и несколько проводов Dupont
  • Две макетные платы на 400 отверстий
  • I2C (IIC) ЖК-дисплей 128x32 с драйвером SSD1306 (рекомендуется)
  • 4G-модуль Cat.1 ML307R, версия с AT-прошивкой (опционально)
  • Вертикальная тактовая кнопка 6x6 мм (опционально)

1.2 Вспомогательные инструменты

Помимо основных компонентов, могут понадобиться:

  • Мультиметр
  • Набор для пайки
  • Набор из трёх видов плоскогубцев
  • Кабель Type-C для передачи данных
  • ПК для прошивки

II. Подробнее об оборудовании

2.1 Выбор платы разработки

2.1.1 ESP32-S3-DevKitC-1 (рекомендуется)

Выбирайте конфигурацию N16R8 — 16 МБ Flash и 8 МБ PSRAM. Конфигурация N8R2 требует дополнительных изменений:

  • Изменить режим PSRAM с OCTAL на QUAD
  • Изменить размер Flash на 8 МБ
  • Заменить пользовательскую таблицу разделов на partitions_8M.csv
  • Пересобрать прошивку

Примечание: на некоторых платах RGB-светодиод не подключён; нужно запаять две маленькие площадки рядом с ним. При покупке выбирайте версию, где RGB-светодиод уже подключён.

2.1.2 Waveshare ESP32-S3-Touch-LCD-3.49

Моноблочная плата Waveshare со встроенным 3,49-дюймовым сенсорным ЖК-экраном:

  • Преимущество: моноблочная конструкция упрощает подключение и включает дисплей
  • Страница товара: https://www.waveshare.net/shop/ESP32-S3-Touch-LCD-3.49.htm
  • Требование: как у ESP32-S3-DevKitC-1; рекомендуется конфигурация N16R8
  • Особенность: сенсорное управление и более богатая информация на экране

Подходящий вариант прошивки — waveshare-esp32-s3-touch-lcd-3.49; см. Поддерживаемые платы.

2.2 Цифровой MEMS-микрофон (INMP441)

Это самый маленький компонент, и его трудно паять. Новичкам стоит купить уже припаянный вариант. Если паяете сами:

  • Не допускайте контакта выводов с полукольцевой металлической дорожкой
  • При подключении проводами Dupont ни в коем случае не путайте VDD и GND — деталь легко сгорает (купите запасной)

2.3 Цифровой усилитель (MAX98357A)

Купите вариант с уже припаянными штыревыми выводами и подключите его на макетной плате.

2.4 Динамик (8Ω 3 Вт или 4Ω 3 Вт)

Клеммы необязательны.

2.5 Провода

Если вы соединяете компоненты проводами Dupont без макетной платы, купите также несколько разветвителей «1 в 2» (гнёздо). Они позволяют микрофону и усилителю использовать общие выводы 3V3 и GND платы, которых иначе не хватает.

2.6 Макетная плата (рекомендуется)

Настоятельно рекомендуется собирать на макетной плате, иначе по мере добавления компонентов проводка превращается в путаницу. Соедините две макетные платы на 400 отверстий и поставьте плату разработки посередине, чтобы лучше использовать пространство.

Основы работы с макетной платой:

  • Плата разделена на блоки. В двух средних блоках каждый ряд с одним номером соединён по горизонтали (кроме промежутка посередине)
  • Красная и синяя шины соединены по вертикали вдоль каждого столбца (если шина не разделена)

2.7 OLED-дисплей (опционально)

Убедитесь, что используется драйвер SSD1306. Рекомендуется новый OLED, у которого выводы начинаются с GND.

2.8 4G-модуль Cat.1 (ML307R, опционально)

ML307R — это IoT-модуль Cat.1 от China Mobile IoT. Версия DC в отличие от DL поддерживает OpenCPU SDK. Убедитесь, что покупаете версию с AT-прошивкой.

Примечания:

  • Модуль подключается к мобильной сети 4G, поэтому ИИ может общаться онлайн
  • Подходит для мест на открытом воздухе, где нет Wi-Fi
  • Выбирайте модуль со съёмным слотом SIM-карты; при частом использовании подойдёт вторая SIM-карта от телефона (тарифа, который идёт с модулем, может не хватить на месяц)

2.9 Микропереключатель / кнопка (опционально)

Используйте микропереключатель или тактовую кнопку 6x6 мм и вставьте её поперёк рядов на макетной плате. Новичкам лучше брать двухвыводную кнопку для монтажа в отверстия, чтобы не замкнуть выводы.

III. Руководство по покупке

3.1 Где покупать

При покупке на торговых площадках учитывайте:

  • Некоторые компоненты могут продаваться без припаянных выводов; попросите продавца припаять их или выбирайте уже припаянные
  • Предпочитайте магазины с хорошей репутацией, высокими продажами и хорошими отзывами
  • Вопросы по покупке и качеству решайте с продавцом самостоятельно

3.2 Основы пайки

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

Рекомендуемое руководство: Soldering Iron Usage for Beginners (видео на китайском)

IV. Подключение

4.1 Стандартная версия ESP32-S3-DevKitC-1 (44 вывода IO)

Эта схема подходит для прошивки XiaoZhi AI версии 0.3.0 и новее.

Примечание: если вы не используете макетную плату, возьмите разветвители «1 в 2», чтобы решить нехватку выводов 3V3 и GND.

Подключение микрофона (INMP441)

Плата ESP32-S3Микрофон (INMP441)
GPIO4WS (выбор слова)
GPIO5SCK (битовая синхронизация)
GPIO6SD (выход данных)
3V3VDD (питание 3,3 В)
GNDGND, а также замкнуть L/R (левый/правый канал)

Подключение усилителя (MAX98357A)

Плата ESP32-S3Усилитель (MAX98357A)
GPIO7DIN (цифровой сигнал)
GPIO15BCLK (битовая синхронизация)
GPIO16LRC (синхронизация левого/правого канала)
3V3Vin/VCC (питание), а также замкнуть SD (отключение/канал)
GNDGND, а также замкнуть GAIN (усиление и канал)

Подключение динамика

  • Audio+ подключается к положительной клемме динамика (обычно красный провод)
  • Audio- подключается к отрицательной клемме динамика

Подключение OLED (опционально)

Плата ESP32-S3OLED-дисплей
GPIO41SDA (данные)
GPIO42SCK (тактовый сигнал)
3V3VCC (питание)
GNDGND

Подключение 4G-модуля (ML307R, опционально)

Плата ESP32-S34G-модуль (ML307R)
Плюс LDO (4,7 В)BAT (3,7–4,5 В), а также замкнуть EN (включение)
GNDGND
GPIO11TXD (передача модуля)
GPIO12RXD (приём модуля)

Подключение кнопок (версия 0.4.1 и новее)

Плата ESP32-S3Кнопка
GPIO39Кнопка уменьшения громкости (второй вывод на GND): короткое нажатие уменьшает громкость, долгое отключает звук
GPIO40Кнопка увеличения громкости (второй вывод на GND): короткое нажатие увеличивает громкость

Примечания:

  • Если у MAX98357A меньший корпус BGA, перемычку GAIN на GND можно не ставить
  • Ориентируйтесь на таблицы выводов; предварительные изображения показывают только внешний вид
  • Если микрофон припаян неправильно (звуковое отверстие вниз, выводы вверх), его нужно перепаять

4.2 Версия Gu Cloud для ESP32-S3-DevKitC-1 (42 вывода IO)

Основные отличия от стандартной версии:

  • Меньше выводов, но есть 4 фиксированных монтажных отверстия
  • В версии 1 вывод питания 3V3 в верхнем левом углу перенесён в нижний левый
  • В версии 2 слева добавлены GPIO19 и GPIO20
  • GPIO13, GPIO14 и 5VIN слева в версии 1 перенесены в нижний правый угол в версии 2
  • В версии 2 нет двух самых нижних выводов GND слева и справа

Внешние модули подключаются так же, как в стандартной версии, прошивка используется та же.

V. Расширенное подключение

5.1 Внешние кнопки

5.1.1 Регулировка громкости

  • В прошивке 0.3.3 появилась кнопка громкости: подключите GPIO40 к кнопке, второй вывод которой идёт на землю; нажатие увеличивает громкость, долгое нажатие отключает звук
  • В прошивке 0.4.1 появилась кнопка уменьшения громкости: GPIO39, долгое нажатие отключает звук, а долгое нажатие прежней кнопки включает максимальную громкость

5.1.2 Пробуждение / прерывание

Прошивка 0.3.1 и новее поддерживает пробуждение и прерывание разговора кнопкой:

  • Используйте кнопку BOOT на плате
  • Или подключите GPIO0, а второй вывод — на землю
  • Во время разговора нажатие прерывает его; повторное нажатие пробуждает устройство и возобновляет разговор

Примечание: при установке внешнего четырёхвыводного переключателя не вставляйте его в один ряд платы; разместите его в двух рядах со смещением, чтобы не замкнуть выводы.

5.2 Цветовая схема проводов

Рекомендуемая единая цветовая схема:

  • VCC: красный и коричневый
  • GND: серый и чёрный
  • Цифровые сигналы: кофейный и оранжевый

Это помогает не перепутать полярность.

5.3 Режимы подключения

XiaoZhi AI поддерживает два режима подключения.

5.3.1 Режим Duplex

Один контроллер I2S обслуживает и микрофон, и усилитель; подходит для плат с небольшим числом GPIO.

ПлатаINMP441MAX98357A
GNDGND, L/RGND, GAIN
3.3VVDDSD, VIN
GPIO4WSLRC
GPIO5SCKBCLK
GPIO6SD
GPIO7DIN

5.3.2 Режим Simplex (по умолчанию)

I2S 0 подключает микрофон, а I2S 1 — усилитель. Используется на два GPIO больше, чем в режиме Duplex.

ПлатаINMP441MAX98357A
GNDGND, L/RGND, GAIN
3.3VVDDSD, VIN
GPIO4WS
GPIO5SCK
GPIO6SD
GPIO7DIN
GPIO15BCLK
GPIO16LRC

По умолчанию используется режим Simplex. GPIO соответствуют выводам компонентов один к одному, поэтому подключать проще. Вывод VIN у MAX98357A принимает 3,3 В или 5 В.

5.4 Добавление ЖК-дисплея

Дополнительный дисплей может показывать уровень сигнала Wi-Fi или 4G:

ПлатаSSD1306
GNDGND
3.3VVCC
GPIO41SDA
GPIO42SCK

5.5 Добавление 4G-модуля

Примечание: держите 4G-антенну подальше от микрофона (ближе 3 см возникают заметные помехи). Самое простое решение — приклеить антенну к аналоговому сигнальному проводу динамика, подальше от микрофона.

4G-модулю нужно питание 5 В. У платы есть только вход 5V VIN и нет выхода 5 В, поэтому питание берут с вывода стабилизатора LDO, где около 5 В.

VI. Устранение неполадок

6.1 Частые проблемы

  1. RGB-светодиод не светится Проверьте, соединены ли две площадки рядом с RGB-светодиодом. Если нет, сначала соедините их проводом, перезапустите устройство и проверьте, загорается ли светодиод.

  2. Как проверить цепь

    • Без питания: проверьте мультиметром прозвонку проводов, например между двумя удалёнными выводами GND или двумя выводами 3,3 В
    • С питанием: убедитесь, что напряжение между GND и остальными выводами в нормальных пределах
  3. Проверка безопасности после подключения После подключения проверьте мультиметром, нет ли короткого замыкания между GND и VCC (3,3 В) на плате и установленных деталях. Подключайте питание по USB только после того, как убедитесь, что замыкания нет.

6.2 Подсказка о скрытых соединениях

На обратной стороне MAX98357 и INMP441 есть скрытые соединения; проверьте их внимательно.

VII. Связанные документы

Подключение проверено по main/boards/bread-compact-wifi/config.h и bread-compact-ml307/config.h в 78/xiaozhi-esp32 v2.5.2.