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

没有互联网,如何本地获取到LoRaWAN的终端数据?目录

前言

一、LoRaWAN典型网络结构

二、MQTT功能简述

三、在LoRaWAN网络中,如何通过MQTT订阅来获取到LoRa节点的数据?

结语


前言

尽管现在云服务器已经比较成熟,比如阿里云或者腾讯云,但是,在物联网领域的一些特定的工业应用场景下,用户可能更希望能够将数据传输到自己的服务器。这时候,MQTT的重要性就体现出来了。

本文介绍在LoRaWAN组网网络中,如何在自己的应用服务器上,通过MQTT订阅来获取到节点上报的数据。

希望了解没有互联网,如何本地获取到LoRaWAN的终端数据的,可以参见文章《没有互联网,如何本地获取到LoRaWAN的终端数据?》。

希望了解树莓派网关如何连接到阿里云的,可以参见文章《两步走,让自己的LoRaWAM网关与阿里云连线》、《电脑如何登录树莓派网关——手把手教你如何将树莓派LoRaWAN网关连接到服务器之第一篇》。

 

一、LoRaWAN典型网络结构

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

 

如何在自己的服务器上通过MQTT订阅到LoRa节点上报的数据?_第1张图片 图 1  LoRaWAN网络结构

 

图1是一个完整的LoRaWAN网络结构。从图1中我们很清楚的可以看到,一个完整的LoRaWAN网络由以下三个角色组成:

  • 终端设备(End Nodes)
  • 网关(Concentrator/Gateway)
  • NS服务器(Network Server)

虽然我们很清楚的知道了LoRaWAN网络中的角色组成,但是各个角色的作用是什么,它们分别完成什么工作呢?

终端设备就是我们常说的节点。终端设备负责数据采集,将采集到的数据以无线信号的形式传递出去,这个数据是经过加密处理的。

网关负责接收终端传递过来无线信号数据。因为终端对数据进行了加密,网关是无法知道接收到的数据内容。网关会将接收到的数据直接转发给NS服务器。

NS服务器接收到网关转发的数据,NS会根据数据中的身份信息使用对应的终端密钥对数据进行解密,解密之后就得到了终端采集的数据信息。

RAK的商业网关内部集成NS服务器,也就是说,RAK的商业网关既承担网关角色又承担的NS服务器角色。

 

二、MQTT功能简述

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

如何在自己的服务器上通过MQTT订阅到LoRa节点上报的数据?_第2张图片 图 2 MQTT的工作原理

 

一个MQTT网络中也分为三个角色:

  • 发布者(Publisher)
  • 订阅者(Subscriber)
  • MQTT Broker

我们从字面意思上可以看出,发布者(Publisher)实际上就是负责发布信息,订阅者(Subscriber)实际上负责收集发布者发布的信息。发布者应该将信息往哪里发布,订阅者又需要到哪里订阅信息呢?这个时候就需要MQTT Broker,它实际上就是一台MQTT服务器。

我们可以将MQTT Broker理解为一个新闻发布的网站,发布者理解为新闻编辑人员或者新闻发布人员,将订阅者理解为浏览、查看新闻的用户。

 

三、在LoRaWAN网络中,如何通过MQTT订阅来获取到LoRa节点的数据?

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

如何在自己的服务器上通过MQTT订阅到LoRa节点上报的数据?_第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节点的数据的应用实例,请期待我们的接下来的系列文章。

你可能感兴趣的:(lora)