15 промтов для генерации скетчей Arduino, прошивок ESP32 и MicroPython для Raspberry Pi в IoT-проектах

Промты для Arduino, ESP32 и Raspberry Pi: как собрать умный дом, автополив и робота без инженерного образования

Ещё пять лет назад, чтобы собрать автополив или управлять светом через телефон, нужно было месяцами изучать схемотехнику, даташиты и язык C++ для микроконтроллеров. Сегодня достаточно правильно сформулировать запрос к LLM — и вы получите рабочий скетч для Arduino, прошивку MicroPython для ESP32 или systemd-сервис для Raspberry Pi. Но есть нюанс: нейросети уверенно генерируют код, который выглядит правильно и при этом не работает — путают пины, используют несуществующие библиотеки, забывают про подтягивающие резисторы.

Эта подборка — практическая шпаргалка промтов, которые я собрал за годы работы с embedded-системами. Каждый промт проверен на реальных проектах: от датчика влажности почвы до MQTT-шлюза для Home Assistant. Важно понимать: AI не заменит мультиметр и осциллограф, но сократит время от идеи до работающего прототипа в разы.

Ниже — 15 промтов с пояснениями, примерами и кодом. Копируйте, адаптируйте под свои задачи и проверяйте на железе — только так рождается надёжная прошивка.

1. Генерация каркаса скетча с проверкой пинов

Задача: Быстро получить структуру скетча с корректными пинами и объявлением всех зависимостей.

Промт:

Ты — senior embedded-разработчик. Сгенерируй скетч для [Arduino Uno / ESP32 / Raspberry Pi Pico] на C++ (Arduino framework), который [задача: читает DHT22 и выводит в Serial]. 
Требования:
- Укажи точные номера GPIO для [платформа].
- Используй только библиотеки из официального менеджера библиотек Arduino.
- Добавь проверку на ошибки датчика.
- Прокомментируй каждую секцию.
- Предупреди о несовместимости пинов (например, GPIO 34-39 только вход на ESP32).

Пример использования: для ESP32 с DHT22 на GPIO 4 и OLED SSD1306 на I2C (SDA=21, SCL=22) промт сгенерирует корректный код с #include <DHT.h> и #include <Adafruit_SSD1306.h>. Проверьте, что AI не назначил DHT22 на GPIO 34 — он input-only.

2. Промт для отладки "не работает, хотя код правильный"

Задача: Диагностика типичных проблем с железом.

Промт:

Скетч для [ESP32] компилируется, но [датчик не отвечает / плата перезагружается / Wi-Fi не подключается]. 
Вот мой код: [вставить код]. 
Составь чек-лист диагностики из 7 пунктов: питание, пины, библиотеки, логи, тайминги, перегрев, помехи. 
Для каждого пункта — конкретная команда или действие.

Пример: ESP32 перезагружается при подключении Wi-Fi. AI предложит проверить блок питания (пиковый ток до 500 мА), добавить конденсатор 470 мкФ, отключить deep sleep. Реальный кейс: проблема была в USB-кабеле с высоким сопротивлением.

3. Промт для генерации MicroPython-прошивки для Raspberry Pi Pico W

Задача: Быстрый старт с MicroPython без изучения синтаксиса.

Промт:

Напиши код на MicroPython для Raspberry Pi Pico W. Задача: [подключаться к Wi-Fi, читать температуру с DS18B20, публиковать в MQTT-топик]. 
Требования:
- Используй библиотеки: network, onewire, ds18x20, umqtt.simple.
- Добавь обработку исключений и переподключение.
- Учти, что Pico W использует chip ID для уникального client_id.
- Приведи команды для загрузки файла через mpremote.

Пример: для автополива на Pico W AI сгенерирует код с umqtt.simple.MQTTClient, топиком garden/soil и retain-флагом. Проверьте, что библиотека umqtt.simple установлена через mip.

4. Промт для работы с Home Assistant через MQTT Discovery

Задача: Автоматическое создание сущностей в Home Assistant без ручного редактирования configuration.yaml.

Промт:

Сгенерируй JSON-конфигурацию для MQTT Discovery Home Assistant для [устройство: датчик влажности почвы на ESP32]. 
Топики: homeassistant/sensor/garden_soil/config. 
Поля: name, state_topic, unit_of_measurement, device_class, unique_id, device (identifiers, name, manufacturer). 
Покажи, как отправить этот JSON из скетча ESP32 с PubSubClient.

