Насколько я знаю, есть 2 основных способа включения удаленного (Интернет, не LAN) доступа к устройствам IoT:
- Через сервер, который устройство периодически опрашивает (например, MQTT )
- Прямой удаленный доступ
Я предполагаю, что второй метод не прост, поскольку обычно бытовые устройства находятся за домашним маршрутизатором.
У меня такой вопрос: примерно, какой процент продаваемых в настоящее время устройств IoT использует один из следующих способов для удаленного подключения к ним :
- Через сервер (устройство опрашивает сервер)
- Прямой удаленный доступ, который требует ручной настройки домашнего маршрутизатора для включения переадресации портов (или другим способом, который предоставляет устройство)
- Прямой удаленный доступ, когда устройство автоматически настраивает маршрутизатор через UPnP или другой протокол
- Прямой удаленный доступ с использованием статического IPv6-адреса устройства , который не требует настройки маршрутизатора
- Другие методы
Мой вопрос связан с потребительскими устройствами IoT, такими как лампочки, выключатели, замки, термометры и т. Д. От проверенных производителей, которые продаются сегодня и устанавливаются в домашних условиях.
Обновить:
Нашел этот ответ от @ Aurora0001 на другой ответ на этом сайте о пробивании отверстий для прямой связи между двумя устройствами, находящимися в разных внутренних сетях (например, за домашним маршрутизатором). Это решение требует сервера, но только для первоначального рукопожатия.
Я думаю, что это добавило бы еще один вариант ...
источник
Ответы:
Я думаю, вы найдете довольно высокий процент «# 5, Прочее», потому что в списке отсутствует одна из наиболее распространенных потребительских IoT-архитектур: косвенная связь через домашний шлюз.
Все остальные описанные вами методы имеют свои недостатки: их сложно настроить, они не защищены или требуют много ресурсов сервера. Домашний шлюз позволяет избежать этих проблем для отдельных устройств, предоставляя доступ к Интернету только одному устройству.
Типичный шлюз служит нескольким целям. Во-первых, это протокол моста. Беспроводные устройства используют все виды открытых и проприетарных протоколов связи, в том числе Z-Wave, Zigbee, выделенный 900 МГц RF, выделенный 433 МГц RF, инфракрасный свет, Bluetooth, BLE, ANT +, Crestron и т. Д. Они решают все виды нишевых проблем, например, стоимость каждого устройства, время автономной работы, самоконфигурируемые ячеистые сети, быстрое время отклика, небезопасная связь, простые конфигурации с использованием минимального хранилища и т. д. Таким образом, большинство потребительских IoT-устройств не используют IP-пакеты, а вместо этого доставляют свои данные внутри меньшие рамки, чтобы сохранить срок службы батареи. Шлюз преобразует собственный протокол в нечто более мобильное и совместимое с сетью на основе IP.
Кроме того, домашний шлюз является хорошим местом для хранения правил системы. Если вы собираетесь включить правила, такие как «если вы включаете свет наверху лестницы, а также включите свет в прихожей, если не включен свет на кухне», вы можете разместить правила в центральных выключателях, централизованно. веб-сервер или шлюз. Размещение правил в каждом переключателе освещения создает хрупкую конфигурацию, которую сложно настраивать, изменять или управлять. Запуск правил на централизованном сервере приводит к задержке, потому что сообщение должно быть переведено в TCP, зашифровано, отправлено через Интернет, действие должно быть получено, расшифровано и переведено обратно в Zigbee. Шлюз позволяет поставщику решать эти проблемы, предоставляя единую точку управления для резервного копирования и восстановления и локальный процессор для быстрого выполнения правил.
Безопасность является большой проблемой: устройства IoT должны быть дешевыми, а дешевые процессоры не имеют больших процессоров и хранилища для функций безопасного шифрования. Не говоря уже о желании избежать огромных затрат на разработку надежно зашифрованных протоколов. Таким образом, они реализуют очень слабую (дешевую) защиту на потребительских устройствах или вообще не обеспечивают безопасность. Они восполняют это, общаясь только в очень ограниченном диапазоне - им нужно только добраться до домашнего шлюза. Таким образом, шлюз обрабатывает локальные незащищенные соединения, и только одному устройству необходимы вычислительная мощность и хранилище, необходимые для связи с облаком по протоколу TLS.
Наконец, шлюз может предоставить удобную единую точку человеческого интерфейса для устройств. Большинство шлюзов предоставляют веб-интерфейс, позволяющий конфигурировать на основе графического интерфейса. Представьте, что вы пытаетесь с помощью азбуки Морзе сконфигурировать 12-символьный пароль WiFi в устройстве, используя только одну кнопку и один светодиод. Хуже того, представьте, что сотрудники службы поддержки по телефону вашей компании обсуждают каждого клиента через этот процесс.
К сожалению, это все еще не отвечает на ваш вопрос напрямую. Но я ожидаю, что архитектура шлюза будет наиболее распространенным способом подключения ориентированных на потребителя устройств к Интернету.
РЕДАКТИРОВАТЬ: В ответ на ваш комментарий о домашних шлюзах, используемых для устройств IoT, существует несколько основных видов: выделенное одно назначение, выделенное многоцелевое и общее назначение. В дополнение к интерфейсам, указанным ниже, все они имеют интерфейс Ethernet или WiFi для передачи сообщений в IP-сеть и из нее.
Выделенный специализированный шлюз общается только с устройствами конкретного производителя. Простейшими примерами могут быть USB-ключ, который получает данные от одного устройства, например, Fitbit-ключ. Другие примеры включают Philips Hue Bridge (который связывается только с лампочками Philips Hue); шлюз Liftmaster MyQ (который связывается только с устройствами открывания гаражных ворот Liftmaster, Chamberlain или Craftsman); или концентратор Harmony (который связывается с пультами Logitech Harmony и мигает ИК-сигнал для различных компонентов домашнего кинотеатра.)
Примером выделенного многоцелевого концентратора может служить Samsung SmartThings. SmartThings продает широкий спектр устройств домашней автоматизации, но они используют только протокол SmartThings. Концентратор SmartThings также может связываться со многими другими контроллерами устройств по IP и имеет встроенную интеграцию IFTTT.
Шлюзы общего назначения могут иметь некоторые собственные компоненты, но часто поддерживают несколько интерфейсов и могут служить в качестве основного интерфейса «умного дома». Примеры включают Wink Hub (который связывается с RF устройствами Zigbee, Z-Wave, Lutron и Kidde); Vera Edge (который связывается с устройствами Z-Wave и Insteon и расширяется для связи с внешними устройствами).
Наконец, есть также некоторые очень активные усилия с открытым исходным кодом в области домашней автоматизации общего назначения, включая Domoticz и OpenHAB. Это программы, которые поддерживают связь с устройствами IoT через выделенные мостовые устройства (например, USB-ключ Z-Wave или радио Zigbee), реализуют правила и предлагают широкие интеграционные возможности, такие как IFTTT, MQTT и другие.
источник
Практически для всех потребительских продуктов, которые работают таким образом, потребуется внешний сервер для передачи сообщений с внешнего устройства на конкретное домашнее устройство. Даже в самом очевидном случае разоблачения порта 22 на Raspberry Pi вам все же (как правило) требуется динамическая служба DNS.
Для всех других методов удаленное устройство должно быть в состоянии найти домашнее устройство. Одноранговые протоколы иногда используют переадресацию портов, поскольку у них есть желание избежать архитектуры клиент-сервер.
Возможно, что система, кроме того, откроет входящий порт, используя UPnP, но это не должно быть необходимо для приложений IoT. Это может относиться к устаревшим игровым приложениям, но разваливается, как только на одном общедоступном IP-адресе присутствует более одного узла.
Хотя IPv6 позволяет связать пару устройств, многие сети сегодня не поддерживают сквозную связь IPv6. Сервер необходим независимо от того, чтобы обеспечить обновления прошивки (если только устройство не устарело до того, как оно продано).
источник