微软最完善,百度最小气 看微软阿里百度三大物联网云平台对比

导语:风起云涌的物联网,随着国内外大公司的入局,形式也逐渐明朗起来。物联网不仅仅是硬件接入的一个网,还是接入后,大数据的存储、分析和呈现,以及人工智能技术的深度介入,对各类企业的生产、运维、管理带来的改变。本篇文章以微软的 Azure 云、百度的物接入及物解析云平台、阿里的物联网开发套件为切入点,深入介绍相关物联网平台的技术特色,技术路线。希望能给物联网从业者一些参考和启示。

云山雾罩的物联网随着国内外一些大公司的大力推进,面目日渐清晰。今年年初笔者因项目的关系深入了解了当前主流的物联网云平台,又有了不同的感悟。在细说这几个物联网云平台之前,笔者先简单介绍一下如今的物联网。

现在的物联网,必不可少的三要素分别是:云、手机和智能硬件。例如,当前现象级应用摩拜单车就是一个典型案例。

  • 智能硬件的作用:一是控制车锁的开启;二是获取当前 GPS 坐标;三是和云端通信,发送位置、车锁状态信息和接收云端指令;
  • 手机就是实现用户管理、扫码和位置呈现等功能;
  • 云的主要作用是数据接入,指令发出。另外一个重要功能也许是大数据分析,比如车共享频次,故障收集分析等等。

以上结构可以称之为是当前一个典型物联网应用,是智能硬件和云结合的一个最佳范例。产品功能简单明确,利于复制数量。有了量,也便于大数据分析。智能家居一些应用,其实也可以按这种类似的模式去经营实现。如小米不到千元的智能家居套件,在我亲身试用的大半年里,整体感觉还是非常不错的。

在前几年,智能硬件比较火的时候,第三方云平台,也可以说是智能硬件云平台也是非常热络的,比如 Yeelink、机智云等。不过去年年底咨询 Yeelink 创始人姜兆宁的时候,姜总表示这种模式已经很难持续,目前是专注做 Yeelight。机智云是国内比较有影响的第三方物联网云平台,我也曾和北京的团队有过深入的交流,对于物联网云平台对接第三方硬件,发展的并不是如想象的那么顺利。

从摩拜单车、小米智能家居到 Yeelink、Yeelight 和机智云,似乎隐约告诉我们,智能硬件和云平台紧密结合,做成一个封闭的私有的体系,才更有价值。

那问题来了,微软云、百度云、阿里云做公共物联网云平台,其价值点又在哪里?和以前出现的物联网云平台有什么异同?

都说 2016 年是物联网元年,在这个年头的三月份,微软 Azure 平台的 IoT Hub 开始支持 MQTT,百度差不多也是在这个时候推出了基于 MQTT 的物联网平台,阿里是在下半年推出了基于 MQTT 协议的物联网开发套件(亚马逊、华为、腾讯也各有很好的物联网云平台,在此就不一一展开说明)。

这里不得不提一下 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输),是 IBM 公司 1999 年开发出来的通信技术。最大的特点是消息质量可以分三种:最多一次,最少一次和仅有一次(本文中所述的三种物联网平台,第三种消息质量“仅有一次”当前是不支持的)。另外 MQTT 不仅可以构建在 TCP/IP 协议栈之上,目前百度和阿里云的物联网平台也支持基于 Web Socket 之上的构建。

以前的物联网云平台在笔者眼中更像一个大应用平台,而不是一个基础平台,类似工控中的组态软件,把物理上的一个个参数,抽象为一个个 IO 变量,比如布尔型的开关、浮点型的温湿度、整型的灯光亮度、当然还包括一些二进制数据的摄像头数据。这种架构,其实比较适合参变量相对少的智能家居及智能硬件。但是对比较复杂的工控类应用来说,如果每种数据都抽象为一个 IO 点,那么都需要配置,适用性就不那么强了。现如今的三大物联网平台,就是把硬件和云端通信进行了简化,即数据上传和下发。正是因为这种机制,反而通用性更强了。

换而言之,以前的物联网云平台更在意接入环节,重在通道。而现在的物联网云平台,接入仅仅只是其中的一环而已。

微软 Azure 云平台

微软的云平台其实提供了全方位的物联网服务,如图 1 所示:


图 1 微软云平台物联网服务

数据采集环节支持三种方式,Event Hubs、Service Bus 和 IoT Hub。其中 IoT Hub 支持三种通信协议 HTTPS、AMQP 和 MQTT,对 Azure 云来说,三种协议不需要预先在云中设定,自适应。从应用的角度来看,HTTPS、AMQP 和 MQTT 三种协议没有太大的区别,同时微软也是刻意隐藏了三种通信的区别,总体来说就是数据上传和数据下发。不过这里需要指出的是,针对数据下发而言 HTTPS 的代价还是比较高的,需要不断请求服务器,以获取数据下发的内容。

