为简单起见,我将使用典型的智能家居设置作为参考来描述这一点,但这里没有任何内容由应用程序真正修复。高级拓扑同样适用于覆盖数千公里或传感器的农场监控应用、跟踪城市停车位或办公楼的照明管理。
我将大致在设备层次结构层中处理该问题,这可能对应于安装复杂性的增加,或引入特定的用例场景。这是我覆盖整个网络的广义图。
节点级别
我图中的单个节点是一个带有本地物理覆盖开关的 WiFi 连接灯。节点通常同时具有传感器和控制功能,以及少量的本地计算/存储。理想情况下,节点可以自主行动。节点可以从本地交换机、直接通过 LAN(如果它有 WiFi/蓝牙)或从本地集线器或云进行控制。节点会经常与集线器或云保持持久的 TCP 连接。
一个位置通常包含多个节点,具有不同的功能,使用各种连接选项。智能家居可能会收集室内/室外温度、活动和视频数据。远程传感器可能使用不同的互联网连接。节点通常使用微控制器,通常在低时钟频率下。
集线器级别在智能家居中,可能有多个集线器(每个设备供应商一个)、聚合或层次结构。集线器可以组合在路由器中,也可以独立使用。集线器甚至不需要在网络中处于活动状态(除了转发数据包)。但是,集线器可能负责将命令中继到节点 - 命令来自其他本地连接的节点或来自远程服务器。集线器可以实现数据的存储转发、数据的压缩或过滤。真的,集线器只是一个促进者。今天,集线器是网络的第一部分,具有提供公共 DNS 的能力,这使得它能够向整个系统发布网络结构信息。如本问题所述 通常需要一个集线器来在有线/WiFi TCP-IP 和低功耗无线电协议之间进行桥接,例如 紫蜂 或者 蓝牙低功耗. 集线器通常围绕微处理器,并且比节点的功率限制更少。
漫游终端 也称为您的智能手机。这些通常是用户交互的主要点。一旦节点可以与特定设备建立直接或中介的链接,一个简单的节点就可以通过智能手机呈现其整个用户界面。实现这一点从根本上需要一种建立信任/所有权/配对的机制。终端可以确定它自己的集线器是否在本地网络上,是否需要通过外部服务器执行所有通信,或者是否能够查找允许直接路由到它的“家庭”集线器的 IP 地址。后一种情况通常需要为路由器配置端口转发。
云服务云服务执行堆栈中的大部分工作是很常见的,尽管这并不总是必要的(并且并非所有实现都需要任何云功能)。外部(公开寻址)服务器可以提供的最有用的功能是编排。网络的每个节点和中间元素通常都能够通过与此服务器的直接通道进行通信,并且服务器可以轻松地将消息从一个设备传递到其他设备。服务器可以聚合数据并向用户呈现可视化效果。根据用户的配置,它还可以将信息转发给其他用户(例如,可以向客人授予访问和加热控制权,洪水/火灾/入侵警告可以使用其他网络选项来生成警报)。云也可以很好地接收其他数据源,