
1.4 使用案例和部署示意
理解物联网和边缘计算系统最有效的方法是从实际产品的用例开始。在这里,我们将研究解决方案旨在提供什么,然后将重点放在底层技术上。用户和客户不会详细说明完整的系统需求,我们则需要从现有约束中找到差异。这里的例子还将说明物联网部署是不同工程学科和科学之间的跨领域协作。通常,会有数码架构师、网络工程师、低级固件工程师、工业架构师、人因工程师、电路板布局工程师,以及云和SaaS开发人员。无论如何,不能进行孤岛式设计。一个领域的设计选择往往可能导致性能差、电池寿命差、网络费用过高或与远程设备的通信不可靠。
1.4.1 案例研究——远程和缓医疗
一家为老年人提供家庭护理和咨询服务的机构打算采用更好、更可行、更经济的解决方案,使他们目前的家庭护理和护理援助实现现代化,以解决日益严重的成本危机和患者数量的危机。目前,这项服务将对威斯康星州麦迪逊市一个100英里[1]半径范围内的500多名患者进行为期7天的常规的家庭护理探访。探访内容包括从送药、特殊护理服务到测量患者生命体征等。患者通常超过70岁,无法管理带回家的任何IT基础设施。此外,患者家中可能没有任何互联网连接或宽带连接。
要求
提供商希望系统能够提供以下最低功能集和服务:
- 为每位患者分配一个可穿戴设备,以监测心率、血氧、运动、温度和所采取的步骤。
- 在患者家中安装额外的设备,以监测特定的患者状况和生命体征,如血压、血糖水平、体重、口腔温度等。
- 系统必须向中央操作仪表板报告患者生命体征数据。
- 系统还将提醒患者何时服用某种药物或何时进行生命测试。
- 系统必须能够在断电时跟踪患者的状态。
- 可穿戴系统配有一个易于识别的按钮,可向等待的操作员服务发出紧急情况(如坠落)信号。设备将闪烁,表示紧急情况已启动。设备将与操作员进行双向音频通信。对于听力受损的患者,将使用替代方法与患者沟通。
- 整个网络必须能够管理500名现有患者,并以每年10%的速度增长。
- 系统必须在实施的三年内实现总体成本节约和33%的投资回报率。这一关键绩效指标(KPI)通过将居家护理和护理协助从每天三小时减少到每天两小时,同时提高项目中患者的医疗质量来测量。
实施
医疗物联网和远程医疗是物联网、人工智能/机器学习和传感器系统发展最快的领域之一。它的年增长率(YoY)为19%,到2025年市场规模为5340亿美元,因此引起了人们的极大兴趣。然而,我们研究这个特定的案例,是因为它对系统设计者设置了很多的限制。具体而言,在医疗保健领域,严格的要求以及HIPAA和FDA法规对构建一个影响患者福祉的系统强加了必须克服的限制。例如,HIPAA要求保证患者数据的安全性,因此必须对整个系统进行加密和数据安全的设计及限定。此外,在这里,当我们试图建立一个与互联网连接的系统时,需要考虑老年人的约束条件,即缺乏与互联网的强连接。
该系统将分为三个主要部分:
- 远端边缘层:由两个设备组成。首先是为患者提供的可穿戴设备。第二个是各种不同的医疗等级测量工具。可穿戴设备是无线设备,而其他测量设备可能是也可能不是无线设备。两者都将与接下来描述的PAN-LAN层组件建立安全通信。
- 近边缘PAN-WAN层:这将是一个安装在患者家中或可能被护理的地方的安全设备。它应该是便携式的,但是一旦安装,就不应该由患者使用和篡改。这将容纳PAN-LAN网络基础设施设备。它还包含边缘计算系统,用于管理设备、控制态势感知,并在发生故障时安全地存储患者数据。
- 云层:这将是存储、记录和管理患者数据的聚合点。它还提供了仪表板和态势感知规则引擎。临床医生将通过单一仪表板和统一管理界面来管理一组已安装的家庭护理系统。管理500名患者(每年同比增长10%)将带来快速管理大量数据的挑战,尤其是在紧急情况下。因此,将构建规则引擎来确定事件或情况何时超出边界。
该架构的三层构成了从传感器到云端的系统。下一部分将详细介绍每个层的各个方面。
我们选择的单一用例只是一个来自可穿戴设备的物联网事件,必须将它传播到云端才能显示仪表板。数据流延伸到该物联网用例的所有三层,如图1-6所示。

