Від резистора до DynamoDB: як я за допомогою Gemini зібрав свій перший hardware-проєкт

💡 Усі статті, обговорення, новини про AI — в одному місці. Приєднуйтесь до AI спільноти!

Як я використав Gemini на реальному hardware-проєкті

Білий Артур, Frontend Developer в Levi9

Всім привіт, я Білий Артур, фронтенд-інженер в компанії Levi9. В цій статті я хочу поділитися тим, як мені вдалося створити свій перший hardware-проєкт завдяки AI. Минулої зими відключення світла змусили мене вийти за межі звичного фронтенду, і несподівано привели до першого саморобного пристрою.

Коли побутова проблема стає інженерною задачею

Відсутність світла з різною інтенсивністю супроводжують нас уже четвертий рік. Узимку 2026-го ця проблема знову стала особливо гострою, а найпопулярнішим повідомленням у чаті будинку було: «Чи є зараз світло?». Саме тоді я нарешті дозрів до ідеї створити автоматизоване рішення для відстеження відключень. Мені завжди подобалося, коли технології допомагають вирішувати конкретні повсякденні проблеми, тому цього разу мотивація була дуже практичною. Для реалізації задуму довелося зануритися в роботу з hardware-модулями та AWS-сервісами.

Чому я роками не чіпав hardware

Оскільки певний досвід роботи з AWS у мене вже був, то найбільше переживань викликала саме hardware частина проєкту. Так склалось, що раніше я майже не мав справи з електронікою: востаннє збирав електронні схеми ще в школі на уроках фізики, і паяльник жодного разу не тримав у руках. Це все здавалося дуже складним, з купою нюансів, і постійним ризиком необережно щось спалити :)

Gemini стає в нагоді

Давно користуюсь LLM від Google: вона допомагає мені тренуватись, готувати страви, вирішувати різні побутові питання й розбиратись в чомусь новому. Тому вирішив разом із цим AI-асистентом побудувати і hardware-рішення для своєї задачі.

Після промпту з описом ідеї Gemini порадив усе, що було потрібно для реалізації: мікроконтролер ESP8266 з вбудованим Wi-Fi-модулем, макетну плату, проводи та резистори для збирання схеми. Саме ESP8266 став центральною частиною проєкту: він відстежував наявність живлення від розетки та тригерив AWS Lambda, яка зберігала дані й надсилала повідомлення.

Після покупки комплектуючих, найважчим челенджем було зібрати схему, але завдяки Gemini це вийшло зробити буквально за півгодини. LLM від Google на пальцях пояснила, що таке розпіновка, по моїх фото зрозуміла, де в мене помилки, нагадала шкільну формулу дільника напруги та в цілому всіляко сприяла, щоб я не спалив плату, подаючи занадто багато напруги від розетки. Gemini дуже пришвидшив мою роботу і став містком від ідеї до реалізації.

Був щиро вражений, наскільки якісно Gemini міг розібрати мою розпіновку і вказати на помилки.

ESP в парі з AWS

Зібравши схему й перевіривши в Arduino Console, що плата успішно зчитує наявність або відсутність напруги на піні, я перейшов до AWS. Одразу знав, що cloud-провайдер AWS добре підійде для цього завдання, тому не виникало питань, кому довірити зберігання та обробку даних, а також відправлення повідомлень у Telegram.

Я налаштував інфраструктуру, яка дозволяє приймати сигнал від ESP, обробляти його, зберігати дані в базі та надсилати повідомлення в Telegram-канал.

  • Amazon API Gateway — створив публічний REST endpoint, на який плата надсилає POST-запити.
  • AWS Lambda — основний обчислювальний сервіс. Створив дві лямбди написані на NodeJS: одна функція приймає дані від плати, наповнює базу та пушить повідомлення в Telegram канал.

  • Є ідея створити третю, яка буде скрапити і відправляти в канал графіки, але планую зайнятися цим з приходом вірогідних літніх відключень.
  • А інша — генерує щоденні звіти по тривалості відключень.
  • DynamoDB — база даних, де робиться запис кожного нового статусу і його час.

  • Amazon EventBridge — тригерить відповідальну за звіти Лямбду кожен день опівночі.
  • AWS IAM — можливо, трохи оверхед для проекту, але також обмежив Лямбди і їх права, тож вони можуть писати і читати тільки з бази, де зберігаються статуси.
  • Amazon CloudWatch — звичайний сервіс для логів та відладки коду, допомагав ловити баги в Лямбдах при розробці.

