微软云Azure上物联网产品提供了从设备接入到设备与云的双向通信,到数据在云中存储,到数据分析,最后到数据展示的完整解决方案,本文主要介绍一些基本的概念,后续的章节中,会详细介绍每款产品的使用方法及步骤。

在公众号(来学云计算)中观看本课程视频:

或如下链接:https://v.qq.com/x/page/w3018a9etgc.html

Azure IoT 相关产品总览

设备接入云

云中负责消息收发的主要产品是IoTHub,具备如下特点和优势,也就是为什么我们会选择IoTHub呢?

Dps是设备预配服务,当有大量设备要接入IoT Hub时,可以提前配置预配服务,通过预配服务,设备可自动注册到IoT Hub中。

Azure 提供了C、NodeJS、C#,Python、Java等多种语言的设备SDK,通过这些SDK,使用Https,AMQP, MQTT协议经由设备连接字符串或者X509证书认证后, 设备即可接入IoT Hub,接入IoT Hub的设备,系统会自动为每一个设备创建一个设备孪生的Json文件,并公开了API/SDK,利用类似SQL的语法,可以快速查询云中的设备状态等,同时利用设备孪生,还能进行双向通信。

设备使用SDK发送消息到云端后,IoT Hub 自带的消息路由功能,可以将消息经过一定的过滤条件筛选后,转发到不同的终结点,典型的应用是,将所有原始消息发送到Blob,做历史记录,或者将特定的数据,例如温度高于100°C的消息发送到特定的消息队列,这样后端的应用就可以从该队列获取到消息并进行处理,实现与业务系统的对接。

实时数据分析

除了上述的IoT Hub 自带的消息路由的方式,Azure 上其他的服务也可以对IoT Hub的数据进行处理,比如典型的实时流分析,流分析可以以类似SQL的语法对数据进行查询,比如:

SELECT * INTO   [output] FROM   [IoTHubInput] HAVING Temperature > 30

同时流分析还支持翻转窗口,跳跃窗口,滑动窗口,会话窗口等几种开窗函数,可以实现更为复杂的数据分析,典型的场景例如:

每30秒监测一次传感器上报的平均温度,高于100度时报警,就是通过滑动窗口实现的。

边缘计算

在上一个案例中,在某些特定的场景下,我们只需要将温度大于100°C的数据上传,这样可以保证上传到云端的数据质量,在传感器众多的场景下,也能够节约传输成本。这样的需求,Azure 也是支持的,Azure提供了边缘计算产品,能够将流分析服务下沉到客户本地网络,提供如下优势:

将流分析下沉到边缘侧之后的架构,参见下图:

那么Azure IoT Edge是如何支撑流分析下沉到边缘的呢?

Azure IoT Edge采用兼容于Docker的容器技术,支持Windows和Linux边缘设备,在设备上装Runtime后,可以从Azure container registry中拉取镜像并自动部署,基于此结构,还支持将云上的认知服务、存储、数据库等部署在边缘。

端侧产品

以上介绍的是微软云上产品,微软在端侧同样提供了多种方案,最主要的是Windows操作系统,从小型设备到标准设备到边缘计算服务器,微软的IOT操作系统都进行了覆盖:

数据安全

云和端之间,需要保证数据传输的安全,微软提供了另一个安全的高级应用程序平台-Azure Sphere:

