亚马逊AWS IoT平台分析

摘要:
亚马逊AWSIoT I.AWSIoT1.1简介AWSIoT平台的优势是广泛和深入的AWS拥有从边缘到云的广泛和深入物联网服务。AWSIoT包括预防性安全机制,如设备数据的加密和访问控制。AWSIoT将数据发送回云,以不断改进模型。AWSIoT可以支持数十亿个设备和数万亿条消息,并且可以处理这些消息并将其安全可靠地路由到AWS终端节点和其他设备。AWSIoT将比较预期未来状态与上次报告状态之间的差异,并命令设备“弥补差异”。
亚马逊AWS IoT

一.AWS IoT简介

1.1  AWS IoT平台的优势

(1)广泛而深入

AWS 拥有从边缘到云端的广泛而深入的 IoT 服务。设备软件、Amazon FreeRTOS AWS IoT Greengrass 提供本地数据收集和分析能力。在云中,AWS IoT 是唯一一家将数据管理和丰富分析集成在易于使用的服务中的供应商,这些服务专为繁杂的 IoT 数据而设计。                                                                      

(2)多层安全性

AWS IoT 提供适用于所有安全层的服务。AWS IoT 包括预防性安全机制,如设备数据的加密和访问控制。AWS IoT 还提供持续监控和审核安全配置的服务。您可以收到警报,以便缓解潜在的安全问题,例如将安全修复程序推送到设备。                                                                     

(3)卓越的AI集成

AWS AI IoT 结合在一起,使设备更为智能化。您可以在云端创建模型,然后将它们部署到运行速度达到其他产品 2 倍的设备。AWS IoT 将数据发回至云端,以持续改进模型。与其他产品相比,AWS IoT 还支持更多的机器学习框架。    

(4)大规模得到验证

AWS IoT 构建于可扩展、安全且经过验证的云基础设施之上,可扩展到数十亿种不同的设备和数万亿条消息。AWS IoT 还与 AWS LambdaAmazon S3 Amazon SageMaker 等服务集成,从而让您可以构建完整的解决方案,例如使用 AWS IoT 管理摄像机并使用 Amazon Kinesis 进行机器学习的应用程序。

1.2  AWS IoT 解决方案

(1)工业解决方案

     AWS IoT 客户正在构建工业 IoT 应用程序,以预测质量和维护,并远程监控操作

(2)家庭解决方案

AWS IoT 客户正在为家居自动化、家居安全和监控以及家庭网络构建互联家居应用程序。

(3)商业解决方案

AWS IoT 客户构建用于交通监控、公共安全和健康监控的商业应用程序。

1.3  AWS IoT平台定位

1)AWS IoT是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互。

2)AWS IoT可支持数十亿台设备和数万亿条消息,并且可以对这些消息进行处理并将其安全可靠地路由至 AWS 终端节点和其他设备。应用程序可以随时跟踪所有设备并与其通信,即使这些设备未处于连接状态也不例外。

3)使用AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning、Amazon DynamoDB、Amazon CloudWatch、AWS CloudTrail 和内置 Kibana 集成的 Amazon Elasticsearch Service 等AWS服务来构建IoT应用程序,以便收集、处理和分析互连设备生成的数据并对其执行操作,且无需管理任何基础设施。

二.AWS IoT 架构

2.1 总体架构图

 亚马逊AWS IoT平台分析第1张

集成了AWS的功能模块:

 亚马逊AWS IoT平台分析第2张

  • Amazon DynamoDB—托管NoSQL数据库
  • Amazon Kinesis—大规模流式数据实时处理
  • AWS Lambda—EC2云虚拟机运行代码响应事件
  • Amazon Simple Storage ServiceS3可扩展云存储
  • Amazon Simple Notification—推送通知服务
  • Amazon Simple Queue Service—消息队列服务

2.2 设备网关

 亚马逊AWS IoT平台分析第3张

  • AWS IoT 设备网关支持设备安全高效地与 AWS IoT 进行通信。设备网关可以使用发布/订阅模式交换消息,从而支持一对一和一对多的通信。凭借此一对多的通信模式,AWS IoT 将支持互连设备向多名给定主题的订阅者广播数据。
  • 设备网关支持 MQTTWebSocket HTTP 1.1 协议,也支持私有协议。
  • 设备网关可自动扩展,以支持 10 亿多台设备,而无需预配置基础设施。

