Azure IoT
微软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智能套件

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

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



IoT中心创建结果

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


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

开发工具界面 – 通知中心



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

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

选择分析方案
微信公众号:物联网那点事
Azure IoT的更多相关文章
- Azure IoT带来更高效的新能源生产和会看人脸色的无人超市
全球分析机构都认为物联网将在未来几年呈现爆发式增长,到2020年,各种传感器.新型物联网设备,再加上传统PC.智能手机.平板电脑.网络电视,以及各类可穿戴智能设备,将交织成一个由300亿到500亿台设 ...
- Connecting my Particle Photon Internet of Things device to the Azure IoT Hub(Translation)
原文: http://www.hanselman.com/blog/ConnectingMyParticlePhotonInternetOfThingsDeviceToTheAzureIoTHub.a ...
- 【物联网云端对接-1】 通过HTTP协议与微软Azure IoT hub进行云端通信
在2015年曾写过一篇文章<从微软build 2015,展望微软未来发展>,提到了微软的Azure和Windows 10 IoT,那算是初次接触微软物联网技术.比较幸运的是在后续的时间里, ...
- Azure IoT 技术研究系列1-入门篇
物联网技术已经火了很多年了,业界各大厂商都有各自成熟的解决方案.我们公司主要搞新能源汽车充电,充电桩就是我们物联网技术的最大应用,车联网.物联网. 互联网三网合一.作为Azure重要的Partner和 ...
- Azure IoT 技术研究系列2-起步示例之设备注册到Azure IoT Hub
上篇博文中,我们主要介绍了Azure IoT Hub的基本概念.架构.特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT ...
- Azure IoT 技术研究系列3-设备到云、云到设备通信
上篇博文中我们将模拟设备注册到Azure IoT Hub中:我们得到了设备的唯一标识. Azure IoT 技术研究系列2-设备注册到Azure IoT Hub 本文中我们继续深入研究,设备到云.云到 ...
- Azure IoT 技术研究系列4-Azure IoT Hub的配额及缩放级别
上两篇博文中,我们介绍了将设备注册到Azure IoT Hub,设备到云.云到设备之间的通信: Azure IoT 技术研究系列2-设备注册到Azure IoT Hub Azure IoT 技术研究系 ...
- Azure IoT 技术研究系列5-Azure IoT Hub与Event Hub比较
上篇博文中,我们介绍了Azure IoT Hub的使用配额和缩放级别: Azure IoT 技术研究系列4-Azure IoT Hub的配额及缩放级别 本文中,我们比较一下Azure IoT Hub和 ...
- Azure IoT Hub和Event Hub相关的技术系列-索引篇
Azure IoT Hub和Event Hub相关的技术系列,最近已经整理了不少了,统一做一个索引链接,置顶. Azure IoT 技术研究系列1-入门篇 Azure IoT 技术研究系列2-设备注册 ...
随机推荐
- POJ 3208 Apocalypse Someday
题意: 将含有连续的三个6的数称为不吉利数,比如666,1666,6662,但是6266吉利.则666为第一个不吉利数,输入整数n,求第n个不吉利数.(n <= 5*10^7) 解法: 如果是给 ...
- Excel2003读取sqlserver数据库表数据(图)
- isEqual,isEqualTostring,==三者的区别
isEqual:首先判断两个字对象的类型是否相同,在判断内容是否相同,如果类型不同直接return no.如先判断是否都是 NSString,在判断string的内容. isEqualTostring ...
- ASP.NET DropDownList1_SelectedIndexChanged使用
DropDownList1.AutoPostBack 属性 今天写代码给DropDownList1添加DropDownList1_SelectedIndexChanged事件,在运行测试时发现Drop ...
- XML转义特殊字符
正常来说,只有"<" 字符和"&"字符对于XML来说是严格禁止使用的. 需要注意的是: a. 转义序列各字符间不能有空格: b. 转义序列必须以& ...
- 阿基米德项目ALS矩阵分解算法应用案例
转自:https://github.com/ceys/jdml/wiki/ALS 阿基米德项目ALS矩阵分解算法应用案例 编写人:ceys/youyis 最后更新时间:2014.5.12 一.算法描述 ...
- cocos2d-x 3.0 利用python脚本在文件夹Classes内创建class
因为VS2012创建默认文件是在proj.win32下,新建类不在VS的classes于是编译时找不到类.直接写个脚本帮助新建类(cpp和h文件),还能够在里面加上一些预先写好的代码. 批处理文件Cr ...
- RESTEasy + JBOSS 7 Hello world application---reference
RESTEasy is JBOSS provided implementation of JAX-RS specification for building RESTful Web Services ...
- 记录jpcap在Ubuntu&Window下的配置过程
众所周知,Java虽然在TCP/UDP传输方面给予了良好的定义,但是标准库java.net对于网络层以下的控制是无能为力的.Jpcap就是为了处理这一问题而出现的中间件.它调用底层的winpcap/l ...
- SASS详解之沿袭(extend)
SASS详解之继承(extend) 每一个类名都有可能有另一个类名的所有样式和它自己的特定样式的.当一个div的身上有两个类名,一个是“one”,另一个是“two”的时候.如下 HTML代码 < ...