一文教你快速读懂MQTT网关
MQTT是一种发布(publish)/订阅(subscribe)协议,MQTT协议采用发布/订阅模式,所有的物联网终端都通过TCP连接到云端,云端通过主题的方式管理各个设备关注的通讯内容,负责将设备与设备之间消息的转发。MQTT 协议解决了物联网中一个最基础的问题:设备和设备之间、设备和云端服务之间是如何进行数据通讯的。

图
1 MQTT网关发布信息
上海卓岚的MQTT网关ZLAN5143D起到将普通的串口数据、Modbus RTU数据等转化为MQTT协议的作用,通过连接服务器、订阅和发布主题来实现传统设备和MQTT云端的联系。例如,笔记本和手机都向MQTT服务器订阅了消息主题为温度的消息,当MQTT网关向这个服务器发布温度传感器的消息(当前温度为21℃),笔记本和手机都会收到发布的温度。卓岚的MQTT产品可以充当本地设备和MQTT云服务器之间的桥梁。
除了数据采集网关通过模拟量和数字量对外接口外,其它MQTT网关都采用串口(RS485、RS232、RS422、TTL)来和设备对接。支持MQTT云平台有百度云、阿里云等。
卓岚MQTT网关的特色在于,不仅支持透传,而且支持将各类串口协议转化为JSON格式。且支持设备的自动采集。举个例子来说,如果温度传感器采用的是Modbus RTU格式的串口协议,需要解决两个问题:
- 自动采集:温度传感器采用的Modbus RTU协议需要每隔一段时间去询问设备,并获得当前温度。但是MQTT协议属于有消息就发布的机制MQTT服务器无法担任这个任务,必须让MQTT网关自动查询温度传感器,并将获得数据存储起来,并定时上发服务器。卓岚MQTT网关可以配置Modbus轮训指令或者非标准的串口设备指令。
- 格式转化:设备端采用的是十六进制指令,比如01 03 02 12 34 b5 33的数据,这种数据对于云端比较难统一和识别。卓岚MQTT网关支持将Modbus
RTU数据转化为JSON格式后上发,比如以上十六进制数据变为:{“power”:”1234”}这种格式。
总结一下卓岚MQTT网关主要特点是:
- 采用MQTT为基础的协议和服务器建立连接,采用订阅发布的形式进行数据通讯。
- 支持Modbus RTU寄存器的自主设计和自动采集。
- 支持将特定的Modbus寄存器内容转化为JSON格式定时主动上发。
- 支持在JSON格式中加入设备ID,方便云端识别设备。
- 支持无符号数据和有符号数据,支持小数点表示,支持4字节长度数据。
- 所有配置都可以界面化配置完成,用户自主配置无需定制。
一文教你快速读懂MQTT网关的更多相关文章
- 一泡尿的时间,快速读懂QUIC协议
1.TCP协议到底怎么了? 现时的互联网应用中,Web平台(准确地说是基于HTTP及其延伸协议的客户端/服务器应用)的数据传输都基于 TCP 协议. 但TCP 协议在创建连接之前需要进行三次握手(如下 ...
- 网络编程懒人入门(十):一泡尿的时间,快速读懂QUIC协议
1.TCP协议到底怎么了? 现时的互联网应用中,Web平台(准确地说是基于HTTP及其延伸协议的客户端/服务器应用)的数据传输都基于 TCP 协议. 但TCP 协议在创建连接之前需要进行三次握手(如下 ...
- 一文教你快速搞懂速度曲线规划之S形曲线(超详细+图文+推导+附件代码)
本文介绍了运动控制终的S曲线,通过matlab和C语言实现并进行仿真:本文篇幅较长,请自备茶水: 请帮忙点个赞
- 快速读懂 HTTP/3 协议
在 深入浅出:HTTP/2 一文中详细介绍了 HTTP/2 新的特性,比如头部压缩.二进制分帧.虚拟的"流"与多路复用,性能方面比 HTTP/1 有了很大的提升.与所有性能优化过程 ...
- 如何快速读懂大型C++程序代码
要搞清楚别人的代码,首先,你要了解代码涉及的领域知识,这是最重要的,不懂领域知识,只看代码本身,不可能搞的明白.其次,你得找各种文档:需求文档(要做什么),设计文档(怎么做的),先搞清楚你即将要阅读是 ...
- [转载]循规蹈矩:快速读懂SQL执行计划的套路与工具
作者介绍 梁敬彬,福富研究院副理事长.公司唯一四星级内训师,国内一线知名数据库专家,在数据库优化和培训领域有着丰富的经验.多次应邀担任国内外数据库大会的演讲嘉宾,在业界有着广泛的影响力.著有多本畅销书 ...
- 一文教你快速搞懂速度曲线规划之T形曲线(超详细+图文+推导+附件代码)
运动控制中常用的T速度曲线规划的原理和程序实现,最后给出了测试结果: 如果本文帮到了您,请帮忙点个赞
- 一文读懂MQTT协议
1 概述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级 ...
- 一文教你快速搞懂 FOC ramp function 斜坡函数的作用和实现
文章目录 定义 程序的实现 matlab 程序 C语言程序 定义 x(t)={0,t<0At,t≥0 x(t) = \begin{cases} 0,t<0\\ At,t \ge 0\\ \ ...
随机推荐
- vue实现跑马灯效果
vue实现跑马灯效果为阿中哥哥应援 1.效果图 2.实现代码 <!DOCTYPE html> <html lang="en"> <head> & ...
- Vue中axios的封装和api接口的统一管理
更新的是我csdn上的文章,需要的话可以看下,互相学习点击去我的csdn vue中axios的封装 在vue项目和后端交互获取数据时,通常使用axios库,官方文档:https://www.npmjs ...
- task一个任务结束后执行另一个操作
//创建一个任务 Task<int> task = new Task<int>(() => { ; //显示进度条遮照层, this.ShowPrograssBar(); ...
- 在.net core3.0中使用SignalR实现实时通信
最近用.net core3.0重构网站,老大想做个站内信功能,就是有些耗时的后台任务的结果需要推送给用户.一开始我想简单点,客户端每隔1分钟调用一下我的接口,看看是不是有新消息,有的话就告诉用户有新推 ...
- Java基础(三十四)String、StringBuffer类和数据缓冲区Buffer类
一.String类 1.创建字符串对象 创建字符串对象有两种方法:直接用“=”或者使用“new String(...)” String aStr = "TMZ"; String b ...
- TCP Socket服务端客户端(二)
本文服务端客户端封装代码转自https://blog.csdn.net/zhujunxxxxx/article/details/44258719,并作了简单的修改. 1)服务端 此类主要处理服务端相关 ...
- django-表单之获取表单信息(二)
urls.py from django.urls import path from . import views urlpatterns = [ path('',views.index,name=&q ...
- fenby C语言 P9
逻辑运算 真1 假0 &&与 真&&真为真 真&&假为假 假&&真为假 假&&假为假 ||或 真||真为真 真||假为真 ...
- Solr入门(一)
一丶Solr入门1.Solr的启动Solr各版本下载老版本的时候,需要将war包放到tomcat中,现在只需解压,由于自带jetty容器,可以直接启动 [root@aaa bin]# ./solr s ...
- ios发送短信验证码计时器的swift实现
转载自:http://www.jianshu.com/p/024dd2d6e6e6# Update: Xcode 8.2.1 Swift 3 先介绍一下 属性观测器(Property Observer ...