
MQTT (Message Queuing Telemetry Transport,消息队列遥测传输) 是一种基于 TCP/IP 协议族的应用层协议。MQTT 协议是专门针对硬件性能低下 & 网络状况不稳定的场景设计的,这使得 MQTT 在物联网和移动应用等受限场景得到广泛应用。
目前,MQTT 主要分为两个大版本:
物联网和移动应用场景的特点是硬件性能低下和网络状况不稳定,而 MQTT 协议就是专门针对这种环境设计的,主要在四个方面有优势:
结论:这三种协议并没有绝对的优胜者,最好的协议取决于具体的需求和限制条件。但如果只从带宽、电池、功能多样性这些基本条件看,MQTT 在其中是更占优的选择。
MQTT 协议的设计特性中包含了一项 “高可靠性交付”,它需要一个保证可靠的底层传输层协议,因此 TCP 协议、TLS 协议、WebSocket 协议都可以作为 MQTT 的底层协议。而无连接的 UDP 协议会丢失或重排数据,不能满足 MQTT 协议的传输需要。
MQTT 是基于发布 - 订阅模型 (pub/sub) 的消息传递协议,与请求 - 响应模型不同,发布 - 订阅模型主要有三种角色: publisher & subscriber & subscriber :
当 client 发布某个主题的消息时,broker 会将该消息分发给任何已订阅该主题的 client。通常来说,client 不会存储消息,一旦消息被发送到这些 client,消息就会从 broker 上删除。另外,保留消息、持久连接和服务质量 QoS 可能会导致消息临时存储在 broker 上。
发布 - 订阅模式使得 消息的发布者和订阅者解耦 ,主要体现为空间解耦和时间解耦:
引用自 >
华为自从被美国制裁之后,就在各个方面受到了打压,特别是芯片这一块华为是目前最发力不上的一个点,而且列入实体名单之后,华为和谷歌在安卓系统上面也开始分道扬镳,不过我们并不用担心太多,毕竟在系统方面华为还是有备胎使用的,那就是鸿蒙系统了,鸿蒙系统在8年前的时候就开始研发了,和安卓一样也都是genuineLINUX系统开发的,这对双胞胎之间有什么不一样呢,具体来说的话是有差别,但也没有太多差别。
鸿蒙和安卓一样都是作为二次开发的系统,从血缘上面来说的话就十分接近,安卓作为老大哥来说已经开发了这么多年目前来说已经是相对于稳定和完善了,无愧于全球第一大移动端的系统,不过作为后生的鸿蒙系统来说也有安卓系统不具备的优势,首先第一个那就是鸿蒙系统可以完美兼容安卓系统的软件,这也是近亲关系带来的好处。这样也就省得各大软件厂商又要基于鸿蒙再去开发软件了,如果不兼容的话鸿蒙肯定会被安卓直接打垮。
其次鸿蒙系统比现在的安卓系统效率也更高,应用的场景也更加多,鸿蒙目前可以覆盖的终端有手机,平板以及智能穿戴等等一系列领域之中,而且通过华为独有的方舟编译器支持鸿蒙更加是如虎添翼,能够使系统性能又有一次质的飞跃,单单就流畅性而言就可以和苹果扳手腕了
可以说鸿蒙系统目前来说最大的缺陷不是来自系统本身而是来自外部的认可,首先目前国人因为还没有使用过,因此国人的认可度不高,鸿蒙虽然能够兼容安卓,但也是有着自己的生态圈的,因此提高国人认可度,才能够在打造属于鸿蒙自己的生态圈的路也更加容易。
物联网管理系统与传统的嵌入式设备相比,物联网感知层的设备更小、功耗更低,还需要安全性及组网能力,物联网通信层需要支持各种通信协议核协议之间的转换,应用层则需要具备云计算能力。在软件方面,支撑物联网设备的软件比传统的嵌入式设备软件更加复杂,这也对嵌入式 *** 作系统提出了更高的要求。为了应对这种要求,一种面向物联网设备和应用的软件系统——物联网 *** 作系统。
物联网中的 *** 作系统涉及到芯片层、终端层、边缘层、云端层等多个层面单一层次的物联网 *** 作系统与安卓在移动互联网领域的地位和作用类似,实现了应用软件与智能终端硬件的解耦。就像在安卓的生态环境中,开发者基本不用考虑智能终端的物理硬件配置,只需根据安卓的编程接口编写应用程序,就可以运行在所有基于安卓的智能终端上一样,物联网 *** 作系统的作用也是如此。
关联作为互联网的延伸,物联网利用通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,而它对于信息端的云计算和实体段的相关传感设备的需求,使得产业内的联合成为未来必然趋势,也为实际应用的领域打开无限可能。
简单地说,物联网是一种建立在互联网上的泛在网络。物联网技术的重要基础和核心仍旧是互联网,通过各种有线和无线网络与互联网融合,将物体的信息实时准确地传递出去。
互联网是指将两台计算机或者是两台以上的计算机终端、客户端、服务端通过计算机信息技术的手段互相联系起来的结果,人们可以与远在千里之外的朋友相互发送邮件、共同完成一项工作、共同娱乐。
其内在联系:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物体与物体之间,进行信息交换和通信。
以 Hightopo 的炼铁厂数据可视化为例,就可以结合文字理解其含义:
Hightopo 是由公司独立自主研发,基于HTML5标准技术的Web前端2D和3D图形界面开发框架。非常适用于实时监控系统的界面呈现,广泛应用于电信网络拓扑和设备管理,以及电力、燃气等工业自动化 (HMI/SCADA) 领域。
多年来数百个工业互联网可视化项目实施经验形成了一整套实践证明的高效开发流程和生态体系,可快速实现现代化的、高性能的、跨平台桌面Mouse/移动Touch/虚拟现实VR图形展示效果及交互体验。
参考资料:
百度百科——图扑软件
面对如此庞大的市场,作为互联网时代的科技巨头之一,谷歌自然不会视而不见。实际上,从2011年开始,谷歌在物联网方面的布局就首次进入了人们的视野。从软件到硬件,谷歌在物联网领域做了什么?软件:系统+通讯
2011年5月,在当年的GoogleI/O大会上,谷歌首次提出了Android@Home智能家居计划。通过Android@Home,用户在一部安卓手机或平板上就能控制家中的电灯、空调、音响播放器等一系列的智能家居产品。
在技术实现上,Android@Home采用了基于IEEE802154标准的ZigBee技术,其传输特点就是低功耗、低成本和低延迟。同时,谷歌还在安卓 *** 作系统的底层开放了针对家电控制的专用API接口,符合规范的家电通过ZigBee技术与手机建立好物理连接,安卓应用程序就能通过专用的API实现对这些家电的一系列智能化控制,除了远程开关 *** 作之外,一些智能电灯产品甚至能在用户玩游戏时配合剧情产生频闪效果。
到了2012年,谷歌又基于Android@Home发布了一款名为NexusQ的球状流媒体播放器,该产品被外界视为谷歌凭借Android@Home进入智能家居的标杆。但不幸的是因为高昂的定价和只能支持谷歌的内置服务,NexusQ并没有受到消费者的欢迎,在2013年年初就匆匆下架。至此,谷歌以自身产品进军智能家居的努力宣告失败,而在随后接近一年的时间中,Android@Home也逐渐淡出了人们的视野。
作为一家主打软件产品的公司,谷歌在打造物联网软件平台的努力自然不会随着Android@Home的失败而消失。
2014年10月,谷歌公布了ThePhysicalWeb项目源码,希望通过统一资源定位符(URL)的方式建立起一套智能硬件之间的互联互通标准。用户不需要下载专门的App,只需要像浏览网页时那样,点击某个设备对应的URL链接,就能实现对该智能硬件的 *** 作。但作为一个早期的实验性项目,谷歌并没有正式推出,只是在开发者群体进行了小范围的交流。
在2015年的GoogleI/O大会上,谷歌针对物联网应用正式发布了名为Brillo的物联网RTOS实时 *** 作系统,和基于json的物联网通讯语言Weave。
其中Brillo是一个极简化的Android *** 作系统,拿掉了所有复杂的上层界面,只留下 *** 作系统底层的核心,使得Brillo可以被方便地嵌入门铃、监控摄像头、烤箱等各种型号的智能硬件之中。
而Weave是基于json的智能硬件通信语言,谷歌意在创建智能硬件间通用的通信、指令收发方案,让智能设备之间通过Weave实现自主化的互动和沟通。例如在用户锁门的同时,不需要手动 *** 作,烤箱和空调就会探测到门锁的状态并主动关闭自己的电源。
I/O大会之后,谷歌又在7月份发布了一款开源的低功耗蓝牙通信平台Eddystone,目的是为了抗衡苹果的iBeacon,在物联网近场通讯技术上保留自己的话语权。
2016年年初,谷歌针对Brillo、Weave和Eddystone等技术召开了Ubiquity开发者峰会,向开发人员全面介绍了这些技术的实现细节,帮助他们在谷歌的物联网框架下进行更深度的开发。
至此,谷歌在物联网软件方面形成了从 *** 作系统到通讯协议的全面布局。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)