物联网云设备集成

作者: 4000213000 分类: 豆友棋牌ios 发布时间: 2019-05-06 21:35

物联网 (IoT)鞭策嵌入式控造向史无前例的智能程度开展。在独立使用设备之处,物联网将它们集成至一个由多个子系统组成的系统中。这使得设备间可以互相协做并与其他效劳停止交互,从而提供更超卓的性能、响应才能和正常运行时间。

关于由应用提供的所有物联网设备的数据流,用户均可操纵云的强大计算才能,让机器进修、数据发掘和其他技术对这些数据流停止处置。同时,这些物联网设备也无需专门针对应用停止设想。基于云的系统能够操纵 Spark 和 Hadoop 等数据整理技术对差别来源的实时信息和历史信息停止整合,能够实现跨多个来源的关联做业,同时在实现过程中获得有价值的信息。虽然物联网具备必然的处置才能,但也会不成制止的遇到各种复杂情况。

物联网应用交付的一个关键问题是每个处理计划的组成部门都很多样性。物联网应用需要获取来自差别类型传感器的读数,例如温度、运动和空气量量。即便是同类型的传感器读数,数据也可能采集自差别造造商提供的设备,或者来自非物联网设想的旧硬件。

以监测酒店每个房间内温度的物联网项目为例。每个房间能够有三个传感器,且每个传感器都能监测温度。靠门的传感器能够将其温度传感器做为火警报警器模块的一部门,另一个靠近床的传感器能够与客房空调控造相关联,而浴室中的传感器能够做为物联网晋级部门的公用安装安拆。

关于那些从每品种型设备处获取读数的软件,需要考虑每个传感器的校准办法及获得数据的方式。一些设备能够根据超出编程阈值的条件变革或通过基于云的应用按需定期发送数据。同时,它们可能使用差别的网络连接,如使用有线网络,而有的则使用蓝牙或Zigbee等无线网络。此时,应用需要考虑这种可变革性。但问题远却远不止如此。

功耗是许多物联网设备要处理的首要问题。连结较长电池使用寿命的最常用办法是最小化无线通信及核心微处置器等高功耗系统的活动。这些子系统在系统的大部门生命周期都连结低功耗睡眠形态。它们会在短时间内醒来,并在再次睡眠前处置任务。最末减小运做周期。也许系统生命周期中只要不到1%的时间处于完全清醒和高功耗形态。在剩余的99%的时间内,仅对维持系统形态所需的系统(例照实不时钟)停止供电。采用这样的设想,物联网节点可在单次充电后使用数年。

如今,许多微控造器 (MCU) 都集成了硬件形态机。这样一来,能够通过实不时钟触发来定期唤醒重要的传感器,且可在不唤醒主机微处置器的情况下获取读数。在微处置器被唤醒并执行处置操做之前,某些系统能够采用一组预定读数。其他系统也可将阈值编程至传感器逻辑中,以便立即对较大偏向做出反响。

在云中运行的控造应用可能会从设备处恳求需要的数据,或通过向设备发送命令来更改形态。但为了确保低占空比需求,设备不会在短时间内响应。因而当命令发出时,设备仍将处于低功耗形态。该应用需要用逻辑思维来确保其对设备形态的理解与现实连结一致。

在物联网初始阶段,集成商发现他们必需使用自定义协议或长途过程调用 (RPC) 技术来构建本人的云集成软件根底设备。凡是,他们会在公用设备中使用本人的数据中心或租用刀片式效劳器,并会从连接的嵌入式设备中接收数据,将信息推送到中央数据库并运行向用户呈现数据和执行形式阐发的应用。

集成商要确保故障恢复才能和高可用性,并处置未能永久连接到设备的复杂环境。实现这一目的的一种办法则是使用设备影子概念。这些设备影子指的是在云端存储的文档,能够缓存有关设备形态(自上次陈述后)和任何待定更改的信息。

虽然应用能够本人办理设备影子,但假如将其转移到可跨多品种型的设备提供尺度化接口的效劳层,则可更轻松地办理该项任务。目前,这是Amazon Web Services、IBM Watson IoT和 Google Cloud 等云根底设备产物提供处置的寡多功能之一。

