Сборка инфопанели на ESP32 с ИИ: гайд 2026 | AiManual
AiManual Logo Ai / Manual.
06 Июл 2026 Гайд

Как собрать инфопанель на ESP32 с помощью ИИ: пошаговое руководство

Пошаговое руководство по созданию инфопанели на ESP32 с датчиком DHT22, OLED и мониторингом API-квот. Используем ИИ для генерации кода и схем. Интеграция с Home

Зачем вам эта инфопанель?

Представьте: вы сидите за столом, на стене висит небольшой дисплей, на котором в реальном времени горят температура, влажность, а рядом — сколько запросов к OpenAI API осталось сегодня. Красиво? Бесполезно? Нет, чёрт возьми, это удобно. Особенно когда вы — DevOps, который любит превращать микроконтроллеры в ИИ-агентов и тащить автоматизацию в каждую щель.

Проблема классическая: данные размазаны по разным дашбордам. Home Assistant показывает климат, но не API-лимиты. OpenAI-консоль показывает лимиты, но не климат. А хочется одним взглядом оценить, не пора ли выключить кондиционер и не слететь с квоты. Решение — собрать свою инфопанель. И сэкономить часы на кодинге — попросить ИИ сгенерировать 90% кода.

Предупреждение: если вы никогда не держали паяльник — начните с чего-то попроще. А если вы уверены в своих навыках — всё равно приготовьтесь к отладке. ESP32 капризен, но благодарен.

Что внутри коробки?

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

Компонент Назначение Примерная цена (₽)
ESP32 Dev Kit (ESP32-WROOM-32) Мозг панели 400-600
OLED дисплей 128x64 (I2C, SSD1306) Экран для вывода данных 300-500
DHT22 (или DHT11, если дешевле) Датчик температуры и влажности 200-400
Резистор 10 кОм (для DHT22) Подтяжка линии данных 5
Кнопка тактовая (опционально) Переключение режимов 10
Блок питания 5В/2А micro USB Питание 150
3D-печатный корпус (STL) Эстетика и защита бесплатно (если есть принтер)
💡
Лучше заказать ESP32 с распаянным разъёмом OLED (например, ESP32-S3 OLED Board от Waveshare) — сэкономите кучу времени на разводке. О том, как собрать более сложную систему на ESP32-S3, читайте в статье про сборку робота Xiaozhi.

Схема подключения: меньше проводов — меньше проблем

Схема до безобразия простая. OLED и ESP32 общаются по I2C (SDA → GPIO21, SCL → GPIO22 на классическом ESP32). DHT22 — цифровой датчик, цепляем его на GPIO4, не забыв резистор 10 кОм между питанием и data. Если забудете подтяжку — данные будут сыпаться с ошибками, и вы потратите час на дебаг. Поверьте.

Подключение:
OLED SSD1306 I2C:
  VCC → 3.3V
  GND → GND
  SDA → GPIO21
  SCL → GPIO22

DHT22:
  VCC → 3.3V
  GND → GND
  DATA → GPIO4 (+ резистор 10кОм к VCC)

С кнопкой ещё проще: один контакт на GND, второй на GPIO5 (с внутренней подтяжкой, не забыть включить INPUT_PULLUP).

ИИ-генерация кода: вы — заказчик, нейросеть — разработчик

Теперь самое интересное. Вместо того, чтобы вручную писать прошивку, мы дадим задание современному ИИ-ассистенту. Какому? Берите последнюю версию от OpenAI, Anthropic или Google — они все справятся. Главное — правильный промпт.

Вот пример промпта, который я использовал. Копируйте и адаптируйте под свою задачу:

«Напиши код для ESP32 на Arduino Framework. Устройство: OLED дисплей 128x64 (I2C адрес 0x3C), датчик DHT22 на GPIO4, кнопка на GPIO5 (подтяжка вверх). Каждые 5 секунд читай DHT22 и выводи на экран температуру и влажность. При нажатии кнопки переключай экран на второй режим: показывать количество оставшихся запросов к OpenAI API, которые мы получаем по HTTP с сервера (переменная api_quota). Используй библиотеки: Adafruit_SSD1306, Adafruit_GFX, DHT22, WiFi, HTTPClient. Подключись к WiFi по заданным SSID/PASS, загружай quota из JSON с эндпоинта http://192.168.1.100:8000/quota.json (формат: {"remaining": 1000}). Обновляй quota раз в минуту или по кнопке. Весь код должен помещаться в один файл main.ino».

