国外物联网平台(2):微软Azure IoT
国外物联网平台(2)
——微软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智能套件

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

机器学习步骤
- 导入数据至平台
- 探索和可视化数据
- 生成和选择特性
- 创建和训练机器学习模型
- 部署和使用模型
开发工具界面 – 创建IoT中心



IoT中心创建结果

共享访问策略
开发工具界面 – 创建设备标识


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

开发工具界面 – 通知中心



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

Machine Learning Studio: 创建预测模型
开发工具界面 – Cortana智能库

选择分析方案
国外物联网平台(2):微软Azure IoT的更多相关文章
- 【物联网云端对接-1】 通过HTTP协议与微软Azure IoT hub进行云端通信
在2015年曾写过一篇文章<从微软build 2015,展望微软未来发展>,提到了微软的Azure和Windows 10 IoT,那算是初次接触微软物联网技术.比较幸运的是在后续的时间里, ...
- 国外物联网平台(1):亚马逊AWS IoT
国外物联网平台(1)——亚马逊AWS IoT 马智 平台定位 AWS IoT是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互. AWS IoT可支持数十亿台设备和数万亿条消息,并 ...
- 【物联网云端对接-3】通过MQTT协议与微软Azure IoT Hub进行云端通信
在上一篇文章<通过MQTT协议与阿里云物联网套件进行云端通信>中,我们介绍了通过MQTT对接阿里云的物联网套件.其实同样的代码,稍加调整也可以对接到微软Azure IoT hub上,不过需 ...
- 国外物联网平台(3):IBM Watson IoT
国外物联网平台(3)——IBM Watson IoT 马智 平台定位 提供全面管理的云托管服务,旨在简化并从 IoT 设备中获得价值. Watson IoT Platform 提供对 IoT 设备和数 ...
- 国外物联网平台(8):Telit
国外物联网平台(8) ——Telit 马智 定位 We Bring IoT to Life Telit提供世界上最全面的高性能物联网模块.连接服务和软件. 产品体系 模块 Telit提供丰富专业的物联 ...
- 国外物联网平台(7):FogHorn
国外物联网平台(7) ——FogHorn 马智 引言: 据外媒在本月20日报道,硅谷初创公司FogHorn正在与谷歌合作以简化工业物联网应用的部署.本文对FogHorn的技术.产品.应用和生态进行了分 ...
- 国外物联网平台(5):Exosite Murano
国外物联网平台(5)——Exosite Murano 马智 定位 Murano是一个基于云的IoT软件平台,提供安全.可扩展的基础设施,支持端到端的生态系统,帮助客户安全.可扩展地开发.部署和管理应用 ...
- 国外物联网平台(4):Ayla Networks
国外物联网平台(4)——Ayla Networks 马智 定位 Ayla企业软件解决方案为全球部署互联产品提供强大的工具 功能 Ayla的IoT平台包含3个主要组成部分: (1) Ayla嵌入式代理A ...
- 微软Azure IoT驱动数字化变革线上分享会(6月4号)
微软Azure IoT驱动数字化变革线上分享会(6月4号) 微软作为全球范围内IoT领域的领军者,以微软智能云Azure为基础和核心,推动包括物联网.机器学习.微服务.人工智能等在内的新技术的发展 ...
随机推荐
- 存储过程错误异常处理例子 --> DECLARE EXIT HANDLER FOR SQLEXCEPTION (转)
刚才一个朋友问到: mysql 有类似 mssql 退出执行的方法不? 比如我执行到某个条件,下面就终止执行了. 想起以前写的存储过程,找了好久才找到,就发给他,希望对他有所帮助,贴在这里,留作 ...
- 静默安装Azure CLI
Azure的CLI目前已经是基于Python的2.0版本.其信息在下面的链接可以找到: https://github.com/Azure/azure-cli 其安装方法可以根据网站上描述的命令实现: ...
- laravel 接收json串
在做项目的时候发现 用平时的$request->all() 无法获取到请求值 然后这样解决了 但是还是不知道原因 学习源头: http://www.cnblogs.com/anjuncc/p/5 ...
- (转)详解C#中的反射
本文转载自:http://blog.csdn.net/educast/article/details/2894892 两个现实中的例子:1.B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到 ...
- AngularJS核心特性(四大点)
本人刚刚接触AngularJS,还不太熟悉,就说说我目前遇到的一些注意点吧. 1.调用外来文件script文件 AngularJS核心特性一 MVC MVC设计模式 html文件 <!DOCT ...
- 转:InnoDB Page Structure(InnoDB页面结构详解)
InnoDB Page Structure(InnoDB页面结构详解) 此转载自登博的博客,给大家分享.
- DripRoad(点滴之路)
关于DripRoad DripRoad 意为点滴之路,程序员之路在于点滴积累!是的,这些积累包括技术能力,沟通能力,业务能力等等. 我 我是唐志伟,2009年一个人来上海,就读于上海医疗器械高等专 ...
- Eclipse中Next Difference的快捷键
原文:http://stackoverflow.com/questions/10177460/is-there-a-key-binding-for-next-difference-and-previo ...
- 问题:C# TrimEnd 去掉最后的逗号;结果: C#中 TrimEnd()用法
C#中 TrimEnd()用法 ①去除最后的逗号 string str=ab,cd,ef,; str=str.TrimEnd(new char[] { ',' }); 返回结果则是:ab,cd,ef ...
- ABP缓存
简介 缓存是做什么的? 简单的可以认为是一个键值对的数据存于内存中,高速读取.作用为了减少和数据库的交互 Abp中缓存的使用 public class InvoiceAppService : Appl ...