图1-6 此用例中的基本数据流和软件组件。请注意,边缘计算设备的作用是通过传输协议在蓝牙设备和云之间提供转换。它还充当缓存服务器和加密代理
该用例将从集成传感器读取数据,并将数据作为已配对设备的蓝牙广播包广播到边缘计算机。边缘系统管理与蓝牙个域网的关系,并将在电源或通信故障时检索、加密和存储传入的数据到云端。边缘系统还负责将蓝牙数据转换为基于MQTT协议封装的TCP/IP数据包。
它还必须设置、管理和控制蜂窝通信。MQTT允许可靠和强大的传输到等待的云系统(本例中的Azure)。在那里,数据通过TLS加密,基于电缆传输,然后进入Azure物联网中心。届时,数据将通过流分析引擎进行验证和调集,并传送到逻辑应用。在那里,基于云的Web服务将承载患者的信息和事件的仪表板。
远端架构
让我们从远端和可穿戴设计开始。对于这个项目,我们首先将用户需求分解为可操作的系统需求(表1-2)。
表 1-2

在和缓治疗(palliative care)情况下,可穿戴设备的目的是可靠、坚固且耐用。我们选择了医疗级组件和经过环境测试的电子产品,以承受家庭护理中可能出现的使用情况。该设备也将没有可维修部件。例如,对于这个使用场景,我们选择不让患者为可穿戴设备充电,因为患者可能无法可靠地完成这个过程。由于该项目仍需要居家护理和护理协助,因此护理协助的部分任务将是为可穿戴设备充电并监视其状态。
系统通常从组件实体的限定开始。在该情形中,用于老年人家庭保健的可穿戴系统可以是腕带、颈带、臂带等形式。本项目选择了一种类似于医院式的腕带,病人对这种腕带已经有一定的熟悉度。腕带可以贴近皮肤和动脉,以便收集健康特征。其他形式的可穿戴设备无法提供更牢固的接触。腕带在尺寸、功率和形状上确实有很大的限制,必须包含以下所述的所有电子元件、电源和无线电设备。
如图1-7所示,从方块图的角度来看,这款可穿戴设备将由尽可能少的部件组成,以尽量减少空间和重量,同时尽可能节省电力。在这里,我们选择使用一个非常省电的微控制器和蓝牙5无线电(低功耗蓝牙,BLE)。低功耗蓝牙无线电将作为PAN-WAN集线器的PAN通信。BLE 5的范围可达100米(当启用LE远程模式时,可以更远)。

图1-7 家庭和缓护理的可穿戴计算设备
这对于患者不必离开的家庭护理情况已经足够了。
边缘层架构
PAN-WAN边缘层是中央边缘计算机、网关和路由器。在许多情况下,这个功能是由智能手机设备来完成的。但是,在这个方案中,我们需要使用比普通智能手机用户更经济的蜂窝服务计划来构建系统。由于我们的规模是500名用户,并且还在不断增长,我们决定使用现成的硬件组件构建一个集线器,为客户提供最佳的解决方案。
我们选择的边缘计算机是一台工业级的单板计算机,能够运行企业级的Linux发行版。Inforce 6560作为蓝牙5.0个域网和蜂窝广域网之间的网关,如图1-8所示。片上系统(SOC)方便地集成了以下硬件:
- 骁龙660处理器,高通Kryo 260 CPU
- 3 GB板载LPDDR4 DRAM
- 32 GB eMMC存储
- 一个microSD卡接口
- 蓝牙5.0无线电
- 802.11n / ac Wi-Fi 2.4 GHz和5 GHz无线电网络

图1-8 边缘系统硬件框图
边缘计算机还将使用蓝牙5.1位置跟踪到达角天线阵列。这一新标准将使边缘系统可对蓝牙领域内的可穿戴设备和患者获得厘米级的位置精度。这将允许跟踪患者的运动、锻炼、浴室功能和紧急情况。
边缘系统依靠故障切换电源系统或不间断电源(UPS)供电。如果出现停电事故,UPS设备将从线路电流切换为电池。它将通过USB或串行UART信号通知边缘系统发生了电源事件。到那时,边缘系统将与发生电源事件的云管理沟通,可能需要采取一些措施。
软件架构
在这个相对简单的系统中,除了三层通信协议和硬件外,还有三种不同的软件模型。我们将研究实时传递患者健康数据的最常见用法,而不是赘述这个用例的每一个设计的细微差别,包括每一个故障恢复、设备供应、安全和系统状态。
可穿戴设备的软件结构必须与我们选择的硬件兼容,如图1-9所示。这意味着我们要选择与所用架构和外设兼容的工具、操作系统、设备驱动和库。我们先从可穿戴设备说起,它对代码大小、电池寿命和性能限制的要求最为严格。由于STM32WB微控制器被设计为双核,我们基本上有两个系统需要管理:将运行我们特定的可穿戴固件的高性能ARM M4内核,以及通过蓝牙管理I / O的低功耗M0内核。我们选择一个商用实时操作系统,比如Express Logic公司的ThreadX,以实现现代化的开发体验,而不是一个简单的不适用该产品的控制循环。我们还希望能够对产品进行医疗级的使用认证,这在使用商用操作系统时更容易实现。