云根底设备平台执行的另一项效劳是协议映射。云是围绕TCP/IP 协议,以及其可以承载效劳的广泛使用而开展起来的。虽然许多基于云的效劳所用的超文本传输协议 (HTTP) 是一种无形态协议,但由于TCP的广泛撑持,该协议可运行在面向形态的TCP 层之上。但只要少数物联网设备具有可实现完好 TCP/IP 仓库的资源,进而实现与云应用间接通信。由互联网工程任务组 (IETF)恳求定义的受限应用协议 (CoAP) 简化了 HTTP,使其与资源受限设备愈加兼容,并消除了使用 TCP 层的需求。

CoAP采用 4 字节报头和紧凑编码,能撑持协议的数据包长度比凡是的由骨干以太网连接所提供的数据包长度长。常见的替代CoAP计划是 IBM 开发的动静队列遥测传输 (MQTT) 协议,该协议具备合适更多物联网设备的特性。该协议可在各种数据包格式上运行,例如蓝牙、Zigbee以及 TCP/IP。与传统 HTTP Web 效劳的客户端效劳器形式比拟,MQTT 撑持发布订阅形式。该形式具有尽量减少单个物联网设备恳求的长处。

图 1图1:关映射 MQTT 和CoAP – 图片版权归 e 络盟所有

图 2:MQTT 发布/订阅模型示例 – 图片版权归 e 络盟所有

为确保跨差别平台的数据传输的一致性,云平台采用 JavaScript 对象暗示法 (JSON) 格式。要将数据发送到云,设备必需首先将其拥有的数据编码为 JSON 表述,然后将其用做CoAP、HTTP 或 MQTT 动静的有效负载。施行者可选择:让末端设备执行此任务或使用网关来处置该过程。在广泛使用传统硬件的系统中,网关凡是是首选。网关能够使用设备专有或预设物联网尺度来搜集数据,并将数据在 JSON 表述形式之间停止互相转换,也能够做为从云接收的任何命令的代办署理。网关施行将决定能否需要以设备能够理解的形式转换和中继这些命令。

为了处置 JSON 转换以及与云的交互,物联网设想的设备可能包罗本人的软件仓库。对 JSON 和网络接口的撑持能够整合到核心实时操做系统 (RTOS),并使用诸如 C 语言之类的编程语言停止访问。某些由物联网集成商采用并被云根底设备供给商撑持的技术会在每个针对物联网云集成停止优化的末端设备上施行虚拟机。

图 3:JSON 格式的传感器输出示例 – 图片版权归 e 络盟所有

在每个物联网设备平台上施行的设备驱动法式用于将虚拟机的命令转换为底层 RTOS 和固件能够理解的形式。固件负责优化功耗和初级计时,并提供云层可依赖的尺度化效劳集。

与传统嵌入式环境比拟,云环境中的开发可提供更丰硕的编程东西。现今,用于云编程的语言往往被设想为在托管代码环境中运行。代码其实不是被编译,而是在运行时解释,或者假如要提供更高的性能,则需要立即 (JIT) 编译。虽然嵌入式开发人员凡是选择的编程语言有限(次要是 C 语言和 C++),但云开发人员能够访问各种编程语言,并且此中许多语言针对特定需求停止了优化。虽然 Java 和 Python 可撑持许多应用需求,但 Hadoop 对 Java 停止了扩展,便于更轻松地在多个计算节点间传布数据处置工做负载。

虽然嵌入式和云编程都意味着使用穿插开发资源,但为效劳器编写代码的开发人员凡是能够使用虚拟机技术在本人的计算机上构建目的环境的缩小版本。凡是,嵌入式开发人员需要针对目的单独开发代码,并在每个编纂-编译-下载序列后运行测试,因而会增加周转时间。撑持托管代码语言的中间件环境通过在当地虚拟机上实现原型代码来协助简化开发,从而提供了类似于云开发人员所体验到的效果。

由于能够使用云根底设备效劳,集成商如今能够访问一系列东西,从而使完好物联网处理计划的构建变得愈加容易。这些面向云的效劳深化到了设备层,可大大降低布置的复杂性,而且让集成商可以充实操纵物联网的全部功能。

,

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注