原文地址
物联网生态系统剖析
可穿戴设备和家庭自动化设备当今主宰着物联网市场,但是物联网的整个生态系统将不断向前演进。 图 1 展示了物联网生态系统简图:
- 左侧是终端设备。 它们是物联网的终端,提供了通过传感器和致动器感知和控制环境的途径。
- 网关收集来自终端设备的数据,然后传输给云(同时通过云提供控制)。 在一些情况下,网关可以处理数据,以增加生态系统的价值。
- 云提供了存储数据和执行分析的途径。 云的重要性在于:它是一组能够灵活按需扩展或收缩的资源。
- 云通过应用编程接口和应用(可能位于云中,也可能不位于云中)帮助控制和实现数据的价值。
- 最顶层是跨生态系统所有层级的管理和监控。
- 底层是用于支持开发、测试和端到端安全性(针对数据和控制层面)等其他关键功能的技术。
图 1. 物联网生态系统简图。
现在让我们分别看一下物联网生态系统的各个部分以及所用到的技术。
终端
物联网生态系统的终端是联网设备,它们能够以不同的复杂程度感知和启动。 例如在可穿戴设备领域,您可以发现包含生物传感功能的智能腕带和手表。 再比如汽车领域的智能设备网络,它们共同创造了一种更安全和更愉快的驾驶体验(通过传感器提高动力传动系统效率或或者根据海拔或温度调整汽车参数)。
在低功耗可穿戴设备领域,有像英特尔® Quark™ 系统芯片这样依靠硬币大小电池运行,并包含六轴组合传感器(加速计和陀螺仪)的处理器(在极小的 Intel® Curie™ 计算模块中)。 为提高处理能力,英特尔® Edison 计算模块支持单核和双核英特尔® 凌动™ CPU。 英特尔® Edison 主板可运行 Yocto Linux*,其庞大的软件生态系统可带来无数开发机会(请见图 2)。
图 2. 英特尔® Curie™ 计算机模块和英特尔® Edison 开发板
网关
当我们谈论物联网时,重点总是放在它所连接的大量 事物上。 出于这一原因,网关是物联网生态系统必不可少的一部分,它将可能不具备任何智能的小型终端设备连接到云(在这里数据实现盈利)。 网关可以担当一项或两项主要功能(有时候同时担当两项功能): 它可以作为桥梁将收集的终端数据迁移到云(并通过云提供控制),还可以作为数据处理器使用,在数据迁移到云的过程中减少可用数据的量或者根据可用数据快速制定决策。 因此,网关往往比终端设备功能更强大。
英特尔® 物联网网关是一款用于物联网网关应用开发的平台(请见图 3)。 该平台集成了多种关键通信技术(包括以太网、Wi-Fi、蓝牙* 和 ZigBee* 以及 2G、3G 和长期演进技术)和传感器/致动器接口(RS-232、模拟/数字输入/输出),拥有从单核英特尔® Quark 系统芯片到双核和四核英特尔® 凌动™ 与英特尔® 酷睿™ 处理器的处理能力。 为简化开发,英特尔物联网网关可支持 Wind River Linux* 7、Windows® 10 或 Snappy Ubuntu* Core(配备面向各种界面的集成式驱动程序支持,让您可以专注于应用开发)
图 3. 英特尔® 物联网网关平台
您可以使用 Wind River* Intelligent Device Platform XT 进一步简化开发工作。 Intelligent Device Platform XT 是一个可定制的中间件开发环境,可在其他事物中间提供安全和管理技术。 尽管这些特性通常都是作为事后补充手段开发,但是在一开始就注重安全性和可管理性问题有利于打造一款出色的物联网网关,从而有效保护您的数据和最大限度地减少停机。
云
鉴于其出色的可扩展性和灵活性,云是物联网生态系统必不可少的一部分。 随着来自终端设备的数据增多,扩展存储和网络资产以及计算资源的能力成为物联网系统开发的一个重要推动因素。
这项帮助实现灵活计算的技术称作 虚拟化 。 借助虚拟化,您可以将处理器划分为两个或更多虚拟处理器。 每个虚拟处理器分时共享物理处理器,当一个处理器需要较少的计算能力时,另一个虚拟处理器(以及占用处理器的软件)可利用这些物理资源。
虚拟化出现已有一段时间,但是您可以发现现代处理器中的扩展正在使该项技术变得更加高效。 正如您所预料的那样,您可能发现虚拟化扩展应用到了面向数据中心的英特尔® 至强® 处理器中,同时它们也应用到了功耗更低的英特尔® 凌动™ 处理器中。
虚拟化意味着当来自终端设备的物联网数据增多时,物理处理器将被划分为若干虚拟处理器来处理这些数据流。 当数据流减少时,这些资源将被闲置或重新分配给其他任务以节省电源和成本。
管理和监控
物联网产生的一个复杂问题是对网关和终端设备的监控和管理。 由于一个物联网系统可能包含数千个网关,而这些网关又连接了数百万个传感器和致动器终端,管理和监控工作面临着新的挑战。
尽管可以构建一个基于云的自定义应用集来应对挑战,但是您还必须考虑上市时间限制。 这就是 Wind River 创建 Wind River Helix* Device Cloud 的原因之一。 Device Cloud 是一个基于云的物联网平台,可提供设备管理、端到端安全性以及遥测和分析。 它是一个运行在终端设备和云之间的技术堆栈,提供数据捕获、数据分析和对物联网系统的整体监控和管理功能。 Device Cloud 还全面集成了英特尔® 物联网网关技术以及 Wind River Linux 和 VxWorks* 等一系列操作系统。
分析
物联网最关键的支撑是数据,这是创造价值的所在。 物联网数据格式多样,但是通常都具备两个属性:数据规模以及数据与时间的关系。
物联网部分要通过大数据处理系统来实现。 这些系统专为需要非传统处理手段的数据集而设计。 物联网生态系统中大量终端设备所产生的数据集正适合这些系统。 物联网数据的另一个属性是它往往是时间序列数据。 与传统方法相比,其存储和分析更适合使用大数据处理系统和 NoSQL 数据库。
Apache Hadoop* (通过 Cloudera 提供)仍然是重要的大数据处理系统,它自身包含一个可以满足各种需求的技术生态系统。 以数据流系统 Apache NiFi* 为例,它允许通过定向图进行基于流的编程(非常适合时间序列数据流)。 不同于面向批处理的 Hadoop Distributed File System (HDFS),Apache Cassandra* 是一个分布在节点之间的 NoSQL 数据库,可支持分布在不同地理位置数据中心内的集群。 Cassandra 数据模型也适合对时间序列数据的实时处理(使用混合键值和面向列的数据库)。 图 4 演示了这些组件之间的关系。
图 4. 大数据处理系统与文件系统之间的关系
云是进行数据分析的理想平台。 将计算资源作为数据集规模函数扩展的能力或处理速度要求使得云成为利用 NiFi 等系统分析物联网数据的理想平台。 当需要处理数据集时,云能够支持灵活扩展计算能力,并可在不需要时再减少这些资源,从而最大限度地降低了基础设施成本。
支持技术
物联网生态系统还使用了一些其他非常重要的技术。 让我们重点看一些开发和测试技术以及物联网生态系统内的设备所采用的一些技术:
- Wind River Helix App Cloud 是一个面向物联网应用的基于浏览器的开发环境。 借助 App Cloud,您可以开发代码、进一步构建 Wind River 操作系统和使用 Edison 开发板等设备简化应用测试。 由于它是一个基于浏览器的开发环境,您可以利用一流集成开发环境能够提供的所有功能,随时随地连接到开发环境。
- Wind River Helix Lab Cloud 全面集成 App Cloud,支持对各种虚拟化设备上的应用进行广泛测试。 通过 Lab Cloud,您可以创建一个代表物理设备的设备配置,然后在云中对设备进行虚拟化。 借助 App Cloud,您可以将代码加载到设备上进行确认。 作为一组虚拟化资源,您可以创建数千台设备进行测试,从而帮助您更快地发现漏洞。 Lab Cloud 可帮助您在终端设备或网关上创建可靠的物联网应用。
- Wind River Rocket* 是一款专为物联网设计的卓越的实时操作系统 (RTOS),它使用了诸如英特尔® Edison™ 开发板这样的硬件。 Rocket 具有出色的可扩展性,仅占用 4 KB 内存,是电源和内存受限系统的理想选择。 Rocket 提供了包括多线程在内的 RTOS 能够提供的所有服务,而且还预集成 App Cloud,可在最短时间内轻松构建网关或终端设备应用。
- Wind River Pulsar* Linux 是一个Linux 分发版,专用于需要安全性和可管理性的小型、高性能物联网系统。 Pulsar 支持重新配置内核,让您可以根据需求量身定制,纳入虚拟化等功能以构建复杂的物联网应用。 您还可以利用持续更新来确保平台的可靠性和安全性。 您可以在各种硬件解决方案上使用 Pulsar,如 MinnowBoard MAX* 主板和英特尔® 凌动™ CPU 等。
总结
物联网生态系统可通过广泛的技术集合创建,但是其共同主线始终是可管理性和安全性。 构建一款端到端的物联网平台需要您具备多个学科的实践知识,但是通过利用协作运行的预验证和预集成资产,这项工作不仅变得更简单,而且也会变得更有趣。