Введение
Разработка IoT-проектов — это не только пайка и чтение даташитов. С появлением больших языковых моделей (LLM) процесс написания кода, отладки и документирования стал значительно быстрее. В этой подборке я собрал 12 готовых промтов, которые помогут вам с типовыми задачами: от чтения показаний датчиков до настройки MQTT и автоматизации на ESP32, Arduino и Raspberry Pi. Каждый промт проверен на практике и адаптирован под реальные сценарии. Вы просто копируете промт, вставляете его в диалог с AI (GPT-4, Claude или YandexGPT) и получаете готовый код или архитектурное решение.
1. Чтение данных с датчика температуры и влажности (DHT22)
Этот промт генерирует скетч для Arduino/ESP32, который выводит данные в монитор порта и обрабатывает ошибки чтения.
Промт:
Напиши скетч для Arduino (платформа ESP32) для чтения данных с датчика DHT22. Используй библиотеку DHT sensor library by Adafruit. Выводи температуру и влажность каждые 2 секунды в Serial. Добавь обработку ошибок: если датчик не отвечает, выведи 'Sensor error' и повтори попытку через 1 секунду. Пин подключения — GPIO4.
Пример использования:
Вставьте промт в чат AI. Вы получите готовый код, который можно скопировать в Arduino IDE. Пример фрагмента ответа:
#include <DHT.h>
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Sensor error");
delay(1000);
return;
}
Serial.print("Temp: "); Serial.print(t);
Serial.print(" C, Humidity: "); Serial.println(h);
delay(2000);
}
2. Настройка MQTT-клиента на ESP32
Промт для создания базового MQTT-подключения к облачному брокеру (например, HiveMQ или Mosquitto).
Промт:
Создай код для ESP32, который подключается к Wi-Fi (SSID: 'MyWiFi', пароль: 'pass123'), затем к MQTT брокеру по адресу broker.hivemq.com:1883. Подпишись на топик 'home/led' и при получении сообщения 'ON' включай встроенный светодиод (GPIO2), при 'OFF' — выключай. Используй библиотеку PubSubClient. Добавь автоматическое переподключение при обрыве связи.
Пример использования:
После вставки промта AI сгенерирует код с callback-функцией и логикой переподключения. Вы сможете управлять светодиодом с любого MQTT-клиента, например, с помощью MQTT Dash на телефоне.
3. Промт для парсинга JSON с REST API (Raspberry Pi)
Полезно, когда нужно получить данные с внешнего сервиса (погода, курс валют) и обработать их на Pi.
Промт:
Напиши скрипт на Python для Raspberry Pi, который делает GET-запрос к https://api.openweathermap.org/data/2.5/weather?q=London&appid=YOUR_KEY. Распарси JSON и выведи в консоль текущую температуру (в градусах Цельсия), влажность и описание погоды. Используй библиотеки requests и json. Обработай ошибки подключения.
Пример использования:
Замените YOUR_KEY на реальный API-ключ (получить можно бесплатно на openweathermap.org). AI вернёт скрипт, который можно запустить на Raspberry Pi OS.
4. Автоматизация полива растений на Arduino
Промт для системы автополива с датчиком влажности почвы и реле.
Промт:
Создай скетч для Arduino Uno: подключи датчик влажности почвы (аналоговый пин A0) и реле (пин 7). Если влажность ниже 300 (сухая почва), включи реле на 5 секунд, затем выключи. Если влажность выше 700 — ничего не делай. Выводи текущее значение влажности в Serial каждые 10 секунд. Используй таймер millis() вместо delay для неблокирующего выполнения.
Пример использования:
Скетч подходит для реального прототипа. Замените пороговые значения под свой датчик (обычно 0–1023).
5. Промт для OTA-обновления прошивки ESP32
Обновление по воздуху — стандарт для IoT-устройств. Этот промт генерирует код с OTA-сервером.
Промт:
Напиши скетч для ESP32 с поддержкой OTA (Over-the-Air) обновлений. Используй библиотеку ArduinoOTA. Подключение к Wi-Fi (SSID: 'Net', пароль: 'pass'). Установи имя хоста 'esp32-ota'. В loop() добавь ArduinoOTA.handle(). В setup() инициализируй Serial, Wi-Fi и OTA с обработчиком onStart, onProgress, onError.
Пример использования:
После загрузки скетча через USB, все последующие обновления можно делать через Arduino IDE, выбрав порт Network.
6. Чтение данных с энкодера (KY-040) на Raspberry Pi
Промт для отслеживания вращения и нажатия энкодера.
Промт:
Напиши Python-скрипт для Raspberry Pi для чтения энкодера KY-040. Используй библиотеку RPi.GPIO. Подключи: CLK к GPIO17, DT к GPIO18, SW к GPIO27. При вращении по часовой стрелке выводи 'CW: +1', против часовой — 'CCW: -1'. При нажатии кнопки — 'Button pressed'. Используй аппаратные прерывания (add_event_detect).
Пример использования:
Скрипт можно использовать для управления громкостью, яркостью или навигацией по меню.
7. Промт для создания веб-интерфейса на ESP32
Позволяет управлять устройством через браузер без внешнего сервера.
Промт:
Создай код для ESP32, который запускает веб-сервер на порту 80. Страница должна содержать кнопку 'ON' и 'OFF' для управления светодиодом на GPIO2. Используй библиотеку ESPAsyncWebServer. При нажатии кнопки отправляй GET-запрос /on или /off. Сервер должен менять состояние пина и возвращать статус в JSON.
Пример использования:
После загрузки откройте IP-адрес ESP32 в браузере — получите простую панель управления.
8. Промт для логирования данных на SD-карту (Arduino)
Незаменимо для автономных метеостанций.
Промт:
Напиши скетч для Arduino Mega с SD-картой (чип-селект на пине 10) и датчиком BMP280 (I2C). Каждые 10 секунд записывай в файл log.csv строку: время (millis), температура, давление. Если файла нет — создай его с заголовком. Используй библиотеки SD и Adafruit_BMP280.
Пример использования:
Данные сохраняются на карту, их можно открыть в Excel для анализа.
9. Промт для управления сервоприводом через Bluetooth (ESP32)
Управление с телефона через Serial Bluetooth Terminal.
Промт:
Создай скетч для ESP32, который подключается по Bluetooth (имя 'ESP32_Servo'). При получении числа от 0 до 180 через SerialBT поворачивай сервопривод (пин GPIO5) на соответствующий угол. Используй библиотеки BluetoothSerial и ESP32Servo. Добавь вывод в SerialBT подтверждения: 'Angle set to X'.
Пример использования:
Подключитесь к ESP32 через Bluetooth, отправьте '90' — серва повернётся на 90°.
10. Промт для детекции движения с PIR-датчиком и отправкой уведомления
Идеально для системы охраны.
Промт:
Напиши код для ESP32 с PIR-датчиком (пин GPIO13) и модулем SIM800L (SoftwareSerial: RX=16, TX=17). При обнаружении движения отправь SMS на номер '+71234567890' с текстом 'Motion detected!'. Используй библиотеку TinyGsmClient. Добавь задержку 30 секунд между срабатываниями.
Пример использования:
При монтаже датчика в коридоре вы будете получать SMS при любом движении.
11. Промт для реализации Deep Sleep на ESP32 (экономия батареи)
Критично для автономных устройств.
Промт:
Создай скетч для ESP32, который измеряет напряжение на батарее (пин GPIO34 через делитель), отправляет данные по MQTT (тема 'battery/voltage'), а затем уходит в глубокий сон на 1 час. Используй esp_sleep_enable_timer_wakeup(3600000000). Выведи причину пробуждения в Serial.
Пример использования:
Устройство будет работать от батареи до нескольких месяцев.
12. Промт для настройка Wi-Fi Manager на ESP32
Позволяет подключать устройство к любой Wi-Fi сети без перепрошивки.
Промт:
Напиши скетч для ESP32 с Wi-Fi Manager (библиотека WiFiManager). При первом запуске создавай точку доступа 'ESP32_Config'. Пользователь подключается к ней, вводит SSID и пароль своей сети. После сохранения ESP32 перезагружается и подключается к заданной сети. Выводи IP-адрес в Serial.
Пример использования:
Идеально для прототипов, которые передаются заказчику — настройка сети через телефон.
Заключение
Эти 12 промтов покрывают 80% типовых задач в Embedded и IoT. Сохраните их в свой личный файл-шпаргалку или используйте как основу для более сложных проектов. Главное — не копируйте код слепо, всегда проверяйте логику и пины под вашу конкретную сборку. Если какой-то промт показался сложным — разбейте его на части и задавайте уточняющие вопросы AI. Удачи в ваших IoT-экспериментах!
Комментарии