2.3 认证授权

 亚马逊AWS IoT平台分析第4张

  • AWS IoT 在所有连接点处提供相互身份验证和加密。AWS IoT 支持 AWS 身份验证方法(称为"SigV4")以及基于身份验证的 X.509 证书。使用 HTTP 的连接可以使用任一方法,使用 MQTT 的连接可以使用基于证书的身份验证,使用 WebSockets 的连接可以使用 SigV4
  • 使用 AWS IoT 生成的证书以及由首选证书颁发机构 (CA) 签署的证书,将所选的角色和/或策略映射到每个证书,以便授予设备或应用程序访问权限,或撤消访问权限。
  • 通过控制台或使用 API 创建、部署并管理设备的证书和策略。这些设备证书可以预配置、激活和与使用 AWS IAM 配置的相关策略关联。
  • AWS IoT 还支持用户移动应用使用 Amazon Cognito 进行连接,Amazon Cognito 将负责执行必要的操作来为应用用户创建唯一标识符并获取临时的、权限受限的 AWS 凭证。

2.4 注册表

  • 注册表将创建设备标识并跟踪元数据,如设备的属性和功能。
  • 注册表向格式一致的每台设备分配唯一的标识,而不管设备的类型和连接方式为何。此外,它还支持描述设备功能的元数据,例如传感器是否报告温度,以及数据是华氏度还是摄氏度。
  • 注册表存储有关设备的元数据,无需支付额外费用;并且需要每隔 7 天至少访问或更新注册表条目一次,注册表中的元数据就不会过期。

JSON格式存储的设备注册表信息

 亚马逊AWS IoT平台分析第5张

2.5 设备影子

2.5.1 设备影子介绍

 亚马逊AWS IoT平台分析第6张

  • 设备影子保留每台设备的最后报告状态和期望的未来状态,即便设备处于离线状态。
  • 通过 API 或使用规则引擎,获取设备的最后报告状态或设置期望的未来状态。
  • 应用程序可以设置设备的期望未来状态,而无需说明设备的当前状态。AWS IoT 将比较期望未来状态和最后报告状态之间的差异,并命令设备"弥补差异"
  • 设备 SDK 能够轻松地同步其状态及其影子,并响应通过影子设置的期望的未来状态。
  • 设备影子免费存储设备状态多达一年。如果至少每年更新一次状态,则设备影子将永久保留状态;否则状态将过期。

2.5.2 设备影子的流程

 亚马逊AWS IoT平台分析第7张

2.5.3 设备影子的格式

亚马逊AWS IoT平台分析第8张

2.6 规则引擎

2.6.1 规则引擎介绍

 亚马逊AWS IoT平台分析第9张

  • 规则引擎验证发布到 AWS IoT 的入站消息,并根据定义的业务规则转换这些消息并将它们传输到另一台设备或云服务。规则可以应用至一台或多台设备中的数据,并且它可以并行执行一个或多 个操作。
  • 规则引擎还可以将消息路由到 AWS 终端节点,包括 AWS LambdaAmazon KinesisAmazon S3Amazon Machine LearningAmazon DynamoDBAmazon CloudWatch 和内置 Kibana 集成的 Amazon Elasticsearch Service。外部终端节点可以使用 AWS LambdaAmazon Kinesis Amazon Simple Notification Service (SNS) 进行连接。
  • 使用类似 SQL 的语句编写规则。例如:如果温度读数超出特定阈值,则它可以触发规则以便将数据传输到 AWS Lambda;如果此温度超出其他 5 台设备的平均值 15%,则应采取措施。
  • 规则引擎将提供数十个可用于转换数据的可用功能,并且可以通过 AWS Lambda 创建无限个功能。例如,如果正在处理各种不同的数值,则可以取传入数字的平均值。规则还会触发在 AWS Lambda 中执行 JavaNode.js Python 代码,从而提供最高灵活度以及处理设备数据的能力。

 

 

2.6.2 规则引擎的作用

 亚马逊AWS IoT平台分析第10张

规则引擎验证发布至AWS IoT的消息请求,基于业务规则转换消息请求并发布至其它服务,例如:

1富集化或过滤从设备收集的数据

2将设备数据写入一个亚马逊DynamoDBm数据库

3保存文件至亚马逊S3

4发送一个推送通知到所有亚马逊SNS用户

5向亚马逊SQS队列发布数据

