MQTT和Coap
什么是MQTT?
MQTT是一个“发布和订阅”协议。用户可以订阅某些主题,或发布某些主题的消息。订阅者将收到订阅的主题消息。用户可以通过保证交付来配置协议更可靠。
什么是CoAP?
CoAP看起来像是兼容HTTP,支持大多数互联网。 CoAP可以利用代理服务器,并将其转换成HTTP,或者根据环境限制直接与设计为使用CoAP的特殊服务器进行通信。
你什么时候使用它们?
由于发布/订阅体系结构与中间商中介,MQTT是广域网(WAN,互联网)上的设备之间的通信的理想选择。它在带宽有限的情况下是最有用的,例如远程现场站点或其他缺乏强大网络的区域。
MQTT是Azure和Amazon服务产品的一部分,因此它具有很多已建立的架构,使其易于适应当前的开发人员。
CoAP的强项是与HTTP的兼容性。如果您有一个基于Web服务的现有系统,那么在CoAP中添加是一个很好的选择。它建立在用户数据报协议(UDP)上,这在一些资源有限的环境中是有用的。由于UDP允许广播和多播,您可以使用较少的带宽潜在地传输到多个主机。这使得它对于设备需要快速交流的本地网络环境很好,这对于一些M2M设置是传统的。
如果物联网开发人员正在使用将利用现有Web服务器架构的设备,开发人员将使用CoAP。但是,如果开发者正在构建一个设备真正“仅报告”的东西 - 也就是说,它被丢弃在网络上,只需要将数据报告回服务器 - CoAP将会更好。其他用途,如云架构,可能最好用MQTT完成。
MQTT和CoAP的未来
随着时间的推移,对于其他协议,使用或行业采用趋向于向更自由和包容的平台迁移,除非非包容性平台更好。 MQTT和CoAP都是开放标准,任何人都可以实现。 CoAP由标准机构启动,而不是由私有公司(包括IBM)设计的MQTT。 CoAP被设计为处理资源有限的环境,可能是它成为赢家,但是目前MQTT似乎处于领先地位。 MQTT背后有显着的动力 - 大云玩家已经选择了这一势头,或者至少选择它。此外,许多商业用例需要MQTT(存储和转发,集中式主机)的功能。然而,一种可能性是,一些围绕HTTP(例如移动应用程序开发)进行标准化的软件开发可以开始利用CoAP来处理外围设备,并与后端通信,以帮助减少不良连接带宽。
最终,这些协议可以通过互联网有效部署在不同的应用程序中。我们知道有特定的使用案例,其中每个都是最好的,但是我们也知道,物联网和物联网设备将会在复杂性和普及性方面继续发展。对于开发人员来说,了解应用程序的关键差异不仅可以实现更好的初始部署,而且可以为今后的开发工作奠定坚实的基础。
MQTT和Coap的更多相关文章
- MQTT、CoAP
实时协议是物联网的一项根本性技术,在物联网领域发挥了重大的作用.目前物联网设备所广泛使用的四大实时协议:XMPP.HTTP.CoAP以及MQTT等可谓各擅所长.亦各有弊端. 那么在万物互联的时代,谁主 ...
- IoT协议LwM2M MQTT与CoAP
IoT协议LwM2M MQTT与CoAP 一.MQTT 1.概述: MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议, ...
- 物联网应用层协议选择和分析--MQTT、CoAP 、HTTP、XMPP、SoAP
MQTT协议 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)最早是IBM开发的一个即时通讯协议,MQTT协议是为大量计算能力有限且工作在低带宽.不 ...
- 转:XMPP协议、MQTT协议、HTTP协议、CoAP协议的基本比较
一.先看下相关国外的专业数据对四大协议的比较: Protocol CoAP XMP ...
- 物联网通讯协议:MQTT,CoAP,NB-IOT,RFID,BLUETOOTH,NFC
一.按网络四层协议分类: NB-IoT,LORA,WIFI,蓝牙,zigbee,4G都是物理层的,这几个都需要芯片模组支持(硬件支持) 而MQTT,COAP,HTTP都是应用层协议,这些需要开发服务器 ...
- MQTT研究之EMQ:【CoAP协议应用开发】
本博文的重点是尝试CoAP协议的应用开发,其中包含CoAP协议中一个重要的开源工具libcoap的安装和遇到的问题调研.当然,为了很好的将EMQ的CoAP协议网关用起来,也调研了下EMQ体系下,CoA ...
- MQTT——服务器搭建(一)
MQTT介绍 MQTT,是IBM推出的一种针对移动终端设备的基于TCP/IP的发布/预订协议,可以连接大量的远程传感器和控制设备: 轻量级的消息订阅和发布(publish/subscribe)协议 建 ...
- 物联网MQTT协议分析和开源Mosquitto部署验证
在<物联网核心协议—消息推送技术演进>一文中已向读者介绍了多种消息推送技术的情况,包括HTTP单向通信.Ajax轮询.Websocket.MQTT.CoAP等,其中MQTT协议为IBM制定 ...
- MQTT介绍(1)简单介绍
MQTT目录: MQTT简单介绍 window安装MQTT服务器和client java模拟MQTT的发布,订阅 MQTT: MQTT(Message Queuing Telemetry Transp ...
随机推荐
- 一个APACHE TOMCAT漏洞修复
这种情况加个SSL证书就行了 就是HTTPS协议
- Android程序员事件分发机制学习笔记
通过问题来学习一个东西是很好的方法.学习Android中View的事件体系,我也通过给自己提问题,在解决问题的同时也就知道了其中原理. 首先来几个问题起步: 什么是事件?什么是事件分发机制? 在我们通 ...
- 【GPU加速系列】PyCUDA(一):上手简单操作
PyCUDA 可以通过 Python 访问 NVIDIA 的 CUDA 并行计算 API. 具体介绍和安装可以参考 PyCUDA 官网文档和 pycuda PyPI. 本文涵盖的内容有: 通过 PyC ...
- WPF的依赖属性和附加属性(用法解释较全)
转:https://www.cnblogs.com/zhili/p/WPFDependencyProperty.html 一.引言 感觉最近都颓废了,好久没有学习写博文了,出于负罪感,今天强烈逼迫自己 ...
- python将数组写入文件
import numpy as npdata = np.array([[1,2], [3,4]]) np.savetxt('out.txt', data, fmt="%d") #保 ...
- RabbitMQ消息确认机制
文章目录 1. 事务机制2. Confirm模式2.1 生产者2.1.1 普通Confirm模式2.1.2 批量Confirm模式2.1.3 异步Confirm模式2.2 消费者3. 其他 消费者如何 ...
- ajax post 提交无法进入controller 请求200
最近写js遇到个问题: 用ajax的post方式给后台提交数据,页面200,但是不进入controller 断点,我以为我post参数不对. 网上查的: 1.说路径不对,但是我通过get方式是可以进入 ...
- es4x 调用其他三方jar 包
es4x 使用了graalvm 作为运行时环境,所以即拥有vertx 的强大,又拥有了与java 代码便捷的通信能力 以下是一个简单的测试,同时也简单说明下es4x 的es4x-launcher.ja ...
- 第02组 Alpha冲刺(1/4)
队名:十一个憨批 组长博客 作业博客 组长黄智 过去两天完成的任务:进行组员分工 GitHub签入记录 接下来的计划:构思游戏实现 还剩下哪些任务:敲代码 燃尽图 遇到的困难:任务分配的不及时,导致很 ...
- LOJ6625 时间复杂度(min_25筛)
本人在LOJ的第三题(前两题太水不好意思说了QwQ),欢迎大家踩std. 题目链接:LOJ 题目大意:定义函数 $f$:($minp$ 表示最小质因子) $$f(x)=\begin{cases}0&a ...