微软Azure IoT

 

国外物联网平台初探(二)
——微软Azure IoT

马智

平台定位

连接设备、其它 M2M 资产和人员,以便在业务和操作中更好地利用数据。

连接 IoT 设备

将所有设备连接到云,从这些设备接收大规模数据,以及管理这些设备的授权和限制。

在将设备连接到云和处理设备的聚合事件流时,互联设备的快速增长以及平台和协议的不一致会引起巨大挑战。平台预配容量以处理来自数百万设备的事件,同时支持 AMQP 和 HTTP 协议,保护每台设备的事件顺序。

实时监视

将设备连接到云并接收事件数据时,监视此数据流,以获得对业务的见解、促进效率提升及精简业务流程。

每秒分析数百万事件,以及快速开发和部署实时监视解决方案,从基础结构中的设备和传感器发送的数据获得可操作的建议。

Azure IoT架构

Azure IoT服务

Azure IoT 中心(IoT Hub)

  • Azure IoT 中心是一项完全托管的服务,可在数百万个 IoT 设备和一个解决方案后端之间实现安全可靠的双向通信。
    • 提供可靠的设备到云和云到设备的大规模消息传送。
    • 使用每个设备的安全凭据和访问控制来实现安全通信。
    • 可广泛监视设备连接性和设备标识管理事件。
    • 包含最流行语言和平台的设备库。
  • 设备级别的身份验证:每个设备设置独有的安全密钥,IoT 中心标识注册表会存储设备标识和密钥,后端可将个别设备加入允许列表或方块列表,以便完全控制设备访问权限。
  • 设备连接操作监控:设备标识管理操作与设备连接事件存在详细的操作日志,便于识别连接问题,例如,尝试使用错误凭据进行连接的设备、消息发送太频繁,或拒绝所有云到设备的消息。
  • 丰富的设备库:Azure IoT 设备 SDK 也支持C、C#、Java 和 JavaScript 等托管语言,支持许多 Linux 分发版、Windows 和实时操作系统。
  • 可扩展的IoT 协议。IoT 中心存在一个公共协议,它使设备可以通过本机方式使用 MQTT v3.1.1、HTTP 1.1 或 AMQP 1.0 协议。还可以通过以下方式扩展 IoT 中心,以便为自定义协议提供支持:
    • 现场网关:使用 Azure IoT 网关 SDK创建现场网关,该 SDK 可将自定义协议转换为 IoT 中心所理解的三个协议之一。
    • 云网关:自定义 Azure IoT 协议网关(在云中运行的一个开放源代码组件)。
  • 可扩展高并发的事件处理:Azure IoT 中心可扩展为数百万个同时连接的设备,以及每秒数百万个事件。
  • 基于事件的设备数据处理:事件处理器引擎在热路径上可以处理设备事件,也可以将它们存储在冷路径上以供分析。IoT 中心可保留最多 7 天的事件数据,以保证可靠的处理并消减负载峰值。
  • 可靠的云到设备消息传送:后端使用 IoT 中心将消息发送到单个设备(含至少一次的传递保证)。每条消息都有单独的生存时间设置,且后端可以请求传递和过期回执。这可确保完全了解云到设备消息的生命周期。
  • 存储和分析文件和缓存的传感器数据:设备使用 SAS URI 将 IoT 中心托管的文件上载到 Azure 存储空间。当文件到达云时,IoT 中心可以生成通知,使后端处理这些文件。

事件中心 Event Hubs

  • 事件中心是一种事件处理服务,用于向云提供大规模的事件与遥测数据入口,并且具有较低的延迟和较高的可靠性。事件中心充当事件管道"前门",位于事件生成者与事件使用者之间的组件或服务,可以将事件流的生成与这些事件的使用分离开来。
  • 事件中心每秒可以引入数百万的事件,从而能够处理和分析连接设备和应用程序生成的海量数据。
  • 事件中心收集到数据后,可以使用任何实时分析提供程序或批处理/存储适配器来转换和存储这些数据。
  • 事件中心可将事件流的生成与这些事件的使用分离开来,事件使用者可以根据自己的计划访问事件。
  • 每秒将数百万事件流式传输到多个应用程序中
    • 事件中心是一个高度可伸缩的发布-订阅采集器,每秒可获取数百万个事件,能够处理和分析互连设备与应用程序生成的海量数据。将数据采集到事件中心后,使用任何实时分析提供程序或者批处理/存储适配器来转换和存储数据。
  • 允许应用程序处理负载分布可变的事件
    • 大数据是当今互连世界的直接体现。大数据有很多来源,例如每隔数分钟就会生成遥测数据的互连式汽车和恒温器、每隔一秒就会生成事件的应用程序性能计数器,或者在用户每执行一个操作时就会捕获遥测数据的移动应用程序。具有弹性的托管采集器服务能够应对不断变化的负载分布,以及间断性连接造成的负载高峰。
  • 跨平台连接数百万台设备
    • 互连设备的快速涌现使 IT 行业面临更严峻的挑战,因为必须应对各种平台和协议。在连接这些不同数据源的同时处理大规模的聚合流已成为一个很大的难题。事件中心可让用户轻松置备容量以从数百万台设备采集事件,同时还能基于每台设备保留事件顺序。支持 AMQP 和 HTTP,让很多平台可与事件中心一起使用,本机客户端库也可用于各种流行平台。

