据我所知,有两种通用方法可以启用对物联网设备的远程(Internet,而非LAN)访问:


通过设备定期轮询的服务器(例如MQTT)
直接远程访问

我假设第二种方法不是直截了当的,因为通常消费类设备都位于家用路由器后面。

我的问题是:大概是什么当前销售的IoT设备的百分比使用以下哪种方法远程连接它们:


通过服务器(设备轮询服务器)
需要手动配置的直接远程访问家用路由器以启用端口转发(或通过其他方式暴露设备)
直接远程访问,其中设备通过UPnP或其他协议自动配置路由器
使用设备的静态IPv6地址进行直接远程访问不需要路由器设置

其他方法

我的问题与消费物联网设备有关,例如灯泡,轻从今天开始销售并安装在家庭中的受信任制造商的t开关,锁,温度计等。

更新:

@ Aurora0001找到了这个答案,另一个这个关于打孔的站点,用于实现位于不同内部网络中的2个设备之间的直接通信(例如在家用路由器后面)。此解决方案需要一台服务器,但仅用于初始握手。

我想这会添加另一个选项...

评论

有趣的问题。我不确定是否会有容易获得的统计数据来找出百分比-您是否特别需要这些百分比,还是只是试图了解哪种方法更常见?

另外,MQTT不会轮询,它会打开与代理的持久连接,然后代理通过该链接发送回消息

我猜今年的安装量中有99%将使用(1),但没有任何理由可以证明这一猜测。

@Mawg反向地址查找。下班访问我家中的设备。

@Perspectivus为什么,打开的套接字几乎没有开销,它以可配置的速率发送一个很小的保持活动数据包(以使代理知道它仍然存在),只要它比套接字上的TCP超时时间短15分钟即可应该无限期保持打开状态。

#1 楼

我认为您会发现“#5,其他”的百分比很高,因为该列表缺少最常见的消费者物联网架构之一:通过家庭网关的间接通信。

您描述的所有其他方法在家庭中都有缺点:它们难以配置,不安全或占用大量昂贵的服务器资源。家用网关避免了单个设备的这些问题,只将一个设备暴露给互联网。

典型的网关有多种用途。首先,它是一个协议桥。无线设备使用各种开放和专有的通信协议,包括Z-Wave,Zigbee,专用900 MHz RF,专用433 MHz RF,红外灯,蓝牙,BLE,ANT +,快思聪等。这些解决了各种利基问题,例如每台设备的成本,电池寿命,自我配置的网状网络,快速的响应时间,不安全的通信,使用最少的存储进行简单的配置等。这样,大多数消费者物联网设备都不使用IP数据包,而是将其数据传递到许多内部较小的镜架以延长电池寿命。网关会将专有协议转换为与基于IP的网络更可传输和互操作的协议。

同样,家庭网关也是存储系统规则的好地方。如果您要启用“如果您打开楼梯顶部的灯,也要打开入口灯,除非打开厨房灯”之类的规则,则可以将规则放置在电灯开关中Web服务器或网关。在每个电灯开关中放置规则会导致配置脆弱,难以设置,更改或管理。在集中式服务器中运行规则会导致延迟,因为必须将消息转换为TCP,进行加密,通过Internet发送,必须将操作接收,解密并转换回Zigbee。网关使供应商能够通过提供一个备份和还原的单一管理点以及本地处理器来快速运行规则来解决这些问题。

安全性是一个大问题:物联网设备需要便宜,廉价的处理器没有大的CPU和用于安全加密功能的存储。更不用说避免开发安全加密协议的巨额费用的愿望。因此,它们在消费类设备中实现了非常弱的(廉价)安全性,或者根本没有实现任何安全性。他们通过仅在非常有限的范围内进行通信来弥补这一点-他们只需要到达家庭网关即可。这样,网关可以处理本地不安全的通信,并且只有一个设备需要通过TLS与云进行通信所需的处理能力和存储。

最后,网关可以提供方便的单点人员与设备的接口。大多数网关公开一个Web界面,允许基于GUI的配置。想象一下,尝试仅使用一个按钮和一个LED将12个字符的WiFi密码摩尔斯电码配置到设备中。更糟糕的是,想象一下贵公司的电话支持人员会在此过程中与每个客户进行交谈。

不幸的是,这仍然不能直接回答您的问题。但是我希望网关体系结构是面向消费者的设备连接到Internet的最常见方式。

编辑:针对您对用于IoT设备的家庭网关的评论,有一些基本类型:专用的单用途,专用的多用途和通用。除了下面的接口之外,它们所有的接口都具有以太网或WiFi接口,可将消息桥接到IP网络和从IP网络桥接。最简单的示例可能是USB加密狗,它从单个设备接收数据,例如Fitbit加密狗。其他示例包括Philips Hue Bridge(仅与Philips Hue灯泡通信); Liftmaster MyQ网关(仅与Liftmaster,Chamberlain或Craftsman车库门开启器通信);或Harmony集线器(与Logitech Harmony遥控器进行通信,并使IR闪烁至各种家庭影院组件。)

专用的多功能集线器的一个示例是三星的SmartThings集线器。 SmartThings销售各种各样的家庭自动化设备,但它们只讲SmartThings协议。 SmartThings集线器还可以通过IP与许多其他设备控制器进行通信,并且具有本机IFTTT集成。

通用网关可能具有某些专有组件,但通常支持多个接口并可以用作主要智能设备。家庭界面。例如Wink Hub(与Zigbee,Z-Wave,Lutron和Kidde RF设备通信); Vera Edge(与Z-Wave和Insteon设备通信,并扩展为与外部设备通信)。

最后,在通用家庭自动化领域也有一些非常积极的开源工作,包括Domoticz和OpenHAB。这些软件程序支持通过专用桥设备(例如Z-Wave USB加密狗或Zigbee无线电设备)与IoT设备进行通信,实施规则并提供广泛的集成功能(例如IFTTT,MQTT等)。

评论


谢谢约翰。您可以提供有关此类家庭网关的常规文章或特定示例的参考吗?

– Perspectivus
17年3月15日在18:20

#2 楼

实际上,所有以这种方式运行的消费类产品都将需要外部服务器来协调消息从外部设备到家庭中特定设备的发送。即使在最明显的情况下,在Raspberry Pi上公开端口22,您(通常)仍然需要动态DNS服务。


设备启动并维持与服务器的持久连接。如果路由器提供https访问Web的权限,则不需要路由器配置。

对于所有其他方法,远程手持设备必须能够找到家庭设备。点对点协议有时会使用端口转发,因为它们希望避免客户端-服务器体系结构。

系统可能还会使用UPnP打开传入端口,但是对于物联网应用程序,这不是必需的。这可能适用于旧式游戏应用程序,但是在一个公共IP上存在多个节点时就会崩溃。

尽管IPv6可以关联一对设备,但许多网络不支持IPv6今天端到端。无论提供固件更新如何,服务器都是必需的(除非设备在出售前已过时)。