最近研究了一些物联网平台技术资料,以做选型参考。脑子里积累大量信息,便想写出来做一些普及。作为科普文章,力争通俗易懂,不确保概念严谨性。我会给考据癖者提供相关英文链接,以便深入研究。

—— 冯立超 HiwebFrank

4. 平 台

由于物联网的地域分布广、设备数量众多的特点,物联网解决方案必须借助公有云平台来实现。

物联网解决方案须具备如下功能:

- 从设备收集数据

- 分析运行中的数据流

- 存储和查询大型数据集

- 实时和历史数据可视化

- 与后端业务系统集成

- 管理设备

我们用一个简单的图示来说明物联网解决方案构架,下图是微软给出的一个与厂商无关的物联网解决方案通用示意构架:

该简化构架包括 设备连接数据处理与分析信息呈现 三个层面。

该构架中,物联网设备收集数据并与云网关交互;云网关使其它后端服务可以处理这些数据,从云网关,数据提交给其它业务应用程序或仪表板操作人员及其它展示设备。

  • 设备连接

如何让设备安全可靠地连接到解决方案后端,是物联网解决方案所面临的巨大挑战,相比于其它系统,物联网设备有如下一些特点:

- 通常是无人操作的嵌入式系统甚至是没有操作系统的设备

- 可能部署到物理访问成本高昂的远程位置等各种部署场景

- 可能无法通过其他方式来与设备交互,而只能通过解决方案后端来访问

- 供电及运算资源可能都有限

- 网络连接可能不稳定、缓慢或高成本

- 可能需要使用专属、自定义或行业特定的应用层协议

- 可以使用大量常见的硬件和软件平台来创建

除上述特点之外,物联网解决方案还必须考虑可扩展性、安全性和可靠性。传统的技术如Web容器或消息传送代理等不足以支撑这样的需求。

为此,物联网平台厂商都提出自己的解决方法,如微软的 Azure IoT Hub 及 Azure IoT SDK 等。关于 Azure IoT Hub 请参见上一讲相关内容。

有关设备连接的多种情况,微软给出的概念构架图如下:

  • 数据处理与分析

在物联网解决方案中,数据处理与分析主要交由在公有云上的后端服务进行,包括设备数据筛选、汇总、路由到其他服务等等。后端服务主要负责如下工作:

- 接收来自设备的大规模数据,并确定如何处理和存储这些数据

- 必要时可以从云端向设备发送数据或指令

- 设备注册、预配置及安全连接控制

- 跟踪设备状态并监控设备活动

- 存储和分析设备历史数据,从而实现设备预见性维护

- 与设备进行交互,实现反馈控制等

当然,并不是所有的业务都必须交由云端处理,例如一些必须及时响应的操作比如紧急刹车,这些处理及操作都必须在设备端直接进行;另外,设备也可以进行一些预处理,从而提高效率、降低数据传输量。

为此,设备本身应该具备一些处理能力。

微软的 Windows 10 IoT Core,提供了强大的设备端计算能力;

而亚马逊的 Greengrass,则使物联网设备可以运行 AWS Lambda 函数、同步设备数据以及与其他设备安全通信,甚至无需连接互联网。Greengrass 可确保物联网设备快速响应本地事件、运行时采用间歇性连接,并最大程度地降低将物联网数据传输到云的成本。

华为的 LiteOS,则强调轻量级、低功耗(一个纽扣电池用好几年)、快速启动(毫秒级)及响应(纳秒级)、多种连接协议(广域/局域)等特性。

另外,一些物联网设备,也可以通过完全自主研发的芯片,实现相关数据采集与处理。

比如图像火灾监测设备,可以将图像火灾分析算法集成在设备芯片中,由设备芯片中的算法进行判断,仅将是否发生火灾的判定结果传输到云端。

而对于较复杂的图像、或者误判图像,则将图像数据及其设备端判定结果传到云端,通过机器学习,逐步改进算法,提高图像处理能力,并通过物联网对设备进行升级操作。

  • 信息呈现和业务连接

信息呈现和业务连接层 用于展示和操控从设备收集的数据。它可让用户查看和分析从其设备收集的数据。 这些视图可以采用仪表板或 BI 报表的格式,以显示历史数据和/或接近实时的数据。

此层还可实现物联网解决方案与现有业务应用程序的集成,以连接企业业务流程或工作流。 例如,图像火灾监测系统,在发现监测设备故障信息后,通过与维护服务商现有的运维计划系统集成,可以预约工程师到现场进行检查。

下图是微软提供的一个物联网工厂的应用界面样例。

在该界面中,仪表板左侧展示了生产线细节信息。如仪表板左侧第一条,提示机械臂严重警告,而在仪表板中部的模拟界面中,同样用红色标出机械臂警告位置。在右侧的报警栏,列出不同时间点的警告信息,如机械臂温度警告等。而在仪表板下方,则展示该条生产线的整体效率信息。

  • 微软物联网解决方案构架