接下来从数据流的角度来看 Azure 云服务,如图 2 所示:


图 2 数据流角度解读 Azure 云服务

从上面的两图可以看出,微软云平台的接入仅仅是其中一个环节。更为重要的是数据的存储、分析,还有展现。特别是数据和分析部分,是大数据的基础,后续所谓的人工智能会基于这些环节发挥重要作用。

百度物联网云平台

百度物联网云平台分为物接入 IoT Hub、物解析 IoT Parser 和物管理 IoT Device 等。事实上,百度物联网云平台和微软类似,其重点也并非接入环节,而是其重金下注的人工智能部分。


图 3 百度云平台服务


图 4 百度物联网平台

从上图可以看出数据采集后的存储、处理、分析环节也是百度的一个重点,在这个环节,百度的一些人工智能,深度学习的技术可以融入进来。

百度物联网平台虽然和微软一样,也支持 MQTT,但是与微软的不同之处在于,百度号称支持原生 MQTT。即 MQTT 协议不仅仅是一个通信信道了,而是充分发挥了 MQTT 本身的优势,比如信息的发布/订阅(微软的信息发布和订阅是固定的,单一的)。但是这种灵活性,个人认为有些粗糙了。这对基于该平台开发的用户来说,需要比较强的规划能力,否则很容易造成信息风暴。

此外值得一提的是,微软的云必须是 SSL 加密才能运行云和端通信,但是百度物联网云并不强制用户一定加密。

阿里的物联网开发套件

阿里似乎比较低调,其物联网平台称之为物联网套件 IoT Kit。和微软、百度物联网平台一样,也是支持 MQTT 通信协议。不过相对于微软的封装和百度的完全开放不同,阿里的物联网套件平台做了半封装,比如发布和订阅和微软一样,预先定义了一些关键字,并且除此之外还可以自定义。可以说是介于微软和百度之间的一种模式。并且其通信加密要求是最高的,SSL 的版本必须是 TLSV1.1 或 TLSV1.2 版本。


图 5 阿里物联网套件

和微软及百度相比,阿里的物联网平台稍有一些简单,其重点一是接入,二是数据导出。提供了相对丰富的 API 对外接口,对有些智能硬件厂商来说,是一个好消息,相当于阿里提供了一个云端 API 接口,方便和第三方合作方进行系统级别的开发合作。

三大平台对比

从开发的角度来看,微软的物联网云平台 SDK 最丰富完善,提供了各种示例,有设备端的、有网关、有云端等等。百度相对小气,其 MQTT 的 SDK 就是百度物联网平台的 SDK 了。阿里的物联网平台也是介于二者之间,特别是在设备端提供了一些基于芯片层面的接入源码,另外 API 接口部分也提供不少示例。

通过以上种种的介绍,我们之前提到的另外一个问题的答案就昭然若揭了。

微软云、百度云和阿里云等公司做公共物联网云平台,其价值点在于数据采集后的价值,及基于大数据分析下的各种衍生价值。换句话说未来大数据的“金矿”的价值,在于如何挖掘和利用。基于这一点,微软和百度似乎走在了前列。

谈及此处,笔者个人一直秉持的理念也逐渐清晰起来,做有影响力的云平台,还是要靠大公司,而不是自己再去造轮子。在 PC 时代无论是谷歌、百度还是腾讯等巨头,也是基于 Windows 等操作系统成就了自己。同样在物联网时代,基于这些大公司的物联网平台,站在巨人肩上,去成就另外一个层面的伟大。

所以在物联网飞速发展的时代,我的重点放在了设备端。从 2001 就开始从事工控领域的我,绝不会把物联网云平台下的端,仅仅抽象为一个设备,一个网关,其中个人认为这只是冰山一角而已,会有更为广阔的操作空间。

物联网时代已经来临,云端有云端的机会,大数据挖掘有大数据挖掘的机会,设备端也有设备端的机会,就看如何去迎接这个新时代的到来了。

作者:刘洪峰,网名叶帆,叶帆科技创始人兼 CEO,前微软(中国).NET Micro Framework 开发团队成员,微软全球最有价值专家(MVP),CSDN 十大 MVB。以微软.NET MF 系统为核心,研发了物联网智能网关、YFIOs 和 YFHMI 等物联网中间件软硬件平台。

2017 年 7 月 1 日(星期六),线上物联网全栈开发峰会将在 CSDN 学院召开,刘洪峰将与其他六位专家将一起从整体架构、技术栈、应用开发平台到实战经验与安全方案,希望通过一天的时间,帮助开发者快速掌握物联网全栈开发之道,目前火热报名中,欲购从速。

立即报名:http://edu.csdn.net/huiyiCourse/series_detail/42。

你可能感兴趣的:(百度,云平台,微软,阿里,物联网)