MQTT的核心在于提供一种简单的方式来传输消息,即使在带宽有限和设备资源较少的环境下也能保持高效。它的设计允许远程设备通过很少的代码和有限的带宽实现实时可靠的消息通信。这种特性使得MQTT在物联网、小型设备和移动应用等领域得到了广泛应用。
MQTT服务器,又称为消息代理,并非传统意义上的机房设备,而是基于Erlang/OTP平台开发的一种软件。它可以运行在电脑或服务器集群上。该软件的主要功能包括:
1. 接受来自客户端的网络连接。 2. 接受并处理客户端发布的消息。 3. 管理客户端的订阅和退订请求。 4. 将应用程序的消息转发给订阅的客户端。
在MQTT的网络传输中,协议负责建立有序、无损的客户端和服务器之间的双向字节流连接。在数据传输时,MQTT会将消息与相关的服务质量(QoS)和主题名(Topic)关联,确保消息的正确传递。
MQTT协议的通信过程涉及三个主要身份:发布者、代理和订阅者。发布者和订阅者通常是客户端,而消息代理则是MQTT服务器。以下是MQTT实现的关键组成部分:
- Topic:消息的类型,相当于消息的分类标签。 - Payload:消息内容,即实际要传输的数据。
MQTT客户端是使用MQTT协议的应用程序或设备,它通过建立与MQTT服务器的网络连接,可以发布消息、订阅消息、退订或删除消息,并断开与服务器的连接。
MQTT协议的特性包括:
1. 使用发布/订阅模式,实现一对多的消息发布,降低应用程序之间的耦合度。 2. 屏蔽负载内容,提供纯净的消息传输。 3. 基于TCP/IP的网络连接。 4. 提供三种消息发布服务质量级别。 5. 小型传输,流量需求低。
在实际应用中,许多电表通过网关与MQTT服务器进行数据交互。例如,ADW300电表具备上网功能,支持多种无线通讯方式,如4G和Wi-Fi,通过物联网卡或局域网实现设备联网,简化了设备与服务器之间的连接过程,推动了工业物联网的发展。
ADW300无线计量仪表主要用于低压网络三相有功电能的计量,具有体积小、精度高、功能丰富等优点。它支持多种通讯方式,包括有线和无线,方便用户在不同场合安装使用。
MQTT协议中的订阅包含主题筛选器和服务质量。订阅与一个会话关联,每个会话可以包含多个订阅,每个订阅都有唯一的主题筛选器。
会话是客户端和服务器之间的状态交互,它存在于网络连接之间,也可能跨越多个连续的网络连接。
主题名是连接到应用程序消息的标签,与服务器订阅相匹配的主题名会被服务器转发给每个订阅的客户端。
数据上传方面,ADW300电表的数据上传流程简洁,优化了数据上传步骤,实现了定制化数据上传,包括常用的电参量数据、信号强度、有功需量等。
总之,在物联网技术日益发展的今天,MQTT服务器因其智能化管理需求而被广泛采用。企业通过安装ADW300电表,利用传感器采集电流、电压等参数,实时上传到MQTT服务器云端,并通过物联网平台和数据库获取终端监测设备的数据,实现终端和云端的双向通信,构建强大的数据通道。这些数据不仅保证了安全性,还通过云技术、大数据、互联网将数据实时显示在用户端,如手机APP或电脑页面,实现了高效的用电管理和监控。
MQTT协议的概念
MQTT协议(Message Queuing Telemtry Transport),又称消息队列遥测传输协议,是一种基于发布/订阅模式的“轻量级”通讯协议,它是构建与Tcp/IP协议上,1999年发布的通讯协议。MQTT的优点在于,可以以很少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低能耗、低带宽占用的实时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT服务器(消息代理),常见的mqtt服务器并不是宏观的机房里一堆柜子,而是基于Erlang/OTP平台开发的一个软件,然后有电脑等等设备运行这个软件。直观的理解成运行了 MQTT 消息服务器软件的一台服务器或一个服务器集群。
主要的功能是:如下图1-1所示。
(1)接受来自客户端的网络连接
(2)接受客户端发布的信息
(3)处理来自客户端的订阅和退订的请求
(4)向订阅的客户转发应用程序的消息。
MQTT协议网络传输
MQTT会构建底层网络传输,它将建立的客户端和服务器连接,,提供应该有序的,无损的,基于字节流的双向传输发送数据的时候,MQTT会把与之相关的服务质量(Qos)和主题名(Topic)关联。
(1)协议原理
MQTT协议通讯过程,需要客户端和服务器共同完成,一共有三个身份,发布者(Publish),代理(Broker)、订阅者(Subscribe),其中消息发发布者和订阅者都可以是客户端,消息代理是mqtt服务器。
①MQTT的实现方式
Topic:主题,可以理解为消息的类型;
Payload:消息内容,可以理解为具体要使用的数据内容
②MQTT客户端
一个使用mqtt协议的运用程序或设备,它是基于mqtt服务器端的网络连接,常用于发布信息,订阅发布信息,退订或删掉应用程序的消息,断开与服务器连接。
(2) MQTT协议特性
协议是工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具备以下主要的几项特性:
①使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。
②对负载内容屏蔽的消息传输。
③使用Tcp/IP提供网络连接。
④有三种消息发布服务质量,消息发布(Qos:0至多一次,1至少一次,2只有一次)
⑤小型传输、流量需求小。
MQTT服务器与终端监测设备通讯
很多的电表都是通过接网关的方式,是设备与mqtt服务器进行数据交互,而ADW系列中,几款电表中的一款——ADW300电表,本身具备上网的功能有4G和WIFI两种,它们通过物联网卡或局域网的方式,使设备具备了联网的功能,减少设备连接网关再上服务器琐碎的过程,实现工业物联网。
(1)ADW300无线计量仪表
ADW300无线计量仪表主要用于计量低压网络的三相有功电能,具有体积小、精度高、功能丰富等优点,并且可选通讯方式多,可支持RS485通讯和LoRa、NB、4G、wifi等无线通讯方式,增加了外置互感器的电流采样模式,从而方便用户在不同场合进行安装使用。可灵活安装于配电箱内,实现对不同区域和不同负荷的分项电能计量、运维监管或电力监控等需求。
(2)标准化MQTT协议
①订阅(subscription)
订阅包含主题筛选器(Topic Filter)和服务质量(QoS)。订阅会与一个会话(Session)关联。一个会话可以包含多个订阅。每一个会话中的每个订阅都有一个不同的主题筛选器。
②会话(session)
每个客户端与服务器建立连接后就是应该会话客户端和服务器之间有状态交互,会话存在与一个网络之间,也可能在客户端和服务器之间跨越多个连续的网络连接。
③主题名(Topic name)
连接到一个应用程序消息的标签,该标签与服务器的订阅相匹配服务器会将消息发送给订阅所匹配标签的每一个客户端
④数据上传(Data upload)
电表无线传输做到了小型传输、流量需求小,这款电表的数据上传流程简洁,(详细见附录)将多余的数据上传步骤优化,促使定制化数据上传,其中包含了常用的电参量数据、信号强度、有功需量、电压电流变比、温度、DI状态、电压电流谐波畸变率、尖峰平谷电能等等。
总结
综上所述,在现在物联网技术的大环境下,MQTT服务器的已经陆续被各个商家企业采用,因为MQTT服务器与mqtt协议能够满足他们智能化管理需求。很多企业的一些生产车间配电柜都需要使用无线设备监测用电设备的工作状态,而企业的生产车间大多是分散独立的用电设备,若每个设备都安装网关,那改造的成本是很大的资金。所以大部分企业为了节约成本常常会安装一批用于无线监控用电设备的电表——ADW300,通过传感器对电缆以及生产线的各种设备参数进行采集,主要包含电流、电压等电参量数据,并且将获得的数据实时上传到MQTT服务器云端,然后通过物联网平台和数据库订阅mqtt服务器端主题,来获取终端监测设备的数据,实现终端和云端的双向通信,搭建强大的数据通道,获得的数据被存储到MQTT服务器的云数据库中,能够保证数据的安全性,搭建用电管理和显示系统,通过云技术、大数据、互联网将获得的数据显示到前台,用户可以通过登录手机APP、电脑页面等实时监控设备和电缆的电力数据情况。
编辑:黄飞