下图是微软物联网解决方案的较详细的构架图:

微软的物联网解决方案平台,通过微软的公有云 Azure 实现,即 微软物联网套件 Azure IoT Suite。设备通过 Azure IoT Hub 注册和接入,然后可以使用微软公有云 Azure 的各种强大的数据处理、存储、分析、机器学习能力,构建所需的各类物联网业务。

微软物联网解决方案通常至少会使用到如下服务:

- Azure IoT Hub: 该服务提供设备到云和云到设备的消息传送功能,并充当云和其他主要 IoT 套件服务的网关。 该服务使得可以从大量设备接收消息,并将命令发送给设备。 使用该服务,还能够管理设备,例如,可以配置、重启连接到 Azure IoT Hub 的设备,或对其执行恢复出厂设置操作。

- Azure Stream Anzlytics: 流分析提供运行数据分析。 该服务处理传入遥测数据、执行聚合以及检测事件。 以及处理包含元数据或来自设备的命令响应的信息消息。 解决方案使用流分析来处理设备消息,并将这些消息传送给其他服务。

- Azure Storage 和 Azure DocumentDB: Azure 存储和 Azure DocumentDB 提供数据存储功能。 解决方案使用 Blob Storage 来存储设备遥测数据并使其可用于分析;使用 DocumentDB 来存储设备元数据,以及启用解决方案的设备管理功能。

- Azure Web App 和 Microsoft Power BI: 提供数据可视化功能。 借助 Power BI 的灵活性,可以快速生成针对具体业务要求的交互式仪表板。

微软还给出了一些预配置解决方案和相关演示案例,有兴趣的读者可以点击如下链接,通过实际操作了解上面截图中的工厂物联网使用场景:http://www.microsoftazureiotsuite.com/demos/connectedfactory 。

  • 亚马逊物联网解决方案构架

而亚马逊给出的构架如下图所示:

亚马逊物联网解决方案当然强调其公有云平台 AWS,而最受其推崇的,自然是当下正热的 Serverless 构架的 AWS Lambda。

亚马逊物联网解决方案至少用到如下 AWS 服务:

- Amazon Simple Storage Service:亚马逊简单存储服务,简称 Amazon S3,提供可扩展的存储服务。

- Amazon DynamoDB:提供受管理的 NoSQL 数据库服务。

- Amazon Kinesis:提供大规模流数据实时处理能力。

- AWS Lambda:在亚马逊公有云平台发布运行自定义代码。

ZStack创始人张鑫的文章《Serverless,后端小程序的未来》 比较透彻地讲解了 AWS Lambda 及 Serverless 的原理、构架、应用场景、优势和不足,并讲述了Serverless与PaaS的区别、与容器技术的区别及联系等,推荐一读。

- Amazon Simple Notification Service:亚马逊简单通知服务,简称 Amazon SNS,负责处理通知发送与接收。

- Amazon Simple Queue Service:亚马逊简单队列服务,简称 Amazon SQS,将数据存储到队列,由应用程序获取。

(看看人家,做那么大的生意,本星球/本星系第一啊,啥都谦称为 Simple 简单啥啥啥,另外,包括现在 IT 运维领域最重要的 SNMP 简单网络管理协议、电子邮件的 SMTP 简单邮件传输协议......;看看我们,动辄 ×××、擎天、至尊,汗颜啊!惭愧啊!)

  • IBM 物联网解决方案构架

IBM 的物联网解决方案名为 Watson IoT Platform,(永远的沃森)。其构架图如下所示:

IBM 物联网解决方案基于 IBM 公有云平台 Bluemix,涉及到的服务至少包括:

- IBM Cloudant NoSQL DB:用于存储和访问设备数据。

- IBM Message Hub:为实时数据提供低延迟、可扩展的、高吞吐量的消息总线。

- IBM Blockchain 集成:对于特定领域,可以集成 IBM 区块链服务,以符合特定的商业规则要求。

- 仪表板:利用 Bulemix 提供的数据可视化仪表板,可以可视化展示设备状态数据,提供 BI 功能。

IBM给出了一个简单教程,可以快速搭建物联网测试环境,可以参见https://console.ng.bluemix.net/docs/services/IoT/getting_started/quickstart/index.html#quickstart

本讲是本系列文档的核心,用了比较多的篇幅讲了业界领先的厂商的物联网平台。下一讲,我们探讨安全。

转载于:https://blog.51cto.com/hiweb/1923406

