为什么MQTT在物联网越来越火了?

物联网

775人已加入

描述

先说说常见的物联网几大协议。

OPCUA

(图片来源于网上)

1 HTTP。

因为物联网是从互联网延伸过来的,那么互联网的协议霸主HTTP,自然是离不开了。直到现在,很多具备条件的设备,还是使用HTTP协议的。

这是因为很多平台还是基于HTTP的数据模式,以及很多搞平台的 ,搞服务器,搞架构的,对HTTP更为熟悉。

2 CoAP协议。

这个CoAP一再被嫌弃的协议,居然还在坚挺地活跃在物联网。

在物联网这个江湖里,这个CoAP就只出现在一些小的门派里,似乎也与世无争了。这里就不再讲了,让这个协议在悄悄地与世无争吧。

3 其它协议。

但凡百度一下,还可以查到物联网协议里,还有什么DDS协议,AMQP协议,XMPP协议等,当然,还有OPCUA协议也一样可以搞物联网。

但为什么最后是MQTT胜出了。当然说胜出有些过分了,但不夸张地说,确实如此。

笔者接触MQTT这么多年,也一直在关注着MQTT的发展,大概分析了几方面的原因。

一 先从协议特点本身来说。

在这几大物联网协议中,MQTT有好几个特点,比如TCP的网络连接,传输开销小,协议栈轻量。

要知道,在物联网,特别是工业物联网,设备都是用单片机或者比较小型的CPU进行开发的,就这么点空间,只能运行这么点程序。经常会有只搞软件的问我们,为什么你们下面控制器用这么小的内存,空间。拜托,那都是成本呀。要是我能两百块买到一台电脑I5的配置,谁愿意写程序这么抠呀,是吧。

另一方面,这些设备更多是发到现场使用。要知道,在只有鸟东西拉屎的地方,我们还要知道设备是否在线等内容。而MQTT的TCP连接,在线机制,就特别适合物联网了。还可以约定在线心跳时间。

再结合这个协议本身的订阅,发布消息机制等,简直合适物联网的不要不要的。

二 MQTT的接受度开始变高了。

在较早使用MQTT做物联网项目里,很多项目都很成功的完成了。不管是甲方,还是乙方,都对MQTT给以一定的好评。

三 MQTT的学习和使用成本在下降

随着MQTT的接受度变高,自然学习MQTT的人也更多。但MQTT又涉及TCP/IP,还要懂C语言或者 JAVA等,门槛有些高哈。

一方面,这个协议有开源的SDK。可以让早期先学习的人,先用起来。

另一方面,先“富”起来的这些人,然后为了降低学习MQTT的成本,推出了更多的SDK版本,甚至在一些开发板,物联网模块,把用户要用的MQTT封装好。

比如TencentOS-tiny ,腾讯推出的物联网开发板,是基于STM32,里面就包含了MQTT的sdk,开发者不需要关心MQTT的协议栈怎么实现的,只要在代码里修改下域名,主题等相关信息,就完成了MQTT开发。

还有不少搞MQTT平台的,也推出了适配他们服务器的SDK。

所以说现在MQTT的代码几乎拿来就用,不像我们早期搞MQTT开发,还有详细阅读MQTT协议,一点点搞协议栈等。

四 国内的平台越来越青睐于MQTT服务器。

像腾讯云,阿里云等是比较早推出MQTT对接的。但对于一些只做设备端的,未必使用腾讯云或者阿里云的,就会去物色合适的平台。

现在但凡搞物联网平台的,动不动就说支持MQTT了。做设备端的选择自然也就多了。

慢慢地从设备端,到平台端,整个MQTT生态就这样起来了。

五 MQTT的生态圈。

MQTT在物联网的发展也有好几年了。

好东西大家自然分享嘛。在早期用MQTT做产品的,不管是搞开发的,还是产品经理等角色,基本是在公司相对优秀的人才。

然后在这些人里面呢,要么跳槽去了更好地发展,要么也在公司里晋升,也具备一定的决策权。

带来的一个影响,就是在后续的项目以及产品发展中,就倾向于推进MQTT做为产品方案或者项目方案了。

在这几年里,不少高校推出的物联网专业的大学生,也陆续毕业了。意味着,还在大学阶段,就搞过MQTT协议等物联网相关的。简直是招过来就可以上手做项目。

自然地就形成了MQTT良好的生态圈了。

六 MQTT的发展已经很好将IT与OT融合了。

我们经常看到各种文章说什么IT,OT的融合。却很多人搞不清楚什么是IT,什么是OT,以及什么是融合,有没有融合。。只是觉得这样描述看起来很高大上,有逼格而已。

IT,也就是信息技术,通俗讲,就是我们说的搞IT的人做的IT的事。

OT,也就是运营技术,也可以通俗地讲,就是那些运营人员做的运营的事。

而这里的运营,未必是服务器运维人员哦。要知道,搞服务器运维的,可是很有水平的哦。

当然,这里的运营,更多是产品方面的运营。

IT更多是涉及到产品前中期的开发,这里就有开发成本了。

则OT,则涉及到产品中后期运营成本。

这个成本,就包括了时间成本,人力成本,资金成本,学习成本等各方面的成本。

在笔者看来,所谓IT和OT的融合,也离不开成本的融合,当然,这只是其一方向。

一个产品,投入过多的开发成本,或者投入过多的运营成本,都是不合理的。

而OT/IT融合,必然也需要在开发成本和运营成本之间寻找到平衡点。

对IT来说,MQTT技术成熟,项目案例多,经验丰富,投入较少的成本,就可以开发产品和项目。

