Для простоты я опишу это, используя типичную настройку умного дома в качестве справки, но здесь ничего не исправлено приложением. Топология высокого уровня в равной степени подходит для приложения мониторинга фермы, охватывающего несколько километров с тысячами датчиков, для отслеживания парковочных мест в городе или управления освещением в офисном здании.
Я рассмотрю проблему примерно в слоях иерархии устройств, которые могут соответствовать увеличению сложности установки или использованию конкретных сценариев использования. Вот моя обобщенная диаграмма, охватывающая всю сеть.
Уровень
узла. Отдельным узлом на моей диаграмме является индикатор подключения по WiFi с локальным физическим переключателем переопределения. Узел часто имеет как сенсорные и контрольные функции, так и небольшое количество локальных вычислений / хранилищ. В идеале, узел может действовать автономно. Узел может получить контроль от локальных коммутаторов, напрямую через локальную сеть (если он имеет WiFi / Bluetooth) или от локального концентратора или облака. Узел часто поддерживает постоянное TCP-соединение с концентратором или облаком.
Одно местоположение обычно содержит несколько узлов с различными функциями, использующими различные варианты подключения. Умный дом может собирать данные о внутренней / наружной температуре, активности и видео. Удаленные датчики могут использовать разные подключения к Интернету. Узлы обычно используют микроконтроллеры , часто на низких тактовых частотах.
Уровень концентратора В «умном доме» может быть несколько концентраторов (по одному для каждого поставщика устройства), агрегация или иерархия. Концентратор может быть объединен в маршрутизаторе или автономно. Концентратор даже не должен быть активным в сети (кроме пересылки пакетов). Однако концентратор может отвечать за передачу команд на узел - команды, исходящие либо от других локально подключенных узлов, либо от удаленного сервера. Концентратор может реализовывать сохранение данных, сжатие или фильтрацию данных. Действительно, хаб - это просто посредник. Сегодня концентратор - это первая часть сети, которая имеет возможность предоставлять общедоступный DNS, что позволяет публиковать информацию о структуре сети для всей системы. Как описано в этом вопросеконцентратор часто необходим для моста между проводным / WiFi TCP-IP и радиопротоколом с низким энергопотреблением, таким как zigbee или bluetooth-low-energy . Концентраторы обычно построены вокруг микропроцессоров и имеют меньшую мощность, чем узлы.
Роуминг Терминалы Иначе известный как ваш смартфон. Они часто являются основной точкой взаимодействия с пользователем. Простой узел может представить весь пользовательский интерфейс через смартфон, как только узел может установить прямую или опосредованную связь с конкретным устройством. Для достижения этого принципиально необходим механизм установления доверия / владения / спаривания. Терминал может установить, находится ли его собственный концентратор в локальной сети, должен ли он выполнять все коммуникации через внешний сервер или может ли он искать IP-адрес, который позволяет прямую маршрутизацию на его «домашний» концентратор. Последний сценарий обычно требует, чтобы маршрутизатор был настроен для переадресации портов.
Облачный сервисОбычно облачная служба выполняет большую часть работы в стеке, хотя это не всегда необходимо (и не для всех реализаций требуется какая-либо облачная функция). Наиболее полезная функция, которую может предоставить внешний (публично адресуемый) сервер, - это оркестровка. Каждый узел и промежуточный элемент сети обычно могут общаться по прямому каналу с этим сервером, и сервер может легко передавать сообщения от одного устройства к другим. Сервер может собирать данные и представлять пользователю визуализации. В зависимости от конфигурации пользователя он также может пересылать информацию другим пользователям (например, гостям может быть предоставлено управление доступом и отоплением, в предупреждениях о наводнениях / пожарах / вторжениях могут использоваться другие параметры сети для создания предупреждений). Облако также имеет хорошие возможности для использования в других источниках данных,