图1-9 可穿戴式系统软件堆栈,分为两个处理内核,用于应用程序服务和IO通信
可穿戴设备上的软件结构分为两个进程,这些进程托管用于管理可穿戴显示器的多个线程、扬声器和麦克风硬件、心跳和运动传感器的I/O以及蓝牙栈。蓝牙栈与M0内核进行通信,该内核管理蓝牙无线电的硬件层。
边缘计算机具有更多的处理资源,因为它必须提供完整的TCP/IP栈、PAN和WAN通信与路由、加密服务、存储服务、设备置备和故障安全固件升级。如图1-10所示,对于边缘系统,我们选择Linux Debian系统,因为它比紧密嵌入的RTOS提供更多的功能和服务。云系统以及边缘计算机或可穿戴设备上的所有服务都是通过“规则引擎”进行协调的。规则引擎可以是使用针对此客户或用例的自定义逻辑的简单“专家系统”。一个更健壮的设计可以使用像Drools这样的标准化框架。由于每个患者可能需要有一套不同的规则,因此使用一个动态的、可互换的规则引擎是有意义的,该引擎可以用不同的患者指令上传。这是一个自主的顶层主管,可以定期捕获运行状况数据、解决安全问题、可靠地发布新固件更新、管理身份验证和安全性,并处理大量错误和故障情况。规则引擎必须是自主的,这样才能满足系统的产品需求,而无须通过云直接控制。

图1-10 边缘计算机软件栈,其中包含由单个监督和自治“规则引擎”管理的许多服务
云服务层提供摄取、长期数据存储、流分析和患者监护仪表板的服务。它为医疗保健提供商提供了一个通用接口,可以通过其安全地管理数百个边缘系统。这也是一种可以快速报告运行状况、错误情况和系统故障并安全地提供设备升级的方法。云服务与边缘服务的划分如下:
- 云服务
- 对于多个远端患者和系统的数据获取和管理
- 几乎无限的存储容量
- 对边缘进行受控软件部署和更新
- 边缘服务
- 对事件的低时延和实时的反应
- PAN与传感器通信
- 最低连接要求
商业云服务将附带服务协议和经常性成本,而边缘系统在大多数情况下只会产生单一的前期硬件和开发成本。
在考虑云组件时,我们需要一项服务来安全地从多个边缘设备接收数据。数据需要存储以供分析和监控。云服务还应该包括一种管理和提供边缘安装的方法。最后,我们寻找一种方法来获取病人的实时数据,并将其显示给有资质的工作人员。
对于这个项目,我们选择使用Microsoft Azure IoT作为云提供商来管理这个大型部署并实现增长和可扩展性。Azure IoT提供了如图1-11所示的架构。

图1-11 典型的Microsoft Azure IoT软件栈和云架构
至少在IoT Hub的前端,Microsoft Azure IoT软件架构之间的设计通常是保持一致的。数据将从各种经过身份验证的源传输到Azure IoT中心。云网关能够扩展到非常大型的IoT安装。在幕后,IoT Hub是一组数据中心流程和服务的集合,用于侦听和响应传入的事件。
IoT Hub将把合格的流路由到流分析引擎。在这里,数据将被快速地实时分析,就像数据能够被吸收一样快。数据可以汇集到商业智能服务,长期存储在Azure SQL数据库中,并移动到服务总线。服务总线以队列的形式响应事件和故障,以允许系统对它们做出响应。我们架构中的最后一个组件是云“黏合”层,它将数据路由到物联网设备(Logic App Dynamics到Azure)或响应传入数据(Logic App Azure到Dynamics)。Microsoft Dynamics 365作为一个逻辑应用程序接口,允许物联网事件的可见性、仪表板的创建、Web框架,甚至移动和智能手机报警。
这个用例只是商业产品的实际功能的一小部分。我们忽略了重要的领域,如配置、身份验证、错误情况、弹性固件升级、系统安全性和信任根、故障转移条件、音频通信、密钥管理、LCD显示工作以及仪表板控制系统本身。
1.4.2 用例回顾
我们在这个非常简短的介绍性用例中所展示的是,企业和商业设计的物联网与边缘计算需求涉及许多学科、技术和考虑因素。试图以现代的性能、可靠性、可用性和安全性预期简化将互联网连接与边缘系统桥接的复杂性,可能会以失败告终。
正如我们在简略的医疗可穿戴用例中所看到的那样,我们的设计涉及许多可互操作的组件,这些组件组成了一个系统。负责物联网系统的架构师必须对这些系统组件有一定程度的了解:
- 硬件设计
- 电源管理和电池设计
- 嵌入式系统设计和编程
- 通信系统、无线电信令、协议使用和通信经济学
- 网络栈和协议
- 安全性、服务开通、身份验证和可信平台
- 性能分析和系统分区
- 云管理、流系统、云存储系统和云经济学
- 数据分析、数据管理和数据科学
- 中间件和设备管理
本书的目的是帮助架构师通过无数的细节和每一个层次的选择找到正确的方法。
[1]1英里约等于1609米。——编辑注