6调用Lambda函数抽取数据

7使用亚马逊Kinesis处理大量的设备消息数据

8发送数据至亚马逊Elasticsearch服务

9捕获一条CloudWatch测量数据

10更新一条CloudWatch告警

11把一条MQTT消息数据发送至亚马逊机器学习服务,基于亚马逊机器学习模型进行预测

2.6.2 实时流式数据处理

 亚马逊AWS IoT平台分析第11张

N:1 入站的传感器流式数据(数据降噪)

规则引擎过滤、转换、汇总传感器数据后,发送至亚马逊Kinesis处理实时流式数据

Kinesis流式数据共享至其它业务系统

将流式数据的实时处理结果导入至数据库、应用或其它亚马逊服务

2.6.3 推送服务

 亚马逊AWS IoT平台分析第12张

推送通知

支持苹果APNS推送通知服务、谷歌GCM云消息服务、亚马逊ADM设备消息服务,微软WNS推送服务

亚马逊SNS推送通知服务->HTTP协议终端(短信、邮件)

通过亚马逊SNS推送通知服务,调用第三方HTTP协议终端,支持订阅和重试

2.7 设备管理

 亚马逊AWS IoT平台分析第13张

  • 支持全球或部分地区的固件升级
  • 规则引擎在DynamoDBm数据库跟踪升级状态和进度
  • 注册表存储设备的固件版本

S3管理固件分发版本

S3中组织和保障和固件二进制文件

消息代理使用话题模式通知设备分组

通知设备分组固件更新信息,包括S3中的固件二进制文件URL地址

免责声明:文章转载自《亚马逊AWS IoT平台分析》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux最全vi命令ASP.NET探针下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Windows下手动配置Oracle Client的要点

Windows下手动配置Oracle Client的要点我的Windows上原有Oracle 9的客户端, 想使用cx_Oracle和python些点东西, cx_Oracle官网上没有for python2.7和Oracle9的安装包, 但有for oracle10的安装包. 所以需要先安装Oracle 10 client. 可能是因为卸载Oracle...

VB的写法,关于版本写入注册表

VB的写法,关于版本写入注册表  '软件都有一个关于我们的菜单,单单实现这个功能并不难,困难的是能够将这些信息写入注册表中,这样每次只要弹出这样的窗口,就从注册表里去搜索。这样是不是极大的节省了资源。这里也是一种通用的用法,例子比较初级。下面是全部的代码:Option Explicit ' 注册表关键字安全选项... Const READ_C...

Oracle自带的Universal Installer卸载存在问题

使用Oracle自带的Universal Installer卸载存在问题: 不干净,不完全,还有一些注册表残留,会影响到后来的安装。 所以,推荐使用手工卸载Oracle。 1.【win+R】->【services.msc】,关闭oracle所有的服务。 使用OUI(Oracle Universal Installer)卸载Oracle软件。“开始”-...

网卡驱动问题修复:windows仍在设置此设备的类配置(代码:56)

  今天朋友遇到了一个问题,是有线网卡和无线网卡都不能够正常使用,可能是360或者其它软件升级驱动的时候出现了问题。我拿到的第一感觉是驱动的问题,马上通过'设备管理器'查看网卡信息';果然是网卡信息出现了'windows仍在设置此设备的类配置(代码:56)'信息。我尝试把驱动删除后在安装也不成功。   注:在通过'设备管理器'删除驱动的时候,必须首先记下网...

GHO文件内IE主页的修改方法

修改方法: 1、先打开映像 GHOSTexp 打开GHO文件 2、提取注册表文件 C:WINDOWSSYSTEM32CONFIG 下就是系统的注册表文件,详细见下 3、打开本地的注册表,加载配置单元(即加载刚才提取的注册表文件,加载时名字可随意取) 4、修改主页: 再依次打开HKEY_CURRENT_USERSoftware——Microsoft——Int...

微信商户平台登录重复下载安装安全控件解决办法

在用浏览器登陆商户平台时,输入帐号之后,密码框总是显示请点击下载并安装控件,已经安装完控件后还是提示下载安装,遇到这种问题其实是兼容问题, 解决办法很简单,确保安装控件后将浏览器切换至兼容模式,或者直接用IE浏览器即可 在用浏览器登陆商户平台时,输入帐号之后,密码框总是显示请点击下载并安装控件,已经安装完控件后还是提示下载安装,类似下方图片    ...