物联网技术已经火了很多年了,业界各大厂商都有各自成熟的解决方案。我们公司主要搞新能源汽车充电,充电桩就是物联网技术的最大应用,车联网、物联网、互联网三网合一。2017年的时候重点研究过Azure IoT技术架构和使用,

Azure IoT 技术研究系列1-入门篇

随着业界技术的发展,近期又重新关注并研究了最新的Azure  IoT架构,现在将结合着.NET Core技术和Azure IoT 做一些物联网应用,将研究的成果分享给大家。

关于IoT的一些基本概念,重新梳理一下,分享给大家:

  • IoT:Internet of Things,即万网互联
  • IoT Devices:物联网设备。
  • IoT Edge Devices:物联网边缘计算设备。
  • IoT Gateway:IoT网关,负责IoT物联网设备的接入、管理和控制、通讯(上行和下行)
  • 通讯协议:TCP、MQTT、AMQP、HTTPS、zgebee等等
  • Azure IoT Central。 IoT Central 是完全托管的 IoT物联网 SaaS(软件即服务)服务
  • 目前Azure仍然提供了Azure IoT Hub:直译为Azure的物联网中心
  • Azure IoT Hub为物联网设备提供注册、管理、沟通交互的云服务。可用于管理数十亿物联网设备,提供可靠和安全的云端与设备之间的双向通信支持,每月可处理数以万亿计消息,并简化了与其他Azure服务之间的集成,包括Azure机器学习以及
  • Azure流分析等。它是微软Azure IoT Suite的重要组成部分,也是微软物联网战略的重要基础。

接下来,我们看一下Azure IoT最新的技术架构:

下面,我们详细介绍一下这个架构组成:

   一、 Things(物联网设备侧)

1. IoT devices:前面已经介绍过了,泛指各类物联网设备。设备可以安全地注册到云中,并且可以连接到云之后,发送和接收数据。

2. IoT edge devices:物联网边缘计算设备,某些设备可能会是在设备本身上或在现场网关中执行一些数据处理的边缘设备。举个大家平时常见的设备:充电桩,作为IoT边缘计算设备,其自身有嵌入式操作系统、AI智能芯片,可以实现一些简单的边缘计算场景

3. Cloud Gateway:云网关,云网关提供一个云中心,以便设备安全地连接到云并发送数据。 它还提供设备管理功能,包括设备的命令和控制。

对于云网关,Azure 建议使用Azure  IoT 中心。Azure IoT 中心是从设备引入事件的托管云服务,充当设备与后端服务之间的消息代理。 同时提供安全连接、事件引入、双向通信和设备管理。

当然,我们也可以自建云网关,支持各类物联网设备的接入、管理和控制。

4. Bulk devices provisioning:设备批量设置,统一管理设置海量设备。 对于注册和连接许多组设备。可以使用 IoT 中心设备预配服务 (DPS)。 DPS 可用于大规模分配设备并将设备注册到特定 Azure IoT 中心终结点。

二、Insights(洞察、洞见,可以理解为设备接入管理、数据处理、数据持久化、数据分析、可视化)

1. Streaming Processing:流式数据处理

Azure提供了专门的流分析服务。 流分析可以使用时间开窗函数、流聚合和外部数据源联接大规模执行复杂分析。假如说我们自建系统做物联网数据流式分析的话,可以使用Kafka、Flink、Spark等主流的大数据流式分析技术。

  2. Data transformation:数据转换操作或聚合遥测数据流。

常见的场景包括通讯协议转换,例如,将二进制数据转换为 JSON,或者合并数据点。 如果数据在到达 IoT 中心之前必须转换,可以使用协议网关(一个可以转换数据的网关)。 同时,数据可以在到达 IoT 中心后转换。

在这种情况下,可以使用 Azure Functions 函数计算,Azure Functions内置了与 IoT 中心、Cosmos DB 和 Blob 存储的集成。

  3. Warm path store:热存储

热存储,存储实时物联网设备上传下发的数据,这些数据必须可按设备实时查询,以用于报告和可视化。举个实际的业务场景:充电桩实时上传的电压、电流、SOC等实时设备数据,这些数据的实时性要求高,可以存储在热存储中。

  4. Cold path store:冷存储

如果所有的物联网设备数据全部存储在热存储中,其硬件成本会很高。数据具备一定的时效性,因为,当数据失去了一定的时效性要求后,可以存储在冷存储中,降低存储的成本。

这些数据会保留较长时间,用于批处理。 对于冷路径存储,可以使用 Azure Blob 存储。 数据可无限期地以较低成本在 Blob 存储中存档,并且可以轻松访问以进行批处理。

  5. UI Reporting and tools:可视化展现

可视化展现方面,通常包含:IoT设备管理UI、设备控制UI、趋势图、连接状态图表、数据分析图表等等,这个地方可以使用各类UI展现技术实现了。

三、 Action(运维管理、操作)

  1. Machine Learning:机器学习

大家会问,用机器学习干什么?通过历史遥测数据执行模型训练,实现IoT设备的预测性维护,同时还能做什么?还可以对上报的数据建立不同的模型,实时进行训练,智能控制设备。比如说充电桩的例子,动态调控充电功率,实现最大充电效率。

  2. Business integration:业务流程集成

业务流程集成根据来自设备数据执行各类后续操作。 可以包括:存储实时消息、引发警报、发送电子邮件或短信,或者与 CRM 集成。举个实际的业务场景:当需要设备运维时,发出一个运维工单到产品运维部门,实现IoT设备的智能运维和派单处理。

  3. User Management:用户管理

用户管理限制哪些用户或组可以在设备上执行操作,例如升级固件。 它还定义应用程序中的用户功能。

综上是Azure IoT架构的详细介绍和说明,比2017年时,产品更加SaaS化,更加AI智能、更加体系。分享给大家。

周国庆

2020/6/7

最新文章

  1. 在 CentOS7 上安装 MongoDB
  2. meta标签用法总结
  3. Redmine自定义字段增多后会变慢
  4. Java中的经典算法之选择排序(SelectionSort)
  5. React-Native运行知乎日报遇到的问题
  6. 百度全新的ARM架构服务器,一个2U机箱装6台,每台4个3T硬盘,每个机箱共72TB
  7. nyoj VF函数
  8. Java中NaN和-0.0f的比较问题
  9. 客户端数据持久化解决方案: localStorage
  10. 20+行代码使用es5 Object.defineProperty 实现简单的watch功能
  11. Jquery的入门学习
  12. Echo()、print()、print_r()区别
  13. Marked Ancestor [AOJ2170] [并查集]
  14. Math对象的常用属性和方法
  15. vue 高级属性父组件provide向子组件发送数据,子组件通过inject接收数据
  16. linux网络管理基本命令
  17. 2017北京国庆刷题Day3 afternoon
  18. GOF23设计模式之组合模式(composite)
  19. bzoj 2120 线段树套平衡树
  20. ubuntu 忘记root密码

热门文章

  1. 关于字符串函数size()的问题
  2. Echarts图标宽度变成100px,让图表宽度随着父元素自动适应,Vue实时监听宽度的变化,这可能是史上最好的解决方案!
  3. orcle报错:ORA-12737:Instant Client Light:unsupported server character set ZHS16GBK
  4. 【MySQL】MyISAM和InnoDB存储引擎区别详解
  5. 8.8SQL Server数据类型介绍1
  6. DBUtils 使用方法
  7. SpringBoot入门系列(十二)统一日志收集
  8. spark学习笔记总结
  9. [安卓基础] 006.打开另一个Activity
  10. windows核心编程课程实践---多线程文件搜索器(MFC界面)