【专栏】国内外物联网平台初探(篇一:百度接入IoT Hub)

作者:马智

物联网智库 整理发布

转载请注明来源和出处

------ 【导读】------

物联网智库将于本周开始,在每周五下午的第二篇文章推送由马智先生研究撰写的系列文章——《国内外物联网平台初探》。

物联网智库将于本周开始,在每周五下午的第二篇文章推送由马智先生研究撰写的系列文章——《国内外物联网平台初探》

—— 国内——

(一)百度物接入IoT Hub

(二)阿里云物联网套件

(三)QQ物联·智能硬件开放平台

(四)京东微联

(五)机智云IoT物联网云服务平台及智能硬件自助开发平台

(六)庆科云FogCloud

(七)Ablecloud物联网自助开发和大数据云平台

—— 国外——

(一)亚马逊AWS IoT

(二)微软Azure IoT

(三)IBM Watson IoT

今天是这个系列的第一部分,介绍百度接入IoT Hub。

物接入IoTHub - 架构

  • 全托管的云服务,帮助建立设备与云端之间安全可靠的双向连接

  • 支撑海量设备的数据收集、监控、故障预测等各种物联网场景

物接入IoT Hub - 功能

  • 通信协议:支持MQTT

  • 数据安全:设备级认证、策略授权;双向安全连接、SSL传输

  • 开发语言:支持多种开发语言、兼容主流硬件设备

1. 支持C、C#、Python、Java、PHP等

2. 支持CLI命令行工具(Python)

  • 分析服务:对接百度大数据服务

物接入IoT Hub – 概念

概念

描述

MQTT

MQTT是基于二进制消息的发布/订阅(Publish/Subscribe)模式的协议,

最早由IBM提出的,如今已经成为OASIS规范,

更符合M2M大规模沟通。

endpoint

IoT Hub 的服务实例,代表一个完整的IoT Hub 服务。

thing

表示IoT Hub 设备,

用户可以在每个endpoint中创建一个或多个thing。

principal

principal是一个抽象概念,表示设备(thing)的身份。

每个thing可以绑定一个principal,

每个principal拥有一个policy权限。

policy

为身份principal设置对应的策略policy,一个principal对应一个policy。

permission

为每一个policy设置一组权限permission,其中包括主题topic,和对该主题的操作权限operation。

topic

每一个policy都需要指定一个主题项目(topic),在进行使用IoT Hub 服务之前,

需要先为我们即将开展的订阅发布信息创建一个主题名称,

该主题应用于MQTT客户端。topic规则允许字符串可以带一个通配符”#”,

例如“temperature/#”就是匹配前缀是temperature的所有topic;单独的“#”表示匹配所有topic。

operation

对topic的操作权限。目前基于MQTT协议,IoT Hub 支持创建发布PUBLISH和订阅SUBSCRIBE两种权限。

MQTT协议

MQTT(Message Queuing Telemetry Transport)是一个客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范,易于实现。这些特点使得它对很多场景来说都是很好的选择,特别是对于受限的环境如机器与机器的通信(M2M)以及物联网环境(IoT)。

客户端

1.发布应用消息给其它相关的客户端。

2.订阅以请求接受相关的应用消息

3.取消订阅以移除接受应用消息的请求。

4.从服务端断开连接。

服务端

1.接受来自客户端的网络连接

2.接受客户端发布的应用消息

3.处理客户端的订阅和取消订阅请求。

4.转发应用消息给符合条件的客户端订阅。

MQTT vs HTTPS:

吞吐量:93倍

发送数据电量消耗: 1/11

接收数据电量消耗:1/170

连接保持电量消耗:1/2

网络开销:1/8

物接入IoT Hub – 操作流程

目前每个账户只能创建2个endpoint,100个things,100个principal。

物接入IoT Hub – 连接类型

IoT Hub为每个实例提供3种默认连接方式

TCP:端口1883,不支持传输数据加密,可以通过MQTT.fx客户端连接。

SSL:端口1884,支持SSL/TLS加密传输,MQTT.fx客户端连接

WSS:端口8884,支持WebSocket浏览器方式连接,同样包含SSL加密

tcp://yourendpoint.mqtt.iot.gz.baiduce.com:1883

ssl://yourendpoint.mqtt.iot.gz.baiduce.com:1884

wss://yourendpoint.mqtt.iot.gz.baidubce.com:8884

物接入IoT Hub – 运维界面

物接入IoT Hub – MQTT客户端类型

  • Websockets Client:百度开放云基于浏览器开发的mqtt客户端

  • MQTT.fx:目前主流的mqtt客户端,可以快速验证是否可以与IoT Hub 服务交流发布或订阅消息

  • Paho:Eclipse基金会提供的开源MQTT客户端实现,可以很好的支持百度开放云物接入IoT Hub 服务以实现设备互联和物联网应用。

物接入IoT Hub – Paho客户端源码示例

物接入IoT Hub – 与大数据分析服务对接

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页