有一个神秘的力量,让各大互联网企业纷纷站在了一起。
从业界良心Google、亚马逊和微软,天朝的腾讯阿里,到业界标(du)杆(liu)百度,甚至还有画风不太一样的通用电器,还有中移动、环信等等……都站在了一起。
这个神秘的力量就是……MQTT(消息队列遥测传输)协议!
短短数月的时间内,上述巨头争先恐后地发布了物联网平台以及开发套件,百度还因此成为国内率先原生支持MQTT协议的公有云厂商。最近BAT都把MQTT作为物联网前置接入套件单列出来作为标准云服务提供:阿里云物联网套件,百度开放云物联网服务IOT,腾讯QQ物联平台,包括中移动OneNet开放云,Amazon IOT服务都如此,更别提环信,野狗之类原来做IM云服务的,早已将MQTT作为IM/IOT共享的接入服务了。
物联网发展这么多年,始终没有通用协议的僵局似乎要被打破了。
那么问题来了:为什么是MQTT、而不是CoAP、不是AMQP、不是JMS、不是DDS、甚至不是HTTP呢?
被追捧的根本原因,是MQTT“三低一高”的物联网适配性:
转换成本低
MQTT是IBM于17年前提出并着手立项的针对物联网的通信协议,也是涵盖范围最广的协议。基于 TCP\IP 的出身,让 MQTT “意外”获得转换buff,攻城狮们几乎不需要改造目前广泛使用以太网链路,就可以直接部署实施。只冲这点,每个IoT都得感谢 IBM。
网络要求低
物联网不比移动互联网,联网设备形态各异、网络状况未必理想,容错率低。
如说:你的车在荒郊野岭面临随时被偷的可能,依赖4G甚至3G网络都不现实。设备离线、断线不是物联网之痛,而是物联网のreal日常。如果依赖设备本身的计算和存储能力,那么物联网的设备会非常昂贵——离万物互联越来越远了好吗?!
针对这些状况,MQTT采取遗言机制巧妙应对。针对物联网,众多协议中只有MQTT完美照顾了嵌入式设备,最小的数据包仅有2个比特,!
硬件要求低
设备接入网络后,依赖网络稳定或者设备的运算存储工作依然是移动互联网的打法。物联网的接入设备应当是轻量的、低成本的、可快速铺开形成大数据效应和服务的设备。一个MQTT的Client端程序经常只有几十k大小。这就意味着更低的能耗,和更稳定的接入。
例如易通星云开发快的小e硬件开发板,利用MQTT+(经优化后的MQTT)技术后,几乎只要是带电的东西,都可以快速接入物联网,几乎不需要针对本身的硬件做改造。
安全性高
自从著名智能硬件Nest被暴数据泄露,小到普通消费者、大到PM,对物联网数据的安全性就质疑不断。
其实这是一个完全用意识弥补操作的事儿。
MQTT的安全性并不是天生的属性,而是它本身的开源性和可塑性给予开发人员更多想象空间:VPN、TLS加密、Client Identifier提供、二进制字节传输、SSL加密等加密手段都可以完美支持。程序猿可以舒一口气了,只要意识上去了,安全就上去了,操作层面无须担心。
开发快属于比较极端的团队,采取了私有云和MQTT+双管齐下的方式,保证物联网云数据的安全。即便用了MQTT,如果数据放在公有云上,依然要担心第三方云平台偷窥数据,开快发众筹中的ET-iLink直接使用私有云,第三方云平台也没办法看到物联网数据。
既然 MQTT 这么好,为什么现在才出名?
这是一个意识和操作都跟不上的悲伤故事。
目前大量的物联网设备依然使用HTTP或者TCP协议通信,因为从互联网时代沉积下来的旧习。在物联网设备形态单一、硬件厂商本身资金和技术雄厚的情况下,采取这种落后的策略一点问题都没有。
因为巨头厂商有充分的资金搭建庞大的基础硬件设备,维护庞大的工程师团队进行开发。即便要忍受HTTP轮询的方式,目前物联网设备的体量仍能勉强支撑。
然而随着传感器、智能硬件等关键技术门槛的突破、以及物联网行业人才的聚集,更多小团队带着不俗的产品原型和商业蓝图出现,物联网厚积薄发的事实正在逐步显现。巨头的站队、小团队的青睐,以及渴求转型的传统企业都让MQTT稳定、易用的特性逐渐被重视。
下面这张图简单说明了MQTT目前在整个物联网架构中的潜力。
IOT Connectivity Problem Space
其实现在,MQTT已经是非常流行的设备的接入协议,除了IBM、亚马逊、微软的IoT托管服务支持以外,AWS,AZURE和Bluemix的IoT 都只支持mqtt和http。
除了上述巨头,许多物联网创客、初创团队和MQTT早已渊源颇深——我们在攻城狮专属的聚丰众筹平台发布的小e硬件开发板目前有127位支持者,大多和我们保持长期联系。
他们表示,其实这次众筹支持并不是真的单纯冲着小e开发板去的…..
而是冲着买开发板送 MQTT+ 云服务去的……!
嗯,本次众筹除了回报可以快速接入物联网的小e开发板,还有为了众筹而赠送的终身免费MQTT+ 云服务——
99元回报最高99个设备在线的云服务套件;
999元回报最高999个设备在线的云服务套件;
8888元回报……啊呸这是商务合作了!
众筹的初衷,其实就是希望可以把物联网的门槛变低一点。因为看到曾经的支持者用了1个月完成了6个月的开发量,大受鼓舞。
有兴趣的攻城狮可以自行百度 ET-iLink 小驾学车 易优游 等案例。也许未来,MQTT会让物联网遍地开花,催生更好玩的产品出来吧。