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

Первые упоминания о данном проекте датируются началом 2025 года. Примерно с октября этого же года (5 месяцев назад на момент написания поста) код стал доступен на GitHub: https://github.com/78/xiaozhi-esp32

Данный робот предполагает самос��оятельную сборку, но определённый китайский завод под названием JITUIHOM так же наладил производство уже собранных плат с корпусом. Я заказал именно такой клиент. Вот, как он выглядит:

Данный клиент производитель назвал «Робот Добби». Клиент пришёл ко мне с браком: он подключался к серверу (облачные серверы принадлежат адресному пространству Alibaba Cloud), я с помощью Wireshark проверил доставку пакетов, однако, он передавал тишину, вследствие чего было решено разобрать робота.

Шаг 1. Снимаем пластиковые рамочки

Под рамочками видим панель с адресными светодиодами
Под рамочками видим панель с адресными светодиодами

Шаг 2. Откручиваем винты и вытаскиваем плату

На плате видим стандартный набор компонентов клиента на ESP32-S3. С обратной стороны компонентов нет.
На плате видим стандартный набор компонентов клиента на ESP32-S3. С обратной стороны компонентов нет.

Шаг 3. Вытаскиваем микрофон

Микрофон из нижней части корпуса
Микрофон из нижней части корпуса

Как оказалось, в колпачке микрофона забыли прорезать дырку, поэтому было слышно полную тишину. После прорезания дырки робот стал функционировать.

Точно такую же схему предлагает производитель в своих руководствах: на китайском аналоге YouTube под названием bilibili выставлено руководство по сборке такой же схемы на китайском.

Многие зрители с юмором отметили момент, где esp32-s3 забивается в макетную плату молотком. Что ж, и такое бывает.
Многие зрители с юмором отметили момент, где esp32-s3 забивается в макетную плату молотком. Что ж, и такое бывает.

Сама схема состоит из следующих деталей: ESP32-S3 версия Dev, OLED экран, модуль цифрового микрофона, и модуль ЦАП с усилителем для динамика (в сборке, которую я купил, стоит гибридный звуковой кодек для задач звука). Более точные детали указаны в руководстве.

Мой робот уже был настроен на конкретную программу (весёлый робот, который шутит шутки), однако, если вы решите собрать такого же, следуйте такому алгоритму:

  1. На вашу плату ESP32-S3 установите официальный клиент, после чего плата предложит подключиться к Wi-Fi, и выдаст вам мастер ключ

  2. В официальной панели для входа https://xiaozhi.me/login введите номер телефона и получите код (российские номера поддерживаются - код подтверждения пришёл мне в Telegram-аккаунт, привязанный к указанному номеру). Вы получите доступ к панели управления

  3. Добавьте аппаратуру клиента, используя кнопку Добавить устройство и следуя инструкциям, соединив его тем самым с облачным сервером.

  4. Создайте и настройте виртуального ИИ-агента, его основное имя, характеристики и модель, на основе которой он будет работать. Часть моделей доступна всем пользователям, часть - премиум пользователям (по договоренности с тех. поддержкой)

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

Пример настроек робота: тип голоса

Настройка характеристик личности:

Так же имеется возможность редактирования постоянной памяти робота (которая может быть записана в ходе диалогов с ним), и возможность приложения своего документа с данными, на который робот может опираться при беседе.

Как видите, всё не так уж и сложно и подано, как говорят в России, «на блюдечке с голубой каёмочкой». В том же китайском видеохостинге можно обнаружить видео, как к такому роботу добавляли распознавалку изображения с камеры.

Несколько трюков по сборке: если вы указали некорректный Wi-Fi, то для отвязки от него необходимо отключить раздающий роутер или покинуть зону раздачи, после чего интерфейс появится снова. Т��к же, инструкция к устройству была от старой ревизии, и сеть называется не Xiaozhi, а XX-AI.

Желаю всем удачи в экспериментах! Робот в каждый дом.