После этого ИИ выдаёт примерно 100-150 строк кода. Выглядит работоспособно, но 100% будут нюансы. Например, часто ИИ забывает инициализировать OLED после подключения WiFi или ставит задержки, которые блокируют кнопку. Не стесняйтесь уточнять промпт: «сделай неблокирующий опрос кнопки через millis()», «добавь отображение иконки Wi-Fi при успешном подключении».

Но готовый код — только половина дела. Как его собрать и прошить? Если вы не знакомы с PlatformIO, советую прочитать гайд «Собрать устройство без инструкций» — там я показываю, как ИИ помог разобраться с абсолютно незнакомой платой.

Пошаговая сборка прошивки

1 Установка окружения

Скачайте PlatformIO (плагин для VS Code) или используйте Arduino IDE. Я за PlatformIO — удобнее управлять библиотеками и версиями. Создайте новый проект, выбрав плату Espressif ESP32 Dev Module.

2 Добавление библиотек

Платформа сама подтянет зависимости, если в platformio.ini прописать:

[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
lib_deps = 
  adafruit/Adafruit SSD1306
  adafruit/Adafruit GFX Library
  adafruit/DHT sensor library

3 Вставка сгенерированного кода

Скопируйте код из ответа ИИ в src/main.cpp. Но не надейтесь на магию — прочтите код, проверьте пины, имена переменных. Часто ИИ использует DHT вместо DHT_Unified — исправьте, если не компилируется.

4 Настройка Wi-Fi и API

Вставьте свои SSID и пароль. Убедитесь, что HTTP-сервер, который отдаёт JSON с квотой, доступен из локальной сети. Если нет — можно поднять простенький Flask или Express за пять минут. А можете использовать готовый сервис, например, Netlify Function — но это уже выходит за рамки статьи.

Для интеграции с Home Assistant — отправляйте данные через MQTT. ИИ легко допишет код: просто добавьте в промпт «отправляй температуру, влажность и quota в MQTT топики homeassistant/...». Подробнее о том, как ESP32 становится ИИ-агентом, рассказано в статье про ESP-Claw.

3D-печать корпуса: эстетика имеет значение

Голую плату на стену вешать стыдно. Находим на Thingiverse или моделируем сами простой корпус. Я использовал Tinkercad — он бесплатный. Размеры: 80x40x25 мм, отверстия под OLED и датчик. Если у вас нет принтера — закажите печать в сервисе за 300-500 рублей.

Совет: сделайте вентиляционные отверстия для DHT22 — иначе датчик будет показывать температуру внутри корпуса, а не в комнате (классическая ошибка).

Типичные ошибки и их решение

  • Не компилируется код. Чаще всего — конфликт библиотек. Удалите все старые версии, оставьте только те, что в lib_deps. Или переключитесь на Arduino IDE для проверки.
  • OLED не показывает ничего. Проверьте адрес 0x3C или 0x3D. Запустите I2C-сканнер. Если адрес другой — поправьте в коде.
  • DHT22 выдаёт NaN. Скорее всего, не работает подтяжка. Добавьте резистор или включите внутренний INPUT_PULLUP на пине DATA (не для всех датчиков работает).
  • WiFi отваливается раз в час. ESP32 может уходить в глубокий сон, если не правильно настроить keep-alive. Добавьте периодический пинг или переподключение.
  • API-квота не обновляется. Проверьте, что HTTP-сервер отвечает, и на ESP32 не кончилась память (куча фрагментации).

Если после недели отладки всё заработало — вы герой. Если нет — не стесняйтесь спросить у ИИ: «мой ESP32 зависает после 10 минут работы, что может быть?». Скорее всего, вам посоветуют добавить ESP.wdtFeed() или уменьшить частоту опроса DHT22 (он не любит частые чтения).

А что дальше?

Когда базовая инфопанель готова, апгрейды практически напрашиваются. Добавьте ещё один датчик (BME280 для давления), выводите прогноз погоды, сделайте анимации. Или, как в проекте Rider Pi, превратите ESP32 в физический интерфейс для ИИ-ассистента.

Главное — вы теперь знаете, как быстро прототипировать железки с помощью нейросетей. Промпт-инжиниринг для embedded — это новый must-have skill. А наша задача, как DevOps, — автоматизировать всё, что можно, и визуализировать то, что осталось.

Кстати, о федеративном обучении на Edge — звучит как следующая ступень. Если интересно, вот статья про ML на устройствах с 256 МБ ОЗУ — она вдохновит вас на то, чтобы загрузить маленькую нейросеть прямо на ESP32. Дерзайте!

Подписаться на канал