MQTT比TCP协议好在哪儿?
MQTT是建立在TCP协议之上的一层应用层协议,是不同层面的。我想你可能是想问MQTT比socket报文交互好在哪里?这样的话有几点重要原因:
1.最大优点是降低开发复杂度和开发成本,解决了网络编程中重连机制,报文解析中粘包处理,字节流处理,高并发处理,保证数据到达,保证数据唯一到达,等等问题。
2.MQTT使用json作为交互数据格式,便于理解和对接,使得不同系统之间,不同设备和系统之间交互更加简单,降低了开发和沟通复杂度。
3.但在效率上,MQTT还是比不过直接网络编程,用netty开发也难度不高
tcp协议相当于铁路,mqtt就是火车。tcp是底层网络协议,属于基础设施。mqqt是应用层协议,是为某个功能服务的。具体点,mqtt协议用于iot设备之间传递实时消息的,比如你家里用的智能灯泡,你在手机上按个按钮,灯泡就亮了,这个就可能是用mqtt实现的。
现在各个品牌的音响只能控制各家系列的设备,有没有将各家智能控制平台合并的方法?
有两种主要的方法,第一种是在边缘层进行互联,比方说用其中一家的产品为主,用他的云平台,另外一家的产品提供网关接入。这种方式比较简单,只要两个厂商愿意开发,有人愿意开发***就能够实现。当然有利益,破解也可以考虑。
(图片来源网络,侵删)
第二种方式是在云端进行数据互联,同样用一家公司的云平台为主,通过mqtt,https,json接口去另外一家的云平台获取数据,然后转换成自家的设备模型,同时提供设备映射的操作界面即可。
因为本人从事工业平台开发,与这个大同小异,大家有兴趣的关注微信小程序“极简工业”
(图片来源网络,侵删)