Пример: правильный JSON включает "device_class": "moisture", "unit_of_measurement": "%". AI часто забывает device.identifiers — проверьте, иначе устройство не сгруппируется.

5. Промт для калибровки аналоговых датчиков

Задача: Преобразование сырых значений ADC в физические величины.

Промт:

У меня аналоговый датчик [влажности почвы / освещённости] на ESP32. ADC выдаёт 0-4095. 
Напиши функцию калибровки: собери 10 замеров в сухом и влажном состоянии, усредни, построй линейную интерполяцию. 
Учти нелинейность ADC ESP32 (esp_adc_cal). Приведи код с map() и constrain().

Пример: для capacitive soil moisture sensor v1.2 AI предложит калибровку dry=2800, wet=1200 и формулу moisture = map(raw, dry, wet, 0, 100). Проверьте на реальном грунте.

6. Промт для оптимизации энергопотребления

Задача: Устройство на батарейках должно работать месяцами.

Промт:

Мой ESP32 работает от 18650 и разряжается за 3 дня. Задача: читать датчик раз в 10 минут и отправлять по MQTT. 
Предложи оптимизацию: deep sleep, отключение Wi-Fi, снижение частоты CPU, выбор LDO. 
Напиши скетч с deep sleep и пробуждением по таймеру. Укажи ожидаемое потребление в мА и мкА.

Пример: AI предложит esp_sleep_enable_timer_wakeup(600 * 1000000), отключение Wi-Fi перед сном. Реальное потребление падает с 80 мА до 10 мкА в сне — батарея живёт год.

7. Промт для отладки I2C-шины

Задача: Найти устройство на шине и исправить конфликты адресов.

Промт:

У меня ESP32 и несколько I2C устройств: [BME280, LCD1602, MPU6050]. Одно не определяется. 
Напиши скетч-сканер I2C для ESP32 (Wire.begin(21,22)). 
Объясни, как изменить адрес BME280 через SDO/CSB. 
Приведи таблицу типовых адресов для этих датчиков.

Пример: сканер покажет адреса 0x76 (BME280), 0x27 (LCD), 0x68 (MPU6050). Если BME280 не виден — проверьте подтяжку SDA/SCL к 3.3 В.

8. Промт для написания systemd-сервиса на Raspberry Pi

Задача: Автозапуск Python-скрипта при загрузке.

Промт:

Напиши unit-файл systemd для Python-скрипта /home/pi/garden.py на Raspberry Pi. 
Требования: автозапуск после сети, перезапуск при падении, логи в journalctl. 
Покажи команды: sudo systemctl enable, start, status. 
Учти, что скрипт использует GPIO и требует прав root или группы gpio.

Пример: unit-файл с Restart=always, RestartSec=10, User=pi. Не забудьте chmod +x и путь к python3 в venv.

9. Промт для генерации кода робота на Arduino

Задача: Управление шасси с драйвером L298N.

Промт:

Сгенерируй скетч для Arduino Uno: робот на 4 колёсах, драйвер L298N, управление по Bluetooth HC-05. 
Команды: вперёд, назад, влево, вправо, стоп. 
Используй SoftwareSerial (RX=10, TX=11). 
Добавь плавный разгон через analogWrite. 
Приведи схему подключения пинов.

Пример: AI выдаст analogWrite(ENA, 200) для скорости 80%. Проверьте, что ENA/ENB подключены к PWM-пинам (3,5,6,9,10,11 на Uno).

10. Промт для парсинга данных с датчиков в JSON

Задача: Единый формат для отправки на сервер.

Промт:

Напиши функцию на C++ для ESP32, которая собирает данные с [DHT22, BH1750, soil moisture] в JSON. 
Используй ArduinoJson v7. 
Формат: {"temp": 23.5, "hum": 60, "lux": 300, "soil": 45}. 
Покажи сериализацию и отправку через HTTP POST на сервер.

Пример: код с StaticJsonDocument<200>, serializeJson(doc, Serial). Для v7 используйте JsonDocument без размера.

11. Промт для настройки OTA-обновлений

Задача: Прошивать ESP32 по Wi-Fi без проводов.

Промт:

