物联网通讯,第1部分:引入MQTT

获得物联网设备在需要低开销如MQTT协议

  • 在Facebook上分享
  • 在Twitter上分享
  • 分享在LinkedIn
  • 在Reddit分享
  • 通过电子邮件分享
  • 印刷资源
网络782707 1280
jeffrrb(CC0)

在物联网的世界一件事情你有很多,除了事情,消息。物联网设备生成消息时,发送之类的状态报告和环境测量;当他们收到,他们被告知要做什么(“开阀”或“发送状态”)或者他们从其他设备或存储数据,或者,或者…有没完没了的用例。此外,物联网设备的数量增长非常迅速,只有他们的消息流量的增长速度相结合。以及物联网的爆炸,有上运行的应用程序的智能手机,平板电脑,和电脑都需要相同类型的短信服务。

现在有很多方法来处理物联网消息但最强大的,最有趣的,技术是消息代理。维基百科的解释这消息代理:

…中介程序模块,将一条消息从发送方的正式消息传递协议的正式消息传递协议接收方。消息代理元素在电信或计算机网络软件应用程序通过交换状况消息进行通信。信息经纪人是面向消息的中间件的构建块…一个Message broker消息验证是一种体系结构模式,转换和路由。应用程序之间协调沟通,尽量减少相互感知的应用程序应该为了能够交换信息,有效地实现解耦。

发布-订阅消息代理实现发布-订阅(AKA)模型,其中“用户”与一个或多个消息代理接收消息发送到代理的“出版社”,有点很明显,用户也可以同时是一个出版商。

足够的理论!我们将看一个最流行的和有效的消息代理协议,MQ遥测传输或MQTT。注意,最初的名字是现在很少使用缩写已经演变成协议的名字。MQTT是其他历史名称“SCADA协议”,这个“MQ Integrator SCADA设备协议”(MQIsdp)完成“WebSphere MQTT”(事情就是WMQTT)。mqtt.org解释说MQTT是:

…发布/订阅,极其简单的轻量级消息传递协议,用于限制设备和低带宽、高延迟或不可靠的网络。设计原则是减少[原文如此]网络带宽和设备资源需求同时也试图确保交货可靠性和一定程度的保证。这些原则也会使协议理想的新兴“机器对机器(M2M)”或“物联网”的世界连接设备,和移动应用带宽和电池供电的溢价。

换句话说,MQTT的实现等都是很好的选择端点设备树莓π,arduino,智能手机操作系统,几乎任何平台,可以受益于简单的消息传递和低开销。

MQTT协议,作为写作的3.1.1版本并已成为绿洲标准虽然仍有许多实现的市场支持版本3.1.0。最新的规范重大改进过去规范还规定,MQTT“经纪人”现在应该叫MQTT“服务器”。

IANA保留了TCP / IP端口1883上使用的MQTT经纪人,呃…服务器和端口8883的MQTT通过SSL使用SSL(注意,引入了额外的通信性能开销)。许多MQTT也支持websocket服务器实现。

MQTT协议有五个主要特点:

  • 基于主题的路由。在MQTT消息等主题层次结构实现标签的州/建筑/室/设备/传感器和订阅可以使用通配符,例如,所有的传感器数据为所有实验室在加州的所有建筑物可以订阅加州/ + /实验室/ #(+是一个通配符而#匹配所有以下较低水平;稍后我们将回到主题)。
  • 支持清洁会话。当一个端点连接到MQTT服务器第一次和新创建MQTT会话服务器和客户端注意会话存储数据的状态。这个保存的会话状态允许代理重新连接后恢复消息传递消息,所以没有发送或接收由于断开可以交付。干净的会话是一个选项。
  • 的服务质量。MQTT QoS支持允许用户和出版商(总的来说,“客户”)选择一个服务的三个层次:
    • QoS 0,也称为“发射后不管”,不需要确认已收到从客户端。这个水平可能牺牲交付可靠性(消息可能会丢失)速度因此更适合用来可靠连接。
    • QoS 1,“至少一次”交付,需要发件人(服务器或客户端)重试超时时间内如果没有收到确认窗口。质量差连接QoS 1重试可以影响性能和重复信息是可能的。
    • QoS 2》到底是一次”交付,就像QoS 1但随后地位交换确保重复消息不会被交付。额外的通信有一个潜在的开销甚至高于QoS 1。
  • 保留信息。当发布者标志着消息的主题“保留”,消息交付第一端点时订阅该主题。只能填报一个保留的消息/主题。认为这是一个“欢迎”或“最后状态”消息从一个出版商。
  • 遗嘱的消息。当连接到一个服务器,一个出版商或用户为主题,如果指定一个轻型消息端点笨拙地断开连接,该主题的所有订阅者将收到的消息。在一个优雅的断开,轻型消息处理。

你现在可能在想,最近mega-scale拒绝服务攻击这是由150000年僵尸网络参与物联网设备,安全呢?第五章的最新标准讨论了安全但指出:

本章仅提供指导,是不规范的。然而,强烈建议服务器实现提供TLS (RFC5246)应该使用TCP端口8883 (IANA服务名称:secure-mqtt)。

也就是说,所有严肃的和有用的MQTT实现包括认证服务。

许多非常有用的,免费的开放源码MQTT平台可用在接下来的部分我们要专注于一个成为广泛应用于物联网系统:Mosquitto

评论?想法吗?让我一个消息或低于然后跟我来评论推特脸谱网。并注册我的新通讯!

相关:

版权©2016 IDG通信公司。足球竞彩网下载

企业网络2022的10个最强大的公司