对OT来说,MQTT也不再陌生,前期不需要投入太多的学习成本和培训成本,就能对产品进行使用,管理,运营。

甚至对于一些产品架构简单的,IT既是OT,OT也就是IT。不再需要明确的划分。

OPCUA

差不多就是这样吧,MQTT就建立起了这样的生态圈。

还有很多平台,项目,产品,也陆续加入到MQTT的圈子里。

接下来我们可以聊一聊MQTT的产品方向可能有哪些呢。

在聊这个之前,笔者想拿OPCUA对比国内外的一些情况。

OPCUA这个协议,在物联网应该说是非常合适才对呀。

做下不恰当的比喻。

OPCUA呢,好比如高铁。每个高铁站,就是一个OPCUA节点。

只要在这个高铁网络里,OPCUA都可以一个节点,一个节点去访问,通信,交换数据等。

而MQTT呢,就好比如小区楼下送快递的三轮车。

就错,就是三轮车和高铁的这样一个对比。

OPCUA这个协议,规定的内容简直非常丰富,丰富到你不需要额外加什么东西。就像坐上了高铁,可以享受着各种服务。

而楼下的三轮车呢,虽然不能像高铁那样提供各种服务,但是它相对小巧灵活,更能服务于我们的生活。

高铁不常坐,那购物还是有的吧。

而MQTT的运作呢,就好比如,我在淘宝买了一件衣服。也就是我订阅了一件衣服。

然后淘宝服务器就处理我们的订阅,进行分发。

衣服经过打包好,最后通过三轮车快递到楼下。

当然,三轮车上还有各种快递,这一件件快递就像MQTT不同的主题了。因为有不同的人买的东西,也就是订阅。

在很多物联网项目中,用户只需要设备简单发几个数据,比如几个小时把温度发过来。像这种情况,用三轮车就可以了。没必要动不动就要坐高铁。

也许用户会问,那MQTT安全没,是不是用OPCUA更安全呀。

也对,当我们楼下敞篷的三轮车送快递的时候 ,车上有什么快递,谁的快递,都被别人看清楚了。

不加密的MQTT呢,就像敞篷的三轮车送快递。

但是也有封闭的三轮车的。

好了。我们接下来聊聊MQTT的几个产品方向。

一 平台方向。

物联网这个领域,有设备端,也有平台端。

而平台端呢,就和当初的互联网差不多,而且产品模式更多是B端产品。

什么是B端产品,笔者就不再累赘了。因为笔者买的B端产品的书还没有到,不能给大家介绍了。

像阿里云,腾讯云等,就是擅长于这一类的产品开发了。

没有特定的硬件,更多是开发平台,提供一定的接口,甚至是SDK,可供设备端连接至平台。

然后平台再提供一些API让用户来做自己的数据业务这一块。当然,也可以让用户直接使用平台所能支持的数据业务。

像这类产品,拼的就是一个软实力。对服务器的水平要求可以说非常高了。

一方面要考虑到数据安全,另一方面,还要考虑设备的接入量。

像手机很多时候,只是人手一个。需要购物的时候,比如双11的时候,大家一窝蜂去购物。

而物联网设备呢,N倍于手机,并发量多起来,不亚于双11。

这类产品,更多是展现的数据价值,软件的价值。硬件有成本,软件无估价呀。

二 设备产品方向。

有人做软件,就人有做硬件。

像这类产品方向,可以是B端产品,也可以是C端产品。这个具体看产品规划了。

而设备产品方向,可以有智能家居,AIOT,IIOT等方向。像智能家居方向产品,或者消费类产品,往往一个设备,再结合微信小程序。基本就OK了。

但像工业物联网,对数据的价值体现不一样。往往不是微信小程序这样的数据展示就可以的。

对于做物联网产品网关的,更多时候也不需要关心最终如何展示数据,只需要把产品做好,能稳定在线,能支持接入的控制器,PLC,越多越好,使用更方便就行了。如果价格再亲民一些,就不愁卖了。

现在市面上的网关一抓一大把,动不动就Modbus ,西门子,欧姆龙数据采集。几乎每个网关都支持MQTT,不然都不好意思说自己是工业网关了。

三 设备+平台一体产品方向。

对于最终用户来说,虽然不太关心用的是啥网关,啥平台。但是对于集成商来说,这太要关心了。

如果选用阿里云,或者腾讯云做为平台接入,数据业务这一块,就还需要进一步去选择工业网关,看哪一家对阿里云,腾讯云支持的好。以及工业网关是否能满足项目所使用的控制器,PLC。

如果先选了工业网关,还要考虑这个网关所能支持的平台,还需要投入多大的软件开发成本来进行数据对接,以及后续的运营维护成本了。

如果遇到一家卖硬件送软件的,也许是一个不错的选择了。

这就是这类的产品方向了。

除了推出自己的物联网网关,还有现成的平台,管理工具等。

比如 FBox就属于这一类了。

只要你买了FBox,不需要在额外去找第三方平台对接了。

提供了平台,让你免费用。

还有客户端管理监控工具,让你免费用。

还有历史数据,让你用。

还有云组态,让你用个够。

如果你还想对接第三方平台,也可以支持MQTT对接第三方平台。

OPCUA

当然还有一类产品方向是属于方案产品方向。更多是提供解决方案的。这类产品往往需要一定的概念,产品架构。目前笔者功力尚浅,暂时先不讨论了,等笔者多读一些产品相关的书后,再来和大家交流更多的产品方向。

毕竟做产品,除了了解产品本身,还要了解产品背景,以及产品的技术导向。就像如果我要去卖口红,如果对口红不了解,比如什么场合用什么色号的口红,光是有产品概念,光是只有一个PPT,是做不出好产品的。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分