云
云。为什么要用这样一个奇怪的术语来描述在线服务?
早在20世纪90年代初,工程师们就开始在教科书和图表中用云作为互联网的隐喻。从远处看,互联网的结构像云一样无定形。后来,云被用作一种表示基于 Internet 的服务。
实际上,云计算是一系列联网计算机,允许你从嵌入式系统中转移任务或存储。想法看似简单,但潜藏着高度复杂性。
许多公司已经推出了服务,尽力简化这种复杂性;其中包括苹果的 iCloud、谷歌云平台、微软 OneDrive 等。这些云计算系统起初是为个人计算机设计的,嵌入式开发人员也需要类似的云用于 IoT 设备。
行业分析师预测,到,物联网设备将达数十亿台,这些设备将产生大量数据。有几个方法来管理和处理这些数据。
一些公司正在独立开发(并出售)自己的专有解决方案。另一些公司没有能力部署完整的基础架构,因此更愿意依赖第三方,无论是公用还是商用。
对于这些公司来说,运行后端服务必须成为核心能力,半吊子的技术水平没有空间。但并非所有机构都能提供其服务器和网络的fail-safe运行,更不用说保证备份和系统冗余了。
组成物联网的设备大军将产生比任何单个 Web 应用程序更多的数据。据估计,到,地球上每个人的数据量将达5200Gb。
为了支持未来数十亿台联网的设备,我们需要每天部署大约 340 台应用服务器(或每年部署 120000 台服务器)。云计算无疑是满足这些惊人需求的一个很好的方法。
后端服务
据说每家公司都将成为一家软件公司。为什么会这样?因为由产品创建的数据以及管理数据的系统很快就会比产品本身具有更多的价值。因此,如果您正在设计和制造 IoT 系统,并且需要后端服务,则需要选择是部署自己的系统,还是外包。大多数公司会外包。例如,恒温器制造商不大可能会发展 IT 能力,最好利用别人现有的服务。英特尔、甲骨文、谷歌等巨头已经表示计划占据这一市场空间。
如果确实要构建自己的后端服务,大家可以从物联网(3)中寻找答案。
同样关键的是,您必须确定您的客户如何访问和操作其数据。是专门通过 Web 浏览器, 还是提供智能手机本机应用程序 (iOS、 Android 和 Windows)?
后端服务的另一个重要功能是远程并安全地向 IoT 设备提供固件升级。随着物联网领域的飞速发展,几乎不可能针对每个意外事件进行设计。这意味着您的设备必须是可升级的。它将需要闪存、RAM、引导加载程序、设备安全更新固件和应用程序所需的所有其他组件。
如果外包后端服务,也需要回答同样的问题。但在这种情况下,首先需要供应商能支持你选择的协议,我们不希望后端服务提供商指定 IoT 设备中使用的协议。您需要知道提供商能否开发和支持移动数据应用程序,或者至少提供足够的工具供您自己动手。
下面是一个简短的清单帮助你开始。你的后端服务应提供:
设计服务,帮助您选择通信硬件和软件支持云协议(Websocket、RESTful、MQTT、CoAP 等)支持安全远程固件升级基于 Web 和移动应用,用于数据查看、处理和远程设备控制Web 和/或移动应用程序开发(咨询服务)定价 每个设备每笔交易每个数据类型每带宽使用情况每个存储使用情况每月/年度订阅
寻找提供沙箱技术的公司,您可以在其中注册一个免费帐户,并在商业化之前测试您的应用。某些服务还提供来自公共来源的数据,以帮助您构建更有用的应用程序。例如,在构建智慧能源应用时,访问天气数据或公用事业价格可能很有用。
当前大多数产品都基于 REST、RESTful API 和各种 Java 技术。这些解决方案可能最适合需要移动较大数据负载的应用程序。
数据分析(大数据)
当需要将自己的数据与存储在外部系统中的信息(可公开访问或许可)关联时,大数据就派上用场了。
维吉尼亚·罗梅蒂在《经济学人》中写道,处理所有这些数据需要什么样的系统:
我们的世界已经无处不在地被检测和相互关联,计算在没有人会视为计算机的设备中运行。有超过一万亿个相互连接的智能设备和生物体,每个人都拥有10亿个晶体管。目前,由于移动技术的普及,其中约有27亿人连接到互联网,这一数字正在世界各地迅速增长。地球将是一个充斥着信息的星球。这就是大数据。新一代的"认知"系统专为大数据而创建,而且可以跟上时代潮流,因为它们没有固定的程式,可以自主学习——从自己的经验和我们与他们的互动。借助云计算,认知系统可以更快地审查结构化信息(如数据库)和非结构化信息(如医疗成像和社交媒体内容)。
这意味着我们——嵌入式群体——现在可能想要了解分布式数据库管理系统,如Apache Cassendra,并学习Apache Hadoop,来分析所有这些数据。Cassandra 是一个开源分布式数据库系统,用于跨商品服务器的大数据存储管理。
当然,也有商业解决方案。例如,GE Predix™是工业互联网的软件平台。它提供了一种连接设备和数据的标准化方法,支持工业级规模的分析。
关于这些数十亿相互关联的设备如何相互作用,仍然存在一些未解答的问题:
什么是数据表示模型?什么是网络发现协议?在任何类型的网络上,是否都需要像 Bonjour 之类的发现协议。
随着这数十亿台设备不断产生数据,将这些数据引入 Internet 并使用大数据来存储和处理,很有意义。