流分析(Stream Analytics)

云中的事件实时流式处理引擎,可实时快速开发,对现有数据属性进行深入了解。

  • 为物联网解决方案执行实时分析
  • 每秒对数百万事件进行流式处理
  • 获得关键任务的可靠性和性能预测结果
  • 利用设备和应用程序的数据,创建实时仪表板和警报
  • 跨多个数据流进行关联
  • 使用常见的基于 SQL 的语言,以实现快速开发
  • 实时获取分析结果
    • 实现快速开发和部署低成本分析解决方案,从设备、传感器、基础结构和应用程序实时获取深入分析结果。
  • 实现快速开发
    • 减少为扩展的分布式系统开发分析功能时的困难并降低复杂程度。只需使用基于 SQL 的语法描述所需的转换,系统将自动分配以实现扩展、性能和恢复能力,完全不需要管理复杂的基础结构和软件。
  • 执行实时分析
    • 与事件中心的现成集成,每秒可接收数百万事件。比较多个实时流或将实时流与历史值和模型一起进行比较。这样可以实现异常检测和传入数据转换,并能够在流中出现特定错误或情况时触发警报,以及为实时仪表板提供支持。
  • 实现任务可靠性和扩展能力
    • 扩展以适应任何数据量需求,同时仍能实现高吞吐量、低延迟和有保证的恢复能力,不需要任何硬件或其它前期成本,也不需要耗费时间进行安装或设置。在数分钟内启动并运行。流分析可在高吞吐量的条件下处理数据,结果可预测且无数据丢失。

通知中心(Notification Hubs)

可缩放的大规模移动推送通知引擎,可快速将数百万条消息推送至多种平台(iOS, Android, WP等)

  • 在几分钟内广播至数百万设备
    • 快速将数百万条消息推送至 iOS、Android (Baidu Push)、Windows,或 Kindle 设备。
  • 支持任何后端系统
    • 可插入内部环境或 Azure 云端运行的任何后端系统:.NET、PHP、Java、Node。
  • 通过动态标签推送至不同用户群
    • 利用标签功能,根据活动、兴趣、位置,或首选项划分用户群,在正确的时间将正确的信息推送给正确的人员。
  • 使用模板轻松实现本地化
    • 使用模板功能推送本地化通知信息,让用户获得与自己所用语言一致的信息。模板功能无需为每个客户存储本地化设置。
  • 针对大规模环境设计
    • 无需重构或切分(Sharding),即可快速扩展至数百万设备,发送数十亿条推送通知。通知中心可自动对基础结构进行必要调整,用非常低的延迟将信息推送至每台活跃设备。

机器学习( Machine Learning )

提供开发简单、功能强大、可灵活扩展、基于托管云服务的预测分析方案

现属于Cortana智能套件

  • 主要功能
    • 数据探索、描述性分析、预测性分析
    • 监管学习、无人值守学习
    • 模型训练和评估

机器学习步骤

  1. 导入数据至平台
  2. 探索和可视化数据
  3. 生成和选择特性
  4. 创建和训练机器学习模型
  5. 部署和使用模型

开发工具界面 – 创建IoT中心

IoT中心创建结果

共享访问策略

开发工具界面 – 创建设备标识

开发工具界面 - 创建流分析作业监视器

开发工具界面 – 通知中心

开发工具界面 – 机器学习模型

Machine Learning Studio: 创建预测模型

开发工具界面 – Cortana智能库

选择分析方案

作者:马智

微信公众号:物联网那点事