Настрой OTA-обновление для ESP32 через ArduinoOTA. 
Покажи базовый скетч с hostname, паролем и обработчиками. 
Объясни, как залить прошивку через PlatformIO и Arduino IDE. 
Учти, что OTA требует 2x flash: раздел OTA должен быть в partition table.

Пример: ArduinoOTA.begin() в setup, ArduinoOTA.handle() в loop. В PlatformIO выберите upload_protocol = espota.

12. Промт для создания веб-интерфейса на ESP32

Задача: Локальная панель управления без облака.

Промт:

Сгенерируй скетч ESP32 с WebServer: HTML-страница с кнопками вкл/выкл реле и слайдером яркости LED. 
Используй ESPAsyncWebServer и LittleFS. 
Покажи, как хранить HTML в PROGMEM или SPIFFS. 
Добавь AJAX-запросы без перезагрузки страницы.

Пример: AI создаст index.html с fetch('/led?state=1'). Проверьте, что async-библиотеки не конфликтуют с Wi-Fi.

13. Промт для интеграции с Telegram-ботом

Задача: Уведомления и управление через мессенджер.

Промт:

Напиши скетч ESP32, который отправляет сообщение в Telegram при срабатывании датчика движения. 
Используй UniversalTelegramBot и WiFiClientSecure. 
Покажи регистрацию бота у @BotFather, получение chat_id. 
Добавь обработку команд /status и /led.

Пример: bot.sendMessage(chat_id, "Motion detected!", ""). Учтите, что TLS требует времени — не блокируйте loop.

14. Промт для написания тестов на железе

Задача: Проверить логику без реального подключения.

Промт:

Напиши unit-тесты на PlatformIO для функции расчёта влажности почвы. 
Используй Unity framework. 
Покажи, как мокать analogRead() через test_setup. 
Приведи пример запуска: pio test -e native.

Пример: тесты с TEST_ASSERT_EQUAL(50, calculateMoisture(2000)). Native-окружение позволяет тестировать без платы.

15. Промт для генерации документации проекта

Задача: README для GitHub с схемой подключения.

Промт:

Сгенерируй README.md для проекта [умный автополив на ESP32]. 
Включи: описание, список компонентов, схему подключения (в виде таблицы), инструкцию по прошивке, MQTT-топики, лицензию MIT. 
Формат — Markdown. Добавь бейджи PlatformIO и лицензии.

Пример: таблица с колонками «Компонент», «Пин ESP32», «Примечание». AI часто путает пины — сверяйтесь с даташитом.

Заключение

Промты — это не волшебная таблетка, а ускоритель. Они экономят часы на написании boilerplate-кода, но требуют проверки на железе. Начните с простого: сгенерируйте скетч для мигания LED, затем добавьте датчик, потом MQTT. Каждый шаг проверяйте мультиметром и Serial-логом.

Помните: AI не знает, что ваш блок питания просаживается под нагрузкой, а I2C-шина не подтянута. Но он отлично справляется с рутиной. Используйте промты как черновик, а инженерное чутьё — как финальную проверку. И да, всегда читайте даташиты: даже самый умный промт не заменит официальную документацию производителя.

← Все статьи

Комментарии

Читайте также

Как пройти LeetCode-раунд за 40 минут: 12 промтов для тренировки алгоритмов и структур данных

20 сентября 2026

Docker, Kubernetes и CI/CD: как я перестал деплоить вручную и собрал пайплайн на автопилоте

20 сентября 2026

ChatGPT как репетитор китайского: промты для тонов, иероглифов и HSK 4 без зубрёжки

19 сентября 2026

Достижения в Vibe Coding: как выжить в цикле хайпа ИИ-кодинга 2026 года и реально выпускать ПО

19 сентября 2026

12 промтов для маркетинга и копирайтинга в 2026: как заменить копирайтера, аналитика и стратега с помощью ИИ

19 сентября 2026

12 промтов для контент-маркетинга: как с помощью ChatGPT и Claude построить воронку продаж и лендинги в 2026 году

19 сентября 2026

11 промтов для DaVinci Resolve и Premiere Pro: автоматизация монтажа, автосубтитры и AI-озвучка в 2026 году

19 сентября 2026

AI-агенты на практике: создайте ReAct-агента с нуля и масштабируйте до мультиагентной оркестрации

19 сентября 2026

12 промтов, которые заменяют SEO-агентство: как я вывел сайт в топ-3 без ссылок и копирайтеров

19 сентября 2026