Рішення може бути масштабоване на декілька девайсів і навіть зі збільшенням навантаження все одно буде залишатись в рамках AWS Free Tier.

Загальна схема:

І власне фото трекера:

Висновки

Для мене, як для фронтенд-інженера, це була чудова можливість трохи глибше розібратися в hardware, а також застосувати на практиці багато базових сервісів AWS. Бот працює вже кілька місяців і стабільно інформує мене та сусідів про ситуацію зі світлом.

Звісно, мій кейс — лише один із багатьох прикладів того, як ШІ допомагає розібратися в чомусь новому, розширити межі власної компетенції, а також пришвидшити й спростити робочі процеси. AI-інструменти відкривають нові можливості: ми можемо більше фокусуватися на вирішенні проблеми загалом, не зупиняючись перед «незнайомим» стеком чи доменом.

Втім, роль людини досі залишається визначальною. Саме від неї залежить валідація рішень, згенерованих штучним інтелектом, правильне застосування цих рішень і, зрештою, відповідальність за результат. Тому розвиток критичного мислення та хард скілів усе ще залишається критично важливим для професійного інженера.

👍ПодобаєтьсяСподобалось12
До обраногоВ обраному3
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Круто, цікава ідея і підхід до вирішення проблеми , впізнав себе

У мене схожа ситуація — через AI зробив кілька речей у домені де майже нульовий досвід. Найбільше вразило що модель допомагає не просто з кодом, а з логікою — пояснює чому так, а не інакше. Щодо надійності сетапу: якщо ДБЖ тримає роутер живим, детекція через пін точніша ніж через heartbeat, підхід правильний.

відстежував наявність живлення від розетки та тригерив AWS Lambda, яка зберігала дані й надсилала повідомлення

Цей ваш сетап залежить на інтернет з"єднання, тому, скажімо так, більш правильно сказати ви моніторите наявність інтернет зв"язку у вас вдома — якщо пропав інтернет зв"язок, ви вже не можете на 100% сказати чи відключили електроенергію чи ні. Тому, виходячи з цього, простіше рішення це придбати роутер з підтримкою, наприклад, openwrt, який буде вам і wi-fi роздавати, і періодично викликати вашу AWS Lambda. А то ще квартиру з будинком спалите)) не дай боже. Я завжди всім кажу — LLM-ки вам завжди згенерують відповідь, ну от реально завжди, але питання в якості цієї відповіді ...

дякую, почитав про openwrt

але ж я завʼязуюсь саме на пін, який читає, чи подається напруга з розетки, це і є джерелом правди, а не наявінсть чи відстуність інтернет зʼєднання.

звісно, якщо пропаде інтернет звʼязок, моя система не спрацює, але оптика і дбж поки ні разу не підвели

Добре, припустимо у вас стабільний інтернет зв"язок, тоді прибираємо з вашого сетапу ДБЖ, налаштовуємо періодичний виклик вашої лямбди кожну хвилину, при відключенні світла виклики не відбуваються, на стороні aws ви це періодично моніторите і відправляєте сповіщення, що світло пропало; коли світло з"явиться, роутер запуститься, і викличе вашу лямбду, таким чином ви знатимете, що світло з"явилося. Похибка детекції пару хвилин. Ну це самий простий спосіб. Але я до чого все це — ніякого intelligence в LLM-ах немає. Потрібно перевіряти suggestions перед тим як щось робити. А то получаться отакі от монстри, ще й потенційно небезпечні.

Так, це software рішення) але якщо дійсно хочете hardware, то можна безпечніше і надійніше)

Я хотів рішення, яке буде виконувати поставлену задачу.
Прибирати ДБЖ з сетапу не збирався, мені треба щоб роутер працював при відключеннях світла.
Завжди є декілька варіантів, як реалізувати якусь задачу, і я не сперечаюсь, що знання і компетенції допомагають краще провалідувати рішення, згенеровані ШІ.