物联网平台构架系列 (四):Amazon, Microsoft, IBM IoT 解决方案导论 之 平台相关推荐

  1. 物联网平台构架系列 (二):Amazon, Microsoft, IBM IoT 解决方案导论 之 设备

    最近研究了一些物联网平台技术资料,以做选型参考.脑子里积累大量信息,便想写出来做一些普及.作为科普文章,力争通俗易懂,不确保概念严谨性.我会给考据癖者提供相关英文链接,以便深入研究. -- 冯立超 H ...

  2. 干货分享丨玩转物联网IoTDA服务系列四-智能网关

    场景简介 已对接存量设备的网关,不用迁移就可以实现对既有设备和新设备的兼容控制. 该场景主要描述的是设备可以通过MQTT协议与物联网平台进行交互,用户可以在控制台产品详情中自定义Topic,通过应用侧 ...

  3. TK联发科MTK8735 核心板4G 全网通4核64位 物联网方案LTE模块 MTK 3G/4G行业设备解决方案

    MTK联发科MTK8735 核心板4G 全网通4核64位 物联网方案LTE模块 MTK 3G/4G行业设备解决方案 MTK联发科平台全部芯片,专业定制开发手机,平板,行业设备,智能手表穿戴,智能家居, ...

  4. 摄像头 保存到外网服务器_【小喵科技】物联网教程系列四:喵家外网IOT服务器...

    HOT新品热卖中■■■■■ 双向海量教学课程 无论是家长还是老师,都可以给孩子一个更好的未来 分享给更多的人 加入我们吧! 夏至の时光 ▼往期精彩课程在文章末尾 ▼喵家外网IOT服务器--快速上手 在 ...

  5. 寒武纪加速平台(MLU200系列) 摸鱼指南(四)--- 边缘端实例程序分析

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明 MLU220 开发板 Ubuntu18.04 + ML ...

  6. 中国电子与IBM携手构建健康云平台;微软推3款机器学习工具;【软件网每日新闻播报│第9-26期】

      小编点评 2015年,中国电子和微软成立合资公司, 中国电子占股51%, 国产操作系统错失先机, 内牛满面. 昨天, 中国电子又和IBM凑一起搭了个健康云平台, IBM抢占健康云的坑, 国产云该如 ...

  7. 谷歌、亚马逊、IBM和微软的云计算平台

    Google的云计算平台与应用 Google的云计算技术实际上是针对Google特定的网络应用程序而定制的.针对内部网络数据规模超大的特点,Google提出了一整套基于分布式并行集群方式的基础架构,利 ...

  8. Exchange Server 2013系列四:小企业邮件系统部署

    2019独角兽企业重金招聘Python工程师标准>>> Exchange Server 2013 SP1 系列四:小企业部署邮件服务器 杜飞 Exchange 服务器功能强大,不再只 ...

  9. (转)我所经历的大数据平台发展史(四):互联网时代 • 下篇

    编者按:本文是松子(李博源)的大数据平台发展史系列文章的第四篇(共四篇),本系列以独特的视角,比较了非互联网和互联网两个时代以及传统行业与非传统行业.是对数据平台发展的一个回忆,对非互联网.互联网,从 ...

最新文章

  1. 检测含有中文字符串的实际长度
  2. python处理流程-Python异常处理大全(二)
  3. 《Asp.Net 2.0 揭秘》读书笔记(五)
  4. mapreduce v1.0学习笔记
  5. oracle中的not in和not exists注意事项
  6. boost::mp11::mp_identity_t相关用法的测试程序
  7. Leecode06. Z 字形变换——Leecode大厂热题100道系列
  8. 条件转移指令和无条件转移指令练习
  9. 软件开发 thoughtworks 技术面_【软件开发】10月29日比赛详细预告
  10. JMX学习笔记(一)-MBean
  11. scala 高级类型
  12. MPP模块及sample_venc分析
  13. 计算机组成原理——基础知识
  14. 树莓派——实时时钟模块(RTC)
  15. ps怎么缩放图层大小_PS如何调整图层大小?Photoshop调整图层大小快捷键
  16. linux分区修复命令行,Linux技巧:使用Fsck命令修复损坏的分区
  17. 继承viewgroup
  18. Web前端HTML、CSS测试:世界地球日
  19. html 手机录视频,手机自带的录屏功能真是太强大了,完全秒杀第三方工具
  20. 设值单元格字体和背景色的颜色-实例

热门文章

  1. Android日期分组,按查询分组在列表视图android中显示一些意...
  2. Oracle查询某一天日期数据的SQL语句的几种写法
  3. 鸿蒙系统代码开源不担忧友商,华为鸿蒙系统正式开源!打脸“安卓套皮论”,友商手机也可采用!...
  4. 简述ajax的重构原因,Ajax 重构的步骤
  5. java 垃圾回收 指针_Java 和 C++ 垃圾回收之间的差别
  6. jni java_JNI 常见用法
  7. mysql post 中文乱码_mysql/mariaDB中文乱码问题的处理
  8. python写一个服务_写一个Python的windows服务
  9. 如何高效的学习掌握新技术
  10. 使用 Eclipse Memory Analyzer 进行堆转储文件分析