Руководство по сборке оборудования XiaoZhi AI
В этом руководстве описаны список компонентов, порядок сборки и подключение для самостоятельной сборки чат-бота XiaoZhi AI. Оно подойдёт 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) |
|---|---|
| GPIO4 | WS (выбор слова) |
| GPIO5 | SCK (битовая синхронизация) |
| GPIO6 | SD (выход данных) |
| 3V3 | VDD (питание 3,3 В) |
| GND | GND, а также замкнуть L/R (левый/правый канал) |
Подключение усилителя (MAX98357A)
| Плата ESP32-S3 | Усилитель (MAX98357A) |
|---|---|
| GPIO7 | DIN (цифровой сигнал) |
| GPIO15 | BCLK (битовая синхронизация) |
| GPIO16 | LRC (синхронизация левого/правого канала) |
| 3V3 | Vin/VCC (питание), а также замкнуть SD (отключение/канал) |
| GND | GND, а также замкнуть GAIN (усиление и канал) |
Подключение динамика
- Audio+ подключается к положительной клемме динамика (обычно красный провод)
- Audio- подключается к отрицательной клемме динамика
Подключение OLED (опционально)
| Плата ESP32-S3 | OLED-дисплей |
|---|---|
| GPIO41 | SDA (данные) |
| GPIO42 | SCK (тактовый сигнал) |
| 3V3 | VCC (питание) |
| GND | GND |
Подключение 4G-модуля (ML307R, опционально)
| Плата ESP32-S3 | 4G-модуль (ML307R) |
|---|---|
| Плюс LDO (4,7 В) | BAT (3,7–4,5 В), а также замкнуть EN (включение) |
| GND | GND |
| GPIO11 | TXD (передача модуля) |
| GPIO12 | RXD (приём модуля) |
Подключение кнопок (версия 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.
| Плата | INMP441 | MAX98357A |
|---|---|---|
| GND | GND, L/R | GND, GAIN |
| 3.3V | VDD | SD, VIN |
| GPIO4 | WS | LRC |
| GPIO5 | SCK | BCLK |
| GPIO6 | SD | |
| GPIO7 | DIN |
5.3.2 Режим Simplex (по умолчанию)
I2S 0 подключает микрофон, а I2S 1 — усилитель. Используется на два GPIO больше, чем в режиме Duplex.
| Плата | INMP441 | MAX98357A |
|---|---|---|
| GND | GND, L/R | GND, GAIN |
| 3.3V | VDD | SD, VIN |
| GPIO4 | WS | |
| GPIO5 | SCK | |
| GPIO6 | SD | |
| GPIO7 | DIN | |
| GPIO15 | BCLK | |
| GPIO16 | LRC |
По умолчанию используется режим Simplex. GPIO соответствуют выводам компонентов один к одному, поэтому подключать проще. Вывод VIN у MAX98357A принимает 3,3 В или 5 В.
5.4 Добавление ЖК-дисплея
Дополнительный дисплей может показывать уровень сигнала Wi-Fi или 4G:
| Плата | SSD1306 |
|---|---|
| GND | GND |
| 3.3V | VCC |
| GPIO41 | SDA |
| GPIO42 | SCK |
5.5 Добавление 4G-модуля
Примечание: держите 4G-антенну подальше от микрофона (ближе 3 см возникают заметные помехи). Самое простое решение — приклеить антенну к аналоговому сигнальному проводу динамика, подальше от микрофона.
4G-модулю нужно питание 5 В. У платы есть только вход 5V VIN и нет выхода 5 В, поэтому питание берут с вывода стабилизатора LDO, где около 5 В.
VI. Устранение неполадок
6.1 Частые проблемы
RGB-светодиод не светится Проверьте, соединены ли две площадки рядом с RGB-светодиодом. Если нет, сначала соедините их проводом, перезапустите устройство и проверьте, загорается ли светодиод.
Как проверить цепь
- Без питания: проверьте мультиметром прозвонку проводов, например между двумя удалёнными выводами GND или двумя выводами 3,3 В
- С питанием: убедитесь, что напряжение между GND и остальными выводами в нормальных пределах
Проверка безопасности после подключения После подключения проверьте мультиметром, нет ли короткого замыкания между GND и VCC (3,3 В) на плате и установленных деталях. Подключайте питание по USB только после того, как убедитесь, что замыкания нет.
6.2 Подсказка о скрытых соединениях
На обратной стороне MAX98357 и INMP441 есть скрытые соединения; проверьте их внимательно.
VII. Связанные документы
- Бюджетная версия ESP32 — недорогой вариант сборки
- Поддерживаемые платы — готовые платы и варианты прошивки
- Загрузка и прошивка — получение и установка прошивки
- FAQ — частые вопросы
- Настройка ESP-IDF — сборка собственной прошивки
Подключение проверено по main/boards/bread-compact-wifi/config.h и bread-compact-ml307/config.h в 78/xiaozhi-esp32 v2.5.2.