Для простоти я опишу це, використовуючи типове налаштування розумного дому як орієнтир, але тут нічого насправді не фіксується додатком. Топологія високого рівня однаково підходить для програми моніторингу ферми, яка охоплює кілька кілометрів тисячами або датчиками, відстеження паркувальних місць у місті або управління освітленням в офісній будівлі.
Я розглядаю проблему приблизно в шарах ієрархії пристроїв, що може відповідати збільшенню складності установки або втягуванню у конкретні сценарії використання. Ось моя узагальнена схема, що охоплює всю мережу.
Рівень
вузла Індивідуальний вузол моєї діаграми - це лампа, підключена до WiFi, з локальним фізичним перемикачем перезавантаження. Вузол часто має як сенсорні, так і керуючі функції, а також невелику кількість локального обчислення / зберігання. В ідеалі вузол може діяти автономно. Вузол може взяти управління за допомогою локальних комутаторів безпосередньо через локальну мережу (якщо у нього є WiFi / Bluetooth) або з локального концентратора або з хмари. Вузол часто підтримує стійке TCP-з'єднання з концентратором або хмарою.
Одне місце зазвичай містить декілька вузлів з різними функціями, використовуючи різні параметри підключення. Розумний дім може збирати температуру, активність та відеодані в приміщенні / на вулиці. Віддалені датчики можуть використовувати розрізнені з'єднання з Інтернетом. Вузли зазвичай використовують мікроконтролери , найчастіше на низьких тактових частотах.
Рівень концентратора У розумному будинку може бути декілька концентраторів (по одному для кожного постачальника пристроїв), агрегації чи ієрархії. Хаб можна комбінувати в маршрутизаторі або окремо. Хаб навіть не потребує активності в мережі (крім переадресації пакетів). Однак концентратор може відповідати за ретрансляцію команд до вузла - команд, що походять або з інших локально пов'язаних вузлів, або з віддаленого сервера. Центр може реалізовувати передачу даних, стиснення або фільтрацію даних. Дійсно, хаб - просто фасилітатор. Сьогодні концентратор - це перша частина мережі, яка має можливість надавати загальнодоступний DNS, завдяки чому він може публікувати інформацію про мережеву мережу в повній системі. Як описано в цьому запитанніконцентратору часто необхідно переходити між Wired / WiFi TCP-IP до радіопротоколу низької потужності, наприклад, зигбі або bluetooth з низькою енергією . Маточини зазвичай побудовані навколо мікропроцесорів і менш обмежені по потужності, ніж вузли.
Роумінгові термінали Інакше відомий як ваш смартфон. Вони часто є головною точкою взаємодії з користувачем. Простий вузол може представити весь його інтерфейс користувача через смартфон, як тільки вузол зможе встановити прямий або опосередкований зв’язок із певним пристроєм. Досягнення цього принципово вимагає механізму встановлення довіри / власності / пари. Термінал може встановити, чи є його власний концентратор в локальній мережі, чи потрібно йому здійснювати все спілкування через зовнішній сервер або якщо він здатний шукати IP-адресу, що дозволяє пряму маршрутизацію до його "домашнього" концентратора. Останній сценарій зазвичай вимагає, щоб маршрутизатор був налаштований для переадресації портів.
Хмарний сервісХмарний сервіс прийнято виконувати більшу частину роботи в стеку, хоча це не завжди потрібно (і не всі реалізації потребують будь-якої хмарної функції). Найбільш корисною функцією, яку може надати зовнішній (публічно адресований) сервер, є оркестрація. Кожен вузол і проміжний елемент мережі зазвичай здатний спілкуватися по прямому каналу з цим сервером, і сервер може легко передавати повідомлення з одного пристрою на інший. Сервер може агрегувати дані та представляти користувачеві візуалізацію. Виходячи з конфігурації користувача, він також може передавати інформацію іншим користувачам (контроль доступу та опалення може бути наданий гостям, наприклад, попередження від повені / пожежі / вторгнення можуть використовувати інші параметри мережі для генерації сповіщень). Хмара також добре розміщена в інших джерелах даних,