
Привет, Хабр! Меня зовут Александр Воробьев. За моими плечами разработка более 100 электронных устройств, пуско-наладка АСУ ТП и множество проектов, где нужно было "прикрутить" датчик к микроконтроллеру, написать веб-интерфейс и заставить это всё работать вместе. Каждый раз — это горы кода, даташитов и времени. В какой-то момент я задался вопросом: а можно ли автоматизировать этот процесс? Чтобы инженер думал над архитектурой, а не над синтаксисом? В этом посте я поделюсь своим путем создания инструмента, который позволяет собирать сложные IoT-системы за минуты с помощью AI-агента, и покажу это на реальных кейсах.
Боли разработки
Тем, кто разрабатывал своё IoT устройство знаком этот процесс, который состоит из: выбор датчика, чтение даташита, поиск библиотек, написание кода для опроса, отладка протоколов (I2C, RS-485), написание веб-интерфейса. Это временные затраты (недели, а иногда даже и месяцы), необходимость держать в голове кучу информации, сложность интеграции "железа" от разных вендоров. У меня многие интересные IoT проекты так и не дошли до логического завершения ((( и были отправлены пылиться в ящик до лучших времён.
Приход ChatGPT и облегчение жизни программистам микроконтроллеров
Проектов, которые хотелось запустить копилось много, а времени на это не было от слова - совсем. И тут появился ОН! Искусственный Интеллект! Точнее его продукт - ChatGPT. И тут понеслось. Я начал писать промпты для arduino и esp32 только в путь. Каждый день создавал новый проект. Какие проекты я не мог выполнить в связи с отсутствием скиллов я стал реализовывать за несколько часов. Но потом стал видеть ограничения - определенные библиотеки не подходили для определенных микроконтроллеров. Та библиотека, которая работала с Arduino UNO, не работала с ESP32C6 в связи с разностью архитектур и даже библиотека, которая без проблем компилировалась для ESP32 WROOM не работала с ESP32C6, например AsyncTCP и ESPAsyncWebServer. А тут я решил ещё разработать плату на базе ESP32C6 с основными интерфейсами - RS485, I2C, 0-10V, с аналоговыми входами, цифровыми входами (для индуктивных датчиков 12V) и аналоговыми выходами, ну и с 3мя реле.
Плата на базе ESP32C6 и ИИ агент к ней
Для ESP32C6 ситуация была жуткая - ИИ писал код, который не компилировался - то библиотека не работает, то плата уходит в watchdog, то по I2C нет передачи данных, так как у ESP32C6 - LowPower I2C, то ещё какая то фигня. Меня это стало бесить очень сильно. Плюс ко всему нужно было писать каждый раз порты в скетче для работы с моей платой. ИИ же не знал к какому конкретно порту подключен датчик. И тут я пришёл к тому, что нужно создавать своего ИИ агента с инструкциями, в которых я указал правила написания кода. Такие как -
Не используй библиотеки AsyncTCP и ESPAsyncWebServer
HTML должен быть валидным, адаптивным и быстрым
Для датчика DS18B20 используй только библиотеку OneWireNg
от Piotr StolarzПри работе с I2C используй шину I2C Low Power (частота 100 кГц, питание 3.3 V).
Питание датчиков по шине I2C: 3V3_I2C и GND_I2C. Подтягивающие резисторы SDA/SCL (4.7–10 kΩ) к 3.3 V уже есть на плате, о них не надо писать пользователюПиши код без использования delay()
-
Для аналоговыех входов V_adc = (adc_value / 4095.0) 3.3;
V_sensor = V_adc (5100 + 10000) / 10000; // реальное напряжение 0–5 ВИ так далее, естественно правил намного больше, чем я тут перечислил. ИИ агента я сделал на одной платформе, название которой пока не буду писать, ибо пока всё работает в тестовом режиме без коммерционализации.


Новые фишки моей платформы
Далее я стал добавлять новые фишки на сайт, такие как -
схема подключения датчиков к плате
описание библиотек, используемых в скетче
выбор датчика (DHT11, DHT22, DS18B20, BME280,.....), при выборе которого создаётся промпт для агента автоматически
выбор модуля (DS1307 RTC, LN298, WS2812B, ......), при выборе которого создаётся промпт для агента автоматически
Интеграция с Алисой Яндекса
Выбор кейсов (умная теплица, умный дом, метеостанция, умная кормушка, мониторинг энергии и т.д....) в котором уже предусмотрена работа с определёнными датчиками и модулями.



Так же я добавил возможность видеть сколько памяти микроконтроллера прошивка занимает

Маркетплейс датасетов и обучение нейронок TinyML на платформе
Ну и главной изюминкой всего этого проекта явлется - Маркетплейс данных IoT, куда можно будет загружать готовые датасеты с датчиков для продажи или бесплатного пользования и возможн��сть обучения нейронок для микрокнтроллера.
Но это уже другая история....



Спасибо за внимание.
Комментарии (24)

sozdatel-ed
21.02.2026 07:37Когда за плечами более сотни разработанных устройств, плата, как правило, уже не собирается на Devboard ESP32-WROOM, а проектируется как законченный промышленный узел с продуманной топологией, защитой и технологичностью. Так же хочу отметить что по RS485 сначала ставят клеммную колодку -> терминатор 120 Ом с переключателем -> самовосстанавливающиеся предохранители -> ударные диоды -> на микросхему интерфейса. Смысл в том, что при срабатывании TVS-диодов через них начинает течь значительный импульсный ток. Если перед ними стоит ограничительный элемент, то при затяжной перегрузке он уйдёт в защиту и разорвёт цепь, разгрузив TVS по теплу. В противном случае весь ударный ток ложится непосредственно на TVS, и при серьёзном surge его ресурс может быть исчерпан за один инцидент. Ещё фраза "Напряжение нагрузки реле до 16VDC" режет глаз. Реле не имеет «напряжения нагрузки» - корректно указывать максимальное коммутируемое напряжение и ток нагрузки. Указание только напряжения без допустимого тока не даёт понимания реальных ограничений.

graff59 Автор
21.02.2026 07:37"Максимальное коммутируемое напряжение нагрузки" не влезет на плату. Максимальный ток нагрузки знает ИИ агент и он консультирует по этому вопросу при написании кода. Возможно не стоило писать ничего не шелкографии, но люди разные бывают....

sozdatel-ed
21.02.2026 07:37Автор немного лукавит, когда пишет, что за его плечами «более 100 разработанных устройств».
Любой желающий может самостоятельно проверить открытую информацию следующим образом:
1. Ввести в Google запрос: «Александр Воробьев разработка устройств на esp32»
2. В результатах поиска выбрать страницу с сайта TenChat (обычно это одна из первых ссылок, публикация с темой «Распознавание жестов рукой (Python + ESP32 + …)»).
3. Перейти в профиль автора и пролистать ленту публикаций.
4. Найти материал примерно восьмимесячной давности с темой «Импортозамещение по RUSS-ки».
5. В тексте публикации можно увидеть формулировку о «многолетнем опыте разработки серийных радиоэлектронных устройств (свыше 200)».
Остаётся только восхититься скромностью автора — оказывается, за его плечами уже более 200 устройств.
graff59 Автор
21.02.2026 07:37Инфоцыгане могут приукрашать свои достижения, а я нет? Один раз приукрасил опыт и то "вычислили".

CyberDriver666
21.02.2026 07:37Так может и сейчас (со 100 устройствами) тоже приукрасили - все как в старой доброй сказке про пастуха, овец и волков.

graff59 Автор
21.02.2026 07:37Нет, разработал около 100 устройств различной сложности, может 98, может 104

LDiga
21.02.2026 07:37Я тоже пробовал напечатал куб из Minecraft купил модуль с диодом РГБ и датчиком приближения , вкл выкл норм он написал а вот по расстоянию так и не смог .

gaussssss
21.02.2026 07:37Тем, кто разрабатывал своё IoT устройство знаком этот процесс, который состоит из: выбор датчика, чтение даташита, поиск библиотек, написание кода для опроса, отладка протоколов (I2C, RS-485), написание веб-интерфейса
Читать даташиты полезно и при использовании ии. А то многие воспринимают ии как волшебный черный ящик и в итоге время на решение проблем через ии кратно больше времени на анализ даташита.

samponet
21.02.2026 07:37Ох уж эта ESPAsyncWebServer.. кровушки попила)) В результате использовал esphttpserver. Но вылезали другие странности- код компилировался, но не работал, то точка доступа не поднималась, то ещё что то. Отложил в результате разработку, пока не появится интерес допилить до рабочего варианта.

Markgresilov
21.02.2026 07:37Микроконтроллеры это такое дело, что если в обычном программировании ИИ провоцирует утечки памяти и зависания, то в МК с памятью в доли мегабайта, где всё в один момент может взорваться, трудно представить, что будет...

isNikita
21.02.2026 07:37Первое где активно начал применять chatgpt, еще версии 3.5, - так это поиск утечек памяти в коде для контролеров.

pistoletov
21.02.2026 07:37Пробовал кодить с deep seek. Для arm. Результат то получал но не факт что быстрее чем если бы читал рефы. Вы абсолютно правы, я переделал и так N итераций...а это все трата времени и опыта не добавляет

Antonzlo
21.02.2026 07:37Подскажите, а почему бы не использовать какую-то прослойку, например ESPHome? Там много готовых компонентов, если научить ИИ читать код и документацию, мне кажется получится неплохо

igrunov
21.02.2026 07:37А можно немножко про разработку платы? Предполагается ли корпусирование и как будет производиться фиксация платы? И чем обусловлено использование devboard - для удобства повторения желающими или с целью сократить разработку за счёт упрощения этапа проектирования обвязки / универсальности? Компоненты на плате сами размещали или на проеводстве?

graff59 Автор
21.02.2026 07:37Доброго времен суток. Плата разработана для корпуса на дин рейку DM6G. Использование devboard связано со скоростью разработки и себестоимостью. Схемотехнику и PCB разрабатывал полностью сам, SMT монтаж и производство платы заказывал в Китае.

Shura_m
21.02.2026 07:37Я то же попробовал так писать. Сначала - Вау, круто !!!
За пару дней можно сделать то, что делал бы две недели.
А через месяц я начал понимать, что что-то не то.
Да, я написал проект, но я толком не понимаю, как оно работает. Проект вроде мой, но и не мой. Код какой-то чужой.
Плюс, когда сам пишешь, читаешь документацию, разбираешься в чем-то, думаешь, развиваешься. А тут у меня появилось чувство, что поглупел и обленел.
Поэтому для себя я пока решил отложить эту технологию в долгий ящик.
Может быть потом, когда я поглупею, я и вернусь к ней, но пока- нет.
smart_alex
М-да... А без ваших инструкций он бы сам не догадался? :)
Ну и в целом: если пойти по этому пути, то остатки квалификации в программировании MCU очень быстро испарятся и останется одна зависимость от AI.
graff59 Автор
К сожалению нет. Писал код с delay().
rodial
Я для коротких скетчей недавно использовал AI Mode search от Гугла, там простенький ИИ, но в основе контекста лежит релевантный(в большинстве случаев) поиск в интернете. Результат для esp32c6 с использованием wifi мне выдавал без delay() сразу, без просьб. Вполне может учитывать нюансы платы и датчиков. Если нужно много кода - то проще попросить его выписать все нюансы и закинуть их в более мощный ИИ.
vanesk
Сложно сказать, как влияет на квалификацию использование аи. По моим ощущениям она только растет. Качество продукта вот падать может. И даже тут я сказал бы, что может падать, а может и не падать.
smart_alex
Микроконтроллер мало "знать", его еще нужно "чувствовать" в динамике. При "промтинге" целой системы, как это делал автор статьи, все эти навыки полностью вырождаются.
Я уж не говорю о качестве кода ИИ, и что от него в любой момент можно ожидать чего угодно (любых косяков на ровном месте).
Volodrippa
Что мешает сохранить квалификацию закинув вопрос к ИИ все объяснить с ссылками на источники, и для уверенности закинуть код в более умные сетки для code review?
gaussssss
Теория без практики мертва, так что квалификацию это не сохранит.