什么是基于物联网的物联网协议?在回答这个问题之前,最好先看一下物联网的概述。
物联网现在越来越受到关注,投资也越来越倾向于此。物联网一直再说这是一个工业,陨石,能源等任何我们工作生活能接触到领域的技术革命。就像我们之前文章所说,很多物联网项目的解决方案在不同的领域显现出来。
物联网能把所有的设备链接在一起,像可穿戴设备,家庭设备,智能设备,他们之前能够交换信息,所有的这些信息最终汇聚起来并通过分析来改善我们的生活。
但是,这些设备如何发送和接收数据?我们都知道HTTP协议使浏览网站,打开网页成为可能。那么这个协议对物联网是否仍然有用?
嗯,答案是肯定的,但也有其他可以更有效,更适合于低功率设备的物联网协议。

物联网协议
下面,你会发现在物联网生态系统中使用的最“重要”的物联网协议列表:
MQTT
COAP
AMQP
Rest
XMPP
Stomp
MQTT
MQTT代表消息队列遥测传输(Message Queuing Telemetry Trasport )。它是一种发布/订阅消息的轻量级协议。它是一个面向M2M(机器对机器)的协议。现在,它是一个开放的标准,由OASIS组织维护。其参考架构非常简单,它是基于客户机/服务器架构。客户端一般是一个传感器,用来"发布"消息给服务器,服务器接收消息并且分派给每个订阅者。底层的通信是基于TCP协议。

通常来讲,MQTT协议被用在多对多模型中,通过消息路由把发布者和订阅者解耦。这个协议也实现了QoS,安全通讯,长链接等特性。这个协议还有一个版本叫做MQTT-SN(或者MQTT-S),这个是专门为传感器网络设计的。Eclipse有个开元的MQTT实现叫 Mosquitto 。
COAP
COAP是一个应用受限协议。这个协议是IETF设计,也是一个多对多的协议。协议的内容在 RFC7252 并且这是个WEB传输协议。这个协议非常像HTTP,并且所有的设计都是基于文本传输模型。通常用在请求/响应 模型同时自带服务发现功能。不同于HTTP,COAP的数据包更小,协议更加轻量级。
COAP是基于UDP的,这也是个C/S协议,客户端发送请求然后服务器返回响应就像HTTP一样,所以COAP的使用方法和HTTP一样。
AMQP
AMQP 是高级消息队列协议,像MQTT一样他维护了OASIS。AMQP是多对多通讯的开放标准交换协议。换句话说,这是一个提供了路由,查询等功能的面向消息的协议。AMQP的关键指标是:
开放
可互相操作
安全
稳定
REST
我们都知道REST。它能表述状态的转移。通常用在不同程序之间交换数据,或者不同域名下的应用整合。他是基于HTTP的,采用C/S模型,不仅在物联网生态系统,互联网上使用也非常广泛。我们之前讨论过如何用REST整合Arduino和Android。
XMPP
XMPP (可扩展消息和表述协议)是一个开放的消息和表述协议,采用XML描述消息。XMPP-IoT是物联网环境下的一个特定版本。这个协议允许用户实时的发送消息处理状态(在线,离线,忙碌)。物联网版本允许用户从机器上发送和接收。除此之外他的扩展性非常的好。关键特性是:
可扩展
开放
灵活
Stomp
Stomp 是一个面向文本的协议。非常易用。客户端通过一个代理连接交换信息。
就是这么多了!现在你已经知道了一些物联网世界里普遍使用的协议了。