SmartHome-проєкти: про що вони та як долучитись до розвитку розумних будинків

Привіт, мене звати Ганна Ліхман, я займаю позицію Tech Lead Software Engineer в компанії GlobalLogic.

Трохи про мій шлях і досвід в компанії: я прийшла в GlobalLogic 3 роки тому в якості Senior Full Stack Developer (React Native + Node.js). Зараз я працюю над розробкою єдиної платформи управління розумним будинком, яка знаходиться на завершальній стадії. Це застосунок, за допомогою якого можна керувати домашніми комунікаціями, механізмами захисту, а також побутовими пристроями — розумними холодильниками, прасками, пилососами тощо.

Якщо раніше подібні екосистеми для SmartHome були частиною ексклюзивного сегменту, зараз платформи управління вважаються частиною стандартного пакету розумного будинку. Швидке поширення і розвиток SmartHome-технологій призведе до того, що все більше розробників та читачів DOU будуть стикатися з ними у своїй роботі та повсякденному житті.

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

Про що може бути SmartHome-проєкт

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

Важливою частиною проєкту є забезпечення найвищого рівня захисту середовища для життя. Ми орієнтуємося на те, що домівка на SmartHome-платформі надає комплексну систему захисту:

  • побутовий рівень: запобігає аваріям, пожежам і затопленням, що викликані некоректною роботою домашньої техніки або проблемами з комунікаціями. Викликає необхідні служби при виникненні надзвичайної ситуації;
  • життєдіяльність мешканців: допомагає підтримувати здоров’я і безпеку осіб з обмеженими можливостями, літніх людей і дітей. Дозволяє віддалено викликати швидку, якщо необхідна термінова допомога;
  • зовнішні загрози: інформує про потенційні зломи будинку, тим самим захищає від грабіжників і дозволяє викликати правоохоронців;
  • під час від’їзду: така фіча, як «Presence Simulation» дозволяє імітувати, що власники все ще живуть вдома. Для цього система кілька раз на день буде хаотично вмикати/ вимикати світло, телевізор або музику, підіймати штори тощо.

Принципи автоматизації SmartHome

Перший принцип, за яким ми створюємо патерни та алгоритми роботи системи — Pre-define, визначення заздалегідь. Тобто завчасно встановлюється порядок дій розумного будинку при настанні тих або інших умов.

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

Другий принцип — конструктор Lego, що складається з трьох деталей: «Коли? Що? До поки?». Усі дії та умови можуть бути налаштовані користувачем на власний розсуд.

Наприклад, коли детектор руху на камері помічає сторонню особу біля дому, можна встановити це тригером для початку запису відео. Такі тригери можуть бути досить різноманітними: падіння або зростання температури, перепади напруги, схід та захід сонця тощо. Після визначення умов користувач обирає, яким чином на неї реагувати і яку дію має зробити система та протягом якого часу.

Особливості та виклики розробки

Я вважаю, що найважче в подібному SmartHome-проєкті — зацікавити потенційну аудиторію, донести, що це дійсно круто та комфортно. Звісно, з готовим застосунком зробити це буде простіше, проте переваги користування розумним будинком можуть бути неочевидними.

Для мене найцікавіший момент — коли користувачі вперше знайомляться з продуктом. Адже Smart Home схожий на конструктор, з якого можна зробити, що завгодно. Наприклад, налаштувати розумну газонокосарку ганятися за злодієм, який намагається вдертися до будинку, або відлякати його імпровізованою сиреною з проблисковими маячками червоно-синіх ламп.

Тобто можливості до персоналізації безмежні, і налаштування програми насправді навіть розкриває індивідуальність користувача.

Звісно, під час роботи не обійшлось і без труднощів. Якщо back-end у нас був в повному порядку, то впровадження інтуїтивно зрозумілого UI-застосунку стало одним з найбільших викликів розробки.

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

За результатами їх роботи та, здавалося, нескінченними нарадами вдалося зробити комфортніший та зрозуміліший інтерфейс.

Як потрапити на SmartHome-проєкт

З технічного стеку я рекомендую:

  • опанувати React Native, TypeScript;
  • ознайомитися з принципами нетворкінгу ІоТ, підписки, черги, меседж-брокеру;
  • розібратися в протоколах передачі даних;
  • управління голосом, як, що і навіщо;
  • також на деяких SmartHome-проєктах цінуються знання С++ і Python.

Головне завдання: зрозуміти, як встановлюється зв’язок між умовною лампою і телефоном: куди і в якому вигляді відправляється сигнал, де декодується і конвертується в .json формат для зчитування на мобільному девайсі. Після чого раджу спробувати розробити власний розумний дім за допомогою Arduino й мобільного застосунку.

Ось кілька корисних посилань, які допоможуть розібратися, що таке SmartHome і з чим його їдять:

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

Перспективи SmartHome

Я вважаю, розумні будинки швидко набудуть більшого поширення: для користувачів смартфонів така система стане додатковим застосунком, який спрощує та покращує життя. Тим паче в недалекому майбутньому застосунки для керування розумною оселею мігруватимуть і на smart-годинники, завдяки чому віддалено ввімкнути світло або пральну машину стане ще простіше.

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

Сподіваюсь, що користувачі DOU, які ще не встигли оцінити комфортність розумних будинків, скоро отримають можливість це зробити. Буде круто, якщо саме моя стаття підштовхне вас скористатися цією технологією або ж спрямувати свій професійний шлях у SmartHome. Якщо залишились будь-які питання — напишіть їх, будь ласка, в коментарях.

👍ПодобаєтьсяСподобалось5
До обраногоВ обраному0
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

На яких апаратних засобах ви реалізуєте ваші IoT проекти?

Взагалі дуже цікава тема — IoT, але так багато треба знати! Це мабуть проблема всього пов’язаного з еmbedded, якщо максимальна компенсація така як в звичайного JS Lead — чи вартує воно того?

Насправді коли ти розумієш core, то не все інше ти реагуєш як «ага!» а не «ого!» :)

еmbedded

це не страшно, головне розуміти принцип передачі сигналів. А зарплатня буває різна :)

Розумію. Зараз намагаюся займатись embedded як хоббі.

Останній місяць розмірковую над тим як імплементувати finite state machine красиво та читабельно на С.

Трохи розібрався в hardware, буду вдячний за зірочку:

github.com/...​11-sim7070-solar-platform

github.com/...​sk-data-logger-nfc-samd21

А ще, як мінімум цифрову схемотехніку і ядро лінукса)) І часто непогано знати, як працює хардварне ядро SOC, або хоча б вміти орієнтуватись в Reference Manual на 15000 сторінок. Ну і дрібнички, типу як працює компілятор С. Хоча в проектах глобаллоджика все зазвичай досить лайтово.

почати будувати свій смарт хоум з Home Assistant 🤗

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