Azure IoT的更多相关文章

  1. Azure IoT带来更高效的新能源生产和会看人脸色的无人超市

    全球分析机构都认为物联网将在未来几年呈现爆发式增长,到2020年,各种传感器.新型物联网设备,再加上传统PC.智能手机.平板电脑.网络电视,以及各类可穿戴智能设备,将交织成一个由300亿到500亿台设 ...

  2. Connecting my Particle Photon Internet of Things device to the Azure IoT Hub(Translation)

    原文: http://www.hanselman.com/blog/ConnectingMyParticlePhotonInternetOfThingsDeviceToTheAzureIoTHub.a ...

  3. 【物联网云端对接-1】 通过HTTP协议与微软Azure IoT hub进行云端通信

    在2015年曾写过一篇文章<从微软build 2015,展望微软未来发展>,提到了微软的Azure和Windows 10 IoT,那算是初次接触微软物联网技术.比较幸运的是在后续的时间里, ...

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

    物联网技术已经火了很多年了,业界各大厂商都有各自成熟的解决方案.我们公司主要搞新能源汽车充电,充电桩就是我们物联网技术的最大应用,车联网.物联网. 互联网三网合一.作为Azure重要的Partner和 ...

  5. Azure IoT 技术研究系列2-起步示例之设备注册到Azure IoT Hub

    上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...

  6. Azure IoT 技术研究系列3-设备到云、云到设备通信

    上篇博文中我们将模拟设备注册到Azure IoT Hub中:我们得到了设备的唯一标识. Azure IoT 技术研究系列2-设备注册到Azure IoT Hub 本文中我们继续深入研究,设备到云.云到 ...

  7. Azure IoT 技术研究系列4-Azure IoT Hub的配额及缩放级别

    上两篇博文中,我们介绍了将设备注册到Azure IoT Hub,设备到云.云到设备之间的通信: Azure IoT 技术研究系列2-设备注册到Azure IoT Hub Azure IoT 技术研究系 ...

  8. Azure IoT 技术研究系列5-Azure IoT Hub与Event Hub比较

    上篇博文中,我们介绍了Azure IoT Hub的使用配额和缩放级别: Azure IoT 技术研究系列4-Azure IoT Hub的配额及缩放级别 本文中,我们比较一下Azure IoT Hub和 ...

  9. Azure IoT Hub和Event Hub相关的技术系列-索引篇

    Azure IoT Hub和Event Hub相关的技术系列,最近已经整理了不少了,统一做一个索引链接,置顶. Azure IoT 技术研究系列1-入门篇 Azure IoT 技术研究系列2-设备注册 ...

随机推荐

  1. 《University Calculus》-chape4-导数的应用-洛必达法则

    在求解极限的时候,我们常会遇到0/0型的不定式而无法进一步的求解极限,而洛必达法则就是用于处理这样的特定情况. 洛必达法则: 其证明过程要基于柯西中值定理(在该专栏的微分中值定理中给出). 证明:

  2. <离散数学>学习笔记1--逻辑和证明

    今天开始离散数学的自学旅程. 主题:逻辑和证明 逻辑规则给出数学语句的准确含义.逻辑对计算机科学有着重要作用.为了理解数学,我么必须理解正确的数学论证是由什么组成的.只要证明一个数学语句是真的,我们就 ...

  3. set和replace方法的区别

    对已有值的元素处理上两者是相同的,但是对于一个不存在的元素,set的作用就和add相当,replace则是只能对已经存在的元素进行处理如:表中某个字段值是空(null),如果某个字段为空,则通过查询方 ...

  4. 需要知道的开源的框架-IOS

    1:SDWebImage,UIImageView+WebCache加载一张图片. 2:UIViewExt用于定位坐标很有用,可以直接拿到bottom,top,left,right. 转:http:// ...

  5. Android源码学习

    http://android-wheel.googlecode.com/svn/trunk/android-wheel-read-only 在github上面有一个叫做 android-wheel 的 ...

  6. Android 图标右上角添加数字提醒

    方法一:使用开源项目ViewBadger,github上的地址:https://github.com/jgilfelt/android-viewbadger 效果如图所示: <TextView ...

  7. 动画Rig设置为Legacy

    The animation state AimUp could not be played because it couldn't be found!Please attach an animatio ...

  8. 使用jQuery Mobile和Phone Gap开发Android应用程序(转)

    经过了一段时间的学习,初步了解了该如何使用jQuery Mobile和 Phone Gap来开发一个Android应用程序,也想把这些东西介绍给大家. 1. 软件准备 要进行android app的开 ...

  9. 关于C#中get和set

    在看书的时候看见了一段代码,有两个类person: public class person { public string name; } public class person { public s ...

  10. Android中px、dp、sp的区别

    px: 即像素,1px代表屏幕上一个物理的像素点: px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同,如下图所示(图片来自android developer guid ...