IIoT工业4.0

MQTT作为IoT消息传输的角色

消息队列遥测传输(MQTT)作为物联网(IoT)消息传输的角色源于其简单的设计,最初它是管道监控和数据采集(SCADA)系统的工业通信器。

由阿伦尼珀 2019年1月7日

消息排队遥测运输(MQTT)已成为过去五年中多个行业的主导物联网信息之一。考虑到大多数云服务提供本机MQTT功能,更多设备制造商,软件和服务正在实现基于MQTT的产品。

MQTT的起源

通过Facebook,云服务提供商和信息技术(IT)空间中的许多其他人采用MQTT可能会导致一个人认为MQTT是针对IT解决方案发明的,但MQTT的成因是由工业沟通问题驱动的。

1997年,Phillips 66安装了市场上第一个基于传输控制协议/互联网协议(TCP/IP)的非常小孔径终端(VSAT)系统,用于其管道监控和数据采集(SCADA)系统。为了有效地使用这个网络基础设施,需要解决许多挑战。在此系统实现之前,轮询/响应协议是任何SCADA系统实现的标准。

图2:根据Eclipse Foundation的一项调查,MQTT自2016年以来呈上升趋势,超过62%的人将其用作消息传递标准。提供:Eclipse Foundation Inc[/字幕]

MQTT的原始设计目标是它将简单,高效,有状态和开放。

简单。当正在开发MQTT时,用于远程偏远计算市场上的硬件平台最小;具有64 kB记忆的8位微处理器是标准。MQTT必须简单地实现,计算资源最小。即使在2018年,Arduino微控制器也可以提供完整的MQTT通信堆栈。

高效的。早期的甚小孔径终端系统供应商对发送和接收的信息的每个字节收费。MQTT传输必须在网络上提供最小的开销。一旦建立了MQTT会话,发布的消息中只有2字节的开销。

有状态。如果用户提供关键任务的基础架构,则实时基础架构,则MQTT TCP / IP连接的“状态”至关重要。MQTT提供了一种称为“连续会话意识”的机制,通知所有客户都关心MQTT连接的实时状态信息。

开放。在20世纪90年代末,SCADA/DCS/遥测产品主要基于专有的遗留Poll/Response协议。要使MQTT对整个行业有用,大家都知道,当它发布时,它需要是一个开放规范,任何人都可以免费实现它。

即使有了这些标准,我们也很容易认为一些重要的方面被忽略了,包括:

安全。许多人注意到MQTT规范没有定义任何安全性。这是因为MQTT规范是基于TCP/IP之上的。人们总是设想,最新的TCP/IP安全实践将适用于MQTT基础设施。这包括从甚至不需要安全性的私有网络到用于连接的完整传输层安全(TLS)证书。由于MQTT是一个起源于远程的连接,边缘设备和客户端甚至不需要打开任何TCP/IP端口,这大大减少了整体的网络安全足迹。

有效载荷数据格式。MQTT是在MQTT有效载荷中包含的信息中无关的数据不可知论。它可以是来自可编程逻辑控制器(PLC),JPEG图像,可扩展标记语言(XML)文档或JavaScript对象表示法(JSON)字符串的二进制消息。MQTT将有效载荷的编码和解释留给软件提供商。

工业强度MQTT

随着使用MQTT的物联网(IoT)解决方案开始向更关键任务的工业物联网(IIoT)解决方案迁移,市场需要一个规范,允许基于MQTT的硬件和软件的多个供应商轻松互操作性。尽管MQTT规范没有规定任何消息主题名称空间或数据表示,但IIoT空间需要一个。Sparkplug规范为工业物联网市场做到了这一点。

SparkPlug规范开发为帮助定义在关键任务实时应用程序中使用MQTT的最佳方式。SparkPlug规范定义:

  1. 众所周知的MQTT主题命名空间,因此发布者和信息订阅者可以提前了解互操作性的主题命名空间。
  2. 用于工业过程变量的二进制有效载荷。Sparkplug规范确认,工业基础设施没有无限的带宽,并且必须符合VSAT,无线电和蜂窝基础架构。
  3. MQTT中的“状态”管理是如何工作的,如何在SCADA、分布式控制系统(DCS)和工业控制系统(ICS)解决方案中有效地使用它,实时了解所有MQTT客户端的状态。

Sparkplug规范和所有用C、Java、JavaScript、Python和Node Red编写的参考实现代码已经贡献给了Eclipse Foundation和一个完整的开源项目。

阿伦尼普斯总裁/首席技术官,Cirrus链接解决方案。由Chris Vavra编辑,生产编辑,控制工程,CFE媒体,cvavra@cfemedia.com.

更多的答案

关键词:MQTT,物联网,消息队列遥测传输

消息传递队列遥测传输(MQTT)最初是Phillips 66在恶劣的工业条件下使用的一种通信协议。

MQTT的有用性对工程师和制造商来说,最重要的是易于使用和操作。

MQTT已经增强了在工业物联网(IIoT)时代的工作能力,这在体积上占用了大量的数据。

考虑一下这个

什么应用程序您是否使用MQTT,它是否成功和/或有用?

在线额外

关于作者

阿伦·尼珀(Arlen Nipper)是Cirrus Link Solutions的联合创始人兼总裁/CTO。在他的整个职业生涯中,他将嵌入式计算机技术应用于工业控制和自动化市场领域的现有范式问题。近年来,他已经从嵌入式系统的硬件/软件方面退一步,开始关注硬件、软件、安全、基础设施、IT的整个生态系统,并最终关注这个非常有趣、正在兴起的物联网(IoT)所服务的人。

尼普斯在石油和天然气行业拥有40多年的SCADA经验,于1978年与koch油开始的职业生涯,并是其第一次管道SCADA系统安装实施的关键。在他的职业生涯中,他拥有先进的SCADA技术,包括硬件设计,软件设计和整体SCADA基础设施实现。他是MQTT的共同创意,广泛采用IDIOT跨行业,旨在优化和利用1998年为Phillips 66基于VSAT的SCADA系统进行OT和IT的数据。

学习更多关于MQTT与Facebook Messenger的角色

了解更多有关Eclipse项目叫做Tahu。

MQTT规范

有关MQTT的更多信息


阿伦尼普斯
作者简介:阿伦·尼珀是Cirrus Link的总裁兼首席技术官。他为Cirrus Link带来了超过40年的SCADA行业经验,担任总裁和CTO。他是普适计算和物联网的早期架构师之一,并共同发明了MQTT,这是一种发布-订阅的网络协议,已成为物联网的主要消息传递标准。阿伦拥有俄克拉何马州立大学电气与电子工程(BSEE)学士学位。