将一台设备或传感器连接到互联网不是件容易的事—在嵌入式系统设计中没什么事是容易的。不过,那些存在于网上(云端)、供客户使用的优秀分析工具能够扩展客户设备功能,而且还能增加便利性,并通过互联网实现计算成本的节省。然而,你必须搭建一种通道,以便让设备或传感器的数据到达云端的应用程序,使数据在那里得到分析和使用。对许多嵌入式系统设计团队来说,这是一个全新领域。本文将介绍Web服务在机器到机器(M2M)应用中的工作原理,并探讨在互联网上创建“设备云”所要完成的主要任务。
你在什么云上?
迄今为止,我们中的大多数人都被灌输过“云端”和“云计算”等术语。除了生成雨、雪和暴风雨等自然气候现象外,“云”的真正含义是什么?对这个问题的简单的回答是,不要太执迷于所谓的云术语;而应该认识到,软件应用程序、连接和存储可以存在于本地设备(如PC)或某个网络中的服务器上。各种基于Web的应用就是一些最佳例子,例如电子邮件和其它集中智能点(如映射)。云端计算的好处在于,云端通常是联网的,因此可以被连接扩展互联网的每个人所共享。扩展互联网这个术语意味着物体可以通过互联网连接到物体,而不仅是人到人。机器到机器(M2M)连接可通过设备云中的扩展互联网来实现。
驻留数据
共享数据是问题的根本。然而,这些数据需要驻留在可以得到正确消化的地方。为了将设备或传感器连接到互联网,你首先需要知道哪里可以“驻留”数据。大多数现代工具依赖于Web服务直接连接扩展互联网,因此你需要知道: Web服务是什么?如何使用Web服务?如何将Web服务应用到远端设备或传感器?
为了设计能与云端交互的嵌入式系统,你需要一组功能将设备连接到位于云端的应用程序。记住,设备可以是任何东西,从仪表或自动调温器到发动机或机器;也可以是固定的某些东西,如用于存储和分配的大箱子或大容器。另一方面,应用程序可以是用于处理数据的任何系统。它可以是智能手机上安装的移动应用程序、基于Web的仪表板类型入口程序、企业资源规划系统或专家系统。不管是哪种情况,挑战在于将有关设备或资产的重要信息传送给应用程序。为了实现这个目标,我们首先需要定义创建这条数据传送通道所必需的三大功能组件。
创建通道
首先你需要如图1所示的功能以便开始设计工作。
图1:一种设备云的系统架构。
1. 传感和连接。这个功能具有有限的智能,专门用于获取信息,包括无线电模块、简单逻辑以及与即时需求有关的传感技术。
2. 汇聚和转换。在将数据点通过大型网络(如互联网)发送出去之前,需要以一种有意义的方式,有效总结或汇聚这些数据点。这个功能的另外一个关键部分是,将信息放入通用表述性语言。因此,这个功能一般包括规则框架、协议转换和映射,一般还包括通往IP网络的一条通道。
3. 设备云。设备云是扩展互联网的组成部分,通常感知所有连接到远端站的设备。一般来说这是一个用作通道和数据存储的主机系统。设备云也汇聚来自所有远端站点的信息,其方式与汇聚和转换功能汇合各个设备的差异信息基本相同。
为了更好地理解这种环境,可以把云架构看作是一组的服务(如图2所示),其定义为:
图2:作为一组服务的云架构。
1. 基础设施即服务(IaaS)。在最底层的IaaS是云端的“基础”。它包括网络连接、物理服务器、防火墙、磁盘和路由器等。
2. 平台即服务(PaaS)。包括了形成场景通信链路和管理功能的所有软件,同时提供顶层赖以生存的环境。
3. 软件即服务(SaaS)。顶层是实际的应用程序,可以是网页、映射、分析或其它软件,也是最终智能处理工作实施的地方。通过这种方式,设备云可以提供使用通用语言的设备场景化表述,并帮助基于Web的应用程序完成实际的工作。