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格式的串口协议,需要解决两个问题:

  1. 自动采集:温度传感器采用的Modbus RTU协议需要每隔一段时间去询问设备,并获得当前温度。但是MQTT协议属于有消息就发布的机制MQTT服务器无法担任这个任务,必须让MQTT网关自动查询温度传感器,并将获得数据存储起来,并定时上发服务器。卓岚MQTT网关可以配置Modbus轮训指令或者非标准的串口设备指令。
  2. 格式转化:设备端采用的是十六进制指令,比如01 03 02 12 34 b5 33的数据,这种数据对于云端比较难统一和识别。卓岚MQTT网关支持将Modbus
    RTU数据转化为JSON格式后上发,比如以上十六进制数据变为:{“power”:”1234”}这种格式。

总结一下卓岚MQTT网关主要特点是:

    1. 采用MQTT为基础的协议和服务器建立连接,采用订阅发布的形式进行数据通讯。
    2. 支持Modbus RTU寄存器的自主设计和自动采集。
    3. 支持将特定的Modbus寄存器内容转化为JSON格式定时主动上发。
    4. 支持在JSON格式中加入设备ID,方便云端识别设备。
    5. 支持无符号数据和有符号数据,支持小数点表示,支持4字节长度数据。
    6. 所有配置都可以界面化配置完成,用户自主配置无需定制。

一文教你快速读懂MQTT网关的更多相关文章

  1. 一泡尿的时间,快速读懂QUIC协议

    1.TCP协议到底怎么了? 现时的互联网应用中,Web平台(准确地说是基于HTTP及其延伸协议的客户端/服务器应用)的数据传输都基于 TCP 协议. 但TCP 协议在创建连接之前需要进行三次握手(如下 ...

  2. 网络编程懒人入门(十):一泡尿的时间,快速读懂QUIC协议

    1.TCP协议到底怎么了? 现时的互联网应用中,Web平台(准确地说是基于HTTP及其延伸协议的客户端/服务器应用)的数据传输都基于 TCP 协议. 但TCP 协议在创建连接之前需要进行三次握手(如下 ...

  3. 一文教你快速搞懂速度曲线规划之S形曲线(超详细+图文+推导+附件代码)

    本文介绍了运动控制终的S曲线,通过matlab和C语言实现并进行仿真:本文篇幅较长,请自备茶水: 请帮忙点个赞

  4. 快速读懂 HTTP/3 协议

    在 深入浅出:HTTP/2 一文中详细介绍了 HTTP/2 新的特性,比如头部压缩.二进制分帧.虚拟的"流"与多路复用,性能方面比 HTTP/1 有了很大的提升.与所有性能优化过程 ...

  5. 如何快速读懂大型C++程序代码

    要搞清楚别人的代码,首先,你要了解代码涉及的领域知识,这是最重要的,不懂领域知识,只看代码本身,不可能搞的明白.其次,你得找各种文档:需求文档(要做什么),设计文档(怎么做的),先搞清楚你即将要阅读是 ...

  6. [转载]循规蹈矩:快速读懂SQL执行计划的套路与工具

    作者介绍 梁敬彬,福富研究院副理事长.公司唯一四星级内训师,国内一线知名数据库专家,在数据库优化和培训领域有着丰富的经验.多次应邀担任国内外数据库大会的演讲嘉宾,在业界有着广泛的影响力.著有多本畅销书 ...

  7. 一文教你快速搞懂速度曲线规划之T形曲线(超详细+图文+推导+附件代码)

    运动控制中常用的T速度曲线规划的原理和程序实现,最后给出了测试结果: 如果本文帮到了您,请帮忙点个赞

  8. 一文读懂MQTT协议

    1  概述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级 ...

  9. 一文教你快速搞懂 FOC ramp function 斜坡函数的作用和实现

    文章目录 定义 程序的实现 matlab 程序 C语言程序 定义 x(t)={0,t<0At,t≥0 x(t) = \begin{cases} 0,t<0\\ At,t \ge 0\\ \ ...

随机推荐

  1. ndnsim安装遇到的一些问题

    我是安装的Ubuntu18.04+ndnsim2.7 由于最新版ndnsim的可视化与Python不兼容,出现了一些问题 1. No visualization support (cannot imp ...

  2. iview和element中日期选择器快捷选项的定制控件

      公司的两个vue项目中都用到了iview和element这个框架,最近的两个需求都有关于日期选择的定制控件,就是要求日期选择的快捷选项左边栏有包含今日.昨日.本周.上周.最近一周.本月.上月.上季 ...

  3. qt实现串口通讯

    摘要:上位机软件程序通过QT实现,采集输入信息,根据实际需要做出合适的串口通讯协议,实现效果如下图所示: 主要实现的功能: 1.串口基本参数可选,可调 2.显示区域可选择十六进制/asicii码显示, ...

  4. 常用函数-String

    /************************************************************************ 函数功能:将字符串中str的old_value子字符 ...

  5. static self 区别与总结

    <?php /** * static self 区别与总结 * 总结: * 1.在 PHP 里,在没有继承时候,你用self::class 和 static::class是一样的,都是获取当前类 ...

  6. web常用知识

    Html 1.打电话,发短信和发邮件 <a href="tel:0755-10086">打电话给:0755-10086</a> <a href=&qu ...

  7. 如何在chrome使用vue-devtool?

    1.在应用中安装 2.去查找文件 C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Extensions\nhd ...

  8. 死磕 java线程系列之线程池深入解析——未来任务执行流程

    (手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本. 注:线程池源码部分如无特殊说明均指ThreadPoolExecutor类. 简介 前面我们一起学习了线程池中普 ...

  9. 为什么 Flutter 是跨平台开发的终极之选

    跨平台开发是当下最受欢迎.应用最广泛的框架之一.能实现跨平台开发的框架也五花八门,让人眼花缭乱.最流行的跨平台框架有 Xamarin.PhoneGap.Ionic.Titanium.Monaca.Se ...

  10. 在虚拟机上的关于Apache(阿帕奇)(4)基于域名访问网站

    这篇随笔是基于域名访问网站,和前后两篇文章基于ip和基于端口一起练习效果更好 首先配置网卡Ip地址与hosts文件 输入命令:  vi  /etc/hosts/ (每行只能写一条,格式为IP地址+空格 ...