але з вашого коменатря я не розумію, чому мій сетап є «монстром», ви просто його так назвали, без пояснення. щодо небезпеки, викликати пожежу цей пристрій не може, адже напруга на нього подається 5В всього лише

Прибирати ДБЖ з сетапу не збирався, мені треба щоб роутер працював при відключеннях світла.

Ну та є інші варіанти як з «підручних» речей це зробити. Повертаємося до вашої ситуації — ДБЖ, wi-fi роутер, надійний інтернет зв’язок — тоді простіше взяти старий телефон, поставити його «на зарядку», написати просту програму, яка детектить/опрацьовує events чи є зовнішнє живлення чи ні, і викликає вашу aws lambda. Наприклад для Android бачу є ACTION_POWER_CONNECTED/ACTION_POWER_DISCONNECTED events.
Вирішити поставлену задачу можна по різному, тут згоден. Але я більше про що? — про те, що все більше людей приймають LLM suggestions AS IS — от прям відразу — це лякає — особливо що буде через пару років такими темпами, я навіть не знаю(

провалідувати рішення, згенеровані ШІ

дякую за конструктивні пропозиції, дійсно має сенс!

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

На рахунок інших опцій — я би ще глянув в сторону самих ДБЖ — зараз думаю майже всі підтримують SNMP — це якщо вам потрібні прям детальні графіки по метрикам — там і скачки напруги будуть, наприклад. Плюс якщо в зв"язці з openwrt (linux) на вашому роутері, то ще більше варіантів — загугліть uninterruptible power supply event monitoring
Для мене варіант, що запропонувала Gemini взагалі десь внизу списку.

щодо небезпеки, викликати пожежу цей пристрій не може, адже напруга на нього подається 5В всього лише

ну ці ваші проводи, весь цей wiring — не має часу все детально проаналізувати і розрахувати — але коротке замикання якесь тут питання часу, перегрів ...

Жах.

Я розумію, що кожен з чогось починає, але це стаття на кшталт «мамо, подивись, в мене лампочка блимає!» А якщо врахувати, що це навіть не результат особистого розвитку, а просто бездумна компіляція нейрослопу, то взагалі сумно за ДОУ стає.

Ви зануда. Людина зробила штуку, поділилася з усіма. Не подобається — можна приховати і не коментувати.

дякую! розділяю вашу думку

Так, зануда. Але це не відміняє того факту, що рівень статті — пост на фейсбуці у групі фронтенд-девелоперів Очеретинського району.

Завтра людина покакає і поділиться з усіма. Думаю збере коменти, бо це поведінка яка викликає критику. Тут теж саме

Ах, той самий демагогічний прийом «доведення до абсурду». Програмісти, інтелектуальна еліта нації.

Нормас, свіжий досвід. В мілтех якраз шукають з актуальним. Надабрать.

Крута стаття! Респект, що взяв і вирішив реальну проблему тут і зараз, ще й так грамотно запакував усе в AWS Free Tier. Такі ініціативи не лише круто прокачують тебе як інженера, а й реально роблять життя всього під’їзду та людей навколо комфортнішим. Молодець!
Вмотивував мене закінчити свої «smart house» петпроекти, а то все відкладаю та відкладаю, принаймні переставив на робочий стіл. От з gemini хочу зробити штори що в певний час доби під будильник відкривають штори, але ще й беззвучно, щось придумаю)

Дякую!

Щодо штор, цікаво, це які модулі треба для цього?

Я робив з кроковим мотором і жалюзями. Але після евакуації все валяється в коробці...

Як зробите, напишете статтю. Також цікаво. Хотів зацікавити таким проектом свого старшого сина.

То вже не скоро. Не знаю коли буде тепер хата з жалюзями.

Все ж давно реалізовано, Broadlink продає. У мене так і зроблено, з інтеграцією в HomeAssistant. Нещодавно за допомогою Flipper Zero, esp32+cc1101 зробив запасний варіант керування через 433 радіосигнал, ШІшка допомогла декодувати RAW в нормальний код. Але на статтю це не тягне))

Підписатись на коментарі