Azure 上的物联网产品介绍的更多相关文章

  1. Azure 上通过 SendGrid 发送邮件

    SendGrid 是什么? SendGrid 是架构在云端的电子邮件服务,它能提供基于事务的可靠的电子邮件传递. 并且具有可扩充性和实时分析的能力.常见的用例有: 自动回复用户的邮件 定期发送信息给用 ...

  2. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(二)

    前言 (二)建立虚拟网络环境,以及域控和DNS服务器   1搭建虚拟网络环境 在Azure上创建虚拟网络.本例选择的是东南亚数据中心.后面在创建虚机的时候,也选择这个数据中心. VNet Name: ...

  3. 在Azure上的VM镜像库中找到想要的镜像

    Azure上的虚机镜像库中, 有很多的镜像,其中当然也包括了用户自定义上传的镜像. 在Powershell中如果想使用这些镜像的话, 则需要知道其名称 下面这条命令,可以获得所有的镜像信息 $imag ...

  4. 在Azure上部署Windows Server Core

    作为服务器操作系统,图形界面真心有些多余了,这也是很多人喜欢Linux服务器的原因之一.从Windows Server 2008开始,微软提供了Server Core版本,其实就是一个没有图形界面的服 ...

  5. 在 Azure 上使用 Docker运行 Mono

    Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个火热的技术,并且提供简单的方 ...

  6. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(一)

    (一)前言 本文主要介绍了实践部署AzurePack的Website Cloud的过程.在部署之前, 首先要对AzurePack有个基本的了解.   Azure Pack是微软的私有云方案,具有弹性. ...

  7. 在Azure上实现Linux Server故障转移

    要充分利用公有云的弹性扩展和高可用, 首先要在应用系统层面支持横向扩展(scale out),这个说起来很容易,或者说对新开发的应用系统而言已经成为标配.但是对已有的.老旧的应用系统来说,这就比较困难 ...

  8. Microsoft Azure News(2) 在Microsoft Azure上运行SAP应用程序

    <Windows Azure Platform 系列文章目录> 2014年6月27日消息,在 Microsoft Azure 上提供 SAP Business Suite 软件.All-I ...

  9. Azure上七层负载均衡APP Gateway

    Azure的SLB和ILB是最常用的4层负载均衡工具.但有些场景是7层的负载均衡,SLB和ILB就无能为力了. Azure上已经推出了APP Gateway的服务,就是7层负载均衡的负载均衡器. 如上 ...

随机推荐

  1. Spring IOC(2)----如何注册bean定义

    前面说到IOC容器在刷新之前的一些初始化工作,现在来看看在refresh()方法中,是怎样来加载注册我们自己的bean定义的. refresh()方法中有很多功能,从注释中就可以看出来 我们本次重点关 ...

  2. flask+阿里云短信服务实现注册发送手机验证码

    效果图: 该效果主要讲解实现通过调用阿里云的SDK实现发送注册验证码短信(阿里云短信付费使用) 购买阿里云短信服务 购买链接:https://www.aliyun.com/product/sms 1. ...

  3. 品Spring:真没想到,三十步才能完成一个bean实例的创建

    在容器启动快完成时,会把所有的单例bean进行实例化,也可以叫做预先实例化. 这样做的好处之一是,可以及早地发现问题,及早的抛出异常,及早地解决掉. 本文就来看下整个的实例化过程.其实还是比较繁琐的. ...

  4. WordPress 使用本地化的 emoji 表情包

    WordPress 结合使用 Native Emoji 和 WP Local Emoji 两个插件,可以达到使用本地化的 emoji 表情包的目的. 安装好上述两个插件并且启用: 为了使 Native ...

  5. 使用Docker Toolbox基于boot2docker搭建的Docker如何修改镜像源

    镜像源 由于众所周知的原因,我们直接连接这些位于国外服务器上的仓库去获取依赖包速度是非常慢的,这时候我们通常会采用国内一些组织或开发者贡献的国内镜像仓库. 1.首先Docker也提供了国内的镜像源:h ...

  6. 通过搭建MySQL掌握k8s(Kubernetes)重要概念(下):参数配置

    本文通过搭建MySQL环境来了解k8s的重要概念,包括持久卷,网络和参数配置.这是下篇,专门讲解参数配置.如果你有些地方不能完全看明白,请先看上篇"通过搭建MySQL掌握k8s(Kubern ...

  7. 扛住阿里双十一高并发流量,Sentinel是怎么做到的?

    Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景 本文介绍阿里开源限流熔断方案Sentinel功能.原理.架构.快速入门以及相关框架比较 基本介绍 1 名词解释 服务限流 :当系 ...

  8. Cohen-Sutherland算法

    Cohen-Sutherland算法 本算法又称为编码裁剪算法,算法的基本思想是对每 条直线段分三种情况处理: (1)若点p1和p 2完全在裁剪窗口内 “简取”之 (2)若点p1(x1,y1)和p2( ...

  9. 微信小程序登入流程

    微信小程序登入流程 一.首先前端先传code去后端 wx.login({ success(res) { if (res.code) { //发起网络请求 wx.request({ url: app.g ...

  10. Python3字符串常见方法

    目录 字符串的进阶使用 格式化输出字符串 当然除了上述方法外,还可以你使用format方法 format方法第二种用法: Python字符串与二进制的转换 字母大写 计字符a出现的次数 输出50个字符 ...