一文教你快速读懂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\\ \ ...
随机推荐
- enable_shared_from_this
头文件<memory> enable_shared_from_this是一个模板类. 使用场景:需要把自己类对象作为参数传给其他函数时,就需要传递一个指向自身的share_ptr. str ...
- C++ Web框架::cintara
1.Cinatra是由C++开源社区purecpp发起的一个开源项目,是一个现代C++写的Web框架,旨在给用户提供一个易用.灵活和高性能的Web框架,让用户能完全专注于核心逻辑而无需关注http细节 ...
- php服务器有哪些
服务器按照功能可以分为:文件服务器.数据库服务器.web服务器.邮件服务器.代理服务器..... 而上述所有的服务器,均可以用php做开发,比如说做web服务器,常用的构架是php+Mysql+Apa ...
- 测试中常用sql
1.增删改查 2.同一服务器下,要从一个数据库复制某张表到另一个数据库 create table test.sf_audit_plan as select * from v3_0_sf_full.sf ...
- 利用Arthas定位线上问题实例
前言 Arthas是一个类似于Btrace的JVM在线调试分析工具,具体可参考我之前写的一篇博客:利用JVM在线调试工具排查线上问题.本文分享笔者刚遇到的一个问题,虽然不复杂,但是很典型. 问题与分析 ...
- LeetCode初级算法--设计问题01:Shuffle an Array (打乱数组)
LeetCode初级算法--设计问题01:Shuffle an Array (打乱数组) 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:h ...
- 玩转ArduinoJson库 V6版本
1.前言 前面,博主已经讲解了ArduinoJson库的V5版本.为了节省时间以及不讨论重复内容,博主建议读者先去阅读一下 玩转ArduinoJson库 V5版本 .重点了解几个东西: JSO ...
- Spring Boot2 系列教程(十八)Spring Boot 中自定义 SpringMVC 配置
用过 Spring Boot 的小伙伴都知道,我们只需要在项目中引入 spring-boot-starter-web 依赖,SpringMVC 的一整套东西就会自动给我们配置好,但是,真实的项目环境比 ...
- 字符编码 + python2和python3的编码区别(day08整理)
目录 昨日回顾 二十三.元组内置方法 二十四.散列表 二十五.字典内置方法 二十六.集合内置方法 二十七.深浅拷贝 拷贝 浅拷贝 深拷贝 今日内容 二十八.字符编码 1.文本编辑器存储信息的过程 2. ...
- Java基础(六)判断两个对象相等:equals、hashcode、toString方法
1.equal方法 Object类中的equal方法用于检测一个对象是否等于另外一个对象.在Object类中,这个方法将判断两个对象是否具有相同的引用.如果两个对象具有相同的引用,它们一定是相等的.然 ...