物联网技术已经火了不少年了,业界各大厂商都有各自成熟的解决方案。咱们公司主要搞新能源汽车充电,充电桩就是咱们物联网技术的最大应用,车联网、物联网、git
互联网三网合一。做为Azure重要的Partner和使用者,咱们对Azure的IoT方案也是很是期待的,所以,最近计划研究一下Azure的IoT技术,同时将研究的成果分享给你们。github
以本文做为IoT入门的第一篇吧。后端
IoT:Internet of Things,即链接一切。安全
Azure提供了Azure IoT Hub:直译为Azure的物联网中心。网络
Azure IoT Hub为物联网设备提供注册、管理、沟通交互的云服务。架构
可用于管理数十亿物联网设备,提供可靠和安全的云端与设备之间的双向通讯支持,每个月可处理数以万亿计消息,并简化了与其余Azure服务之间的集成,包括Azure机器学习以及机器学习
Azure流分析等。它是微软Azure IoT Suite的重要组成部分,也是微软物联网战略的重要基础。ide
Azure IoT Hub架构和特性:学习
1. 大规模可靠的设备到云、云到设备的双向通讯ui
2. 经过使用安全凭据和访问控制机制确保每一个设备的安全性通讯(经过设备的安全密钥或者X.509证书)
3. 支持可扩展的监控设备的链接和标识管理事件
4. 与其余的Azure服务之间,提供了内置的可选的消息路由
5. 为主流的开发语言和平台提供了Device Library。http://azure.github.io/azure-iot-sdks/
架构图:
从上面这张图咱们能够看出:
说到这里,咱们不由会想:为何使用Azure IoT Hub?即:
Azure IoT Hub解决那些IoT问题:
1. 设备的认证和安全链接
每一个物联网设备链接到Azure IoT Hub时,须要提供其独有的Security Key
IoT Hub identity registry 存储了设备的身份和Key
IoT Hub后端提供了设备的白名单和黑名单机制,控制设备的访问
2. 监控设备的链接操做:提供了详细的设备身份管理操做日志和链接日志
3. 全面丰富的Device Library:设备SDK,支持主流的开发语言和平台:.Net Java Node.JS C 都支持
4. IoT 协议可扩展:MQTT v3.1.1, HTTP 1.1, or AMQP 1.0 支持Custom Protocol
5. Scale:支持每秒百万级的设备链接和事件
Azure IoT Hub是如何工做的:
Azure IoT Hub实现了服务辅助通讯(Service-Assisted Communication)模式,调节设备与解决方案后端之间的交互。服务辅助通讯的目标是在控制系统(例如 IoT Hub)与
专用设备(部署在不受信任的物理空间中)之间,创建可信任的双向通讯路径(全双工通讯)。 这种模式会遵循下列原则:
1. 安全性优先级最高,高于其余功能
2. 设备不接受未经请求的网络信息。 设备以仅限出站的方式创建全部链接和路由。 若要让设备从解决方案后端接收命令,设备必须按期启动链接,以检查是否有任何挂起的命令要
处理。
3. 设备只能同与它们对等的已知服务(例如 IoT Hub)进行链接或创建路由
4. 设备和服务之间或设备和网关之间的通讯路径在应用程序协议层受到保护
5. 系统级别的受权和身份验证以每一个设备的标识为基础。 它们可以让访问凭据和权限近乎实时地撤销。
6. 对于由于电源或链接性而致使链接不稳定的设备而言,可经过保留命令和设备通知直到设备链接并接收它们,进而促进其双向通讯。 IoT 中心为发送的命令维护特定于设备的队
列
7. 针对经过网关到特定服务的受保护传输,应用程序有效负载数据会受到单独保护
这里的服务辅助通讯模式,业界已大规模地使用服务辅助通讯模式实现推送通知服务,例如 Windows 推送通知服务、Google Cloud Messaging 和 Apple Push Notification 服
务等,其实就是设备和云端的全双工通讯。
上面介绍了Azure IoT Hub的架构、特性、使用场景、通讯协议等等,做为一个简单的入门介绍吧,让你们能够快速了解并入门。
周国庆
2017/4/14