消费者物联网设备通常如何启用互联网连接?

物联网 智能家居 安全 联网
2021-06-21 23:19:46

据我所知,有两种通用方法可以实现对物联网设备的远程(互联网,而不是 LAN)访问:

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

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

我的问题是:目前销售的物联网设备中大约有多少使用以下哪种方法远程连接

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

我的问题与消费者物联网设备有关,例如来自可信赖制造商的灯泡、电灯开关、锁、温度计等,这些设备目前已销售并安装在家庭中。

更新:

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

我想这会增加另一个选择......

2个回答

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

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

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

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

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

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

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

编辑:为了回应您对用于物联网设备的家庭网关的评论,有几种基本类型:专用单用途、专用多用途和通用。除了下面的接口之外,所有这些接口都具有以太网或 WiFi 接口来桥接 IP 网络之间的消息。

专用的单一用途网关仅与特定制造商的设备通话。最简单的例子可能是从单个设备接收数据的 USB 加密狗,例如 Fitbit 加密狗。其他示例包括飞利浦 Hue Bridge(仅与飞利浦 Hue 灯泡通信);Liftmaster MyQ 网关(仅与 Liftmaster、Chamberlain 或 Craftsman 车库门开启器通信);或 Harmony Hub(它与 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 等。

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

  1. 设备发起并保持与服务器的持久连接。这不需要路由器配置,只要路由器提供对 Web 的 https 访问...

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

此外,系统可能会使用 UPnP 打开传入端口,但这对于 IoT 应用程序来说不是必需的。这可能适用于传统游戏应用程序,但一旦一个公共 IP 上存在多个节点,就会崩溃。

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