IoT是Internet of Things的缩写,字面翻译是“物体组成的因特网”,准确的翻译应该为“物联网”。物联网(Internet Of Things)又称传感网,简要讲就是互联网从人向物的延伸。
引用自 IOT(物联网)_百度百科
MQTT is a machine-to-machine (M2M)/"Internet of Things" connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium. For example, it has been used in sensors communicating to a broker via satellite link, over occasional dial-up connections with healthcare providers, and in a range of home automation and small device scenarios. It is also ideal for mobile applications because of its small size, low power usage, minimised data packets, and efficient distribution of information to one or many receivers.
引用自 mqtt.org
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。
引用自 MQTT_百度百科
MQTT is a lightweight messaging protocol that is based on publish/subscribe pattern. Due to its low overhead and simplicity, this protocol is suitable for use in IoT and M2M applications.
引用自 Request/Response Pattern Over MQTT | Bitreactive
MQTT - MQ Telemetry Transport
轻量级的 Machine-to-Machine 通信协议。 Publish/Subscribe模式。基于TCP/IP。支持QoS。适合于低带宽、不可靠连接、嵌入式设备、CPU内存资源紧张。是一种比较不错的Android消息推送方案。 FacebookMessenger采用了MQTT。 MQTT有可能成为物联网的重要协议。
Why MQTT?
It is a publish/subscribe protocol It has Multiple Quality of Service levels (QOS) It has at-least-once and exactly-once semantics It has a low overhead (2 bytes at minimum) It supports offline messaging It retains messages, like a key/value store
引用自 Getting started with MQTT | The Jackal of Javascript
简言之, mqtt
就是简单高效基于 发布/订阅
的 消息传输协议
,主要用于资源受限设备(如:传感器、手机等)与服务器间有保障地进行消息或事件推送。
有一些人(或项目)在尝试将 mqtt
扩展到其它用途
- 请求/响应模型(Request/Response)
- Request/Response Pattern Over MQTT | Bitreactive
- 远程过程调用(RPC)
- wolfeidau/mqtt-rpc
IoT领域的其它竞争对手
- CoAP
Constrained Applications Protocol
基于
UDP
协议,简化版的 HTTP/2 。The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained networks in the Internet of Things. The protocol is designed for machine-to-machine (M2M) applications such as smart energy and building automation.
- HTTP/2
HTTP/2 (originally named HTTP/2.0) is the second major version of the HTTP network protocol used by the World Wide Web
Can HTTP/2 Replace MQTT? - Tim Kellogg
HTTP/2 - The New IoT Protocol?
HTTP/2 and the Internet of Things
MQTT vs Websockets vs HTTP/2: The Best IoT Messaging Protocol?
What’s in HTTP/2 for the Internet of Things? 1/2 | Web of Things
个人总结
HTTP/2 做为一种通用的应用层协议,由于被广泛部署,有着天然的优势,但是 mqtt
带来的 Machine-To-Machine
、 offline
、 bridge
消息传输,现在就可以应用到产品中。
或许将来有一天会出现构建于 HTTP/2 上的类 mqtt
解决方案,它能够运行在绝大多数的资源内限嵌入式设备上,在这之前 mqtt
之类的成熟的应用层协议会有一席之地,特别是在它完美契合你的应用的情况下。
做为一个开发者,与其坐等完美的解决方案出现,还不如立即开始学习 mqtt
,应用 mqtt
,从 mqtt
中学到协议设计的经验与技术,以至成为实现构建于 HTTP/2 上的类 mqtt
解决方案的那个人。