打印

如何在自己的服务器上通过MQTT订阅到LoRa节点上报的数据

[复制链接]
469|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
前言
尽管现在云服务器已经比较成熟,比如阿里云或者腾讯云,但是,在物联网领域的一些特定的工业应用场景下,用户可能更希望能够将数据传输到自己的服务器。这时候,MQTT的重要性就体现出来了。
本文介绍在LoRaWAN组网网络中,如何在自己的应用服务器上,通过MQTT订阅来获取到节点上报的数据。

一、LoRaWAN典型网络结构
为了让大家更清楚MQTT的具体位置,我们需要先对LoRaWAN组网的典型网络结构进行介绍。
1 LoRaWAN网络结构

1是一个完整的LoRaWAN网络结构。从图1中我们很清楚的可以看到,一个完整的LoRaWAN网络由以下三个角色组成:
l 终端设备(End Nodes)
l 网关(Concentrator/Gateway)
l NS服务器(Network Server)
虽然我们很清楚的知道了LoRaWAN网络中的角色组成,但是各个角色的作用是什么,它们分别完成什么工作呢?
终端设备就是我们常说的节点。终端设备负责数据采集,将采集到的数据以无线信号的形式传递出去,这个数据是经过加密处理的。
网关负责接收终端传递过来无线信号数据。因为终端对数据进行了加密,网关是无法知道接收到的数据内容。网关会将接收到的数据直接转发给NS服务器。
NS服务器接收到网关转发的数据,NS会根据数据中的身份信息使用对应的终端密钥对数据进行解密,解密之后就得到了终端采集的数据信息。
RAK的商业网关内部集成NS服务器,也就是说,RAK的商业网关既承担网关角色又承担的NS服务器角色。

二、MQTT功能简述
那么,MQTT又是如何工作的呢?我们通过图2来理解MQTT的工作原理。
2 MQTT的工作原理

一个MQTT网络中也分为三个角色:
发布者(Publisher)
订阅者(Subscriber)
MQTT Broker
我们从字面意思上可以看出,发布者(Publisher)实际上就是负责发布信息,订阅者(Subscriber)实际上负责收集发布者发布的信息。发布者应该将信息往哪里发布,订阅者又需要到哪里订阅信息呢?这个时候就需要MQTT Broker,它实际上就是一台MQTT服务器。
我们可以将MQTT Broker理解为一个新闻发布的网站,发布者理解为新闻编辑人员或者新闻发布人员,将订阅者理解为浏览、查看新闻的用户。

三、在LoRaWAN网络中,如何通过MQTT订阅来获取到LoRa节点的数据?
我们已经清楚了LoRaWAN网络的工作原理,我们也清楚了MQTT的工作原理,那么我们如何通过MQTT来获取节点的数据呢?可以参见图3。
3 MQTT订阅获取LoRa节点的数据的原理图

有些LoRaWAN网关仅仅是网关,但有些LoRaWAN网关内置服务器(NS)。比如,RAK瑞科慧联的商业网关既是LoRaWAN网关的角色,又是NS的角色。对于这种类型的LoRaWAN网关而言,我们就可以按照图3的方式来进行组网,构成LoRaWAN+MQTT的网络组合。
在我们的LoRaWAN+MQTT的网络组合中,NS是做为一个发布者,将接收到的LoRa节点数据发布到MQTT Broker上,用户自己的应用程序只要做为订阅者,就可以非常便捷的获取到LoRa节点的数据信息了。
进一步的,我们还可以思考这个问题:在LoRaWAN网络中,RAK瑞科慧联的商业网关既是LoRaWAN网关的角色,又是NS的角色。那么在MQTT的网络中,RAK瑞科慧联的商业网关就只能是发布者的角色吗?它能不能扮演MQTT Broker的角色呢?
RAK瑞科慧联的商业网关内部集成一个MQTT Broker,也就是说,RAK瑞科慧联的商业网关也能兼职MQTT Broker的角色。使用内部集成有MQTT Broker的LoRaWAN网关,比如RAK瑞科慧联的商业网关,用户无需其他部署,就能在用户自己的应用服务器上通过MQTT订阅到LoRa节点上报的数据信息了。

结语
本文介绍了LoRaWAN网络结构的基本概念,MQTT功能的基本工作原理,以及MQTT如何在LoRaWAN网络的基础上进行组网,从而在用户自己的应用服务器上通过MQTT订阅获取到LoRa节点上报的数据信息。
本文仅仅是介绍工作原理,具体如何通过MQTT获取到LoRa节点的数据的应用实例,请期待我们的接下来的系列**。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

66

主题

68

帖子

0

粉丝