LoRaWAN介绍19 Server开源

“UNIX很简单,但需要有一定天赋的人才能理解这种简单。”–Dennis Ritchie

 

LoRa Server是一个开源的LoRaWAN Server。它能完成Server最主要的任务:处理来自1个或多个GW的上行RF数据包,调度最优的GW回复下行RF数据包。

1 整体架构

很明显,LoRa Server基本遵循LoRaWAN对Server的4层架构,它们的对应关系如下。

loraserver <=> NS (Network Server)

lora-app-server <=> AS (Application Server)

lora-controller <=> NC (Network Controller)

application <=> CS (Customer Server)

LoRaWAN规定GW和NS的接口协议是JSON,而本项目使用的是MQTT格式,因此它设计了一个 lora-gateway-bridge 层,它负责JSON和MQTT的转换。

2 实现LoRaWAN功能

2.1 支持类别

Class

支持

说明

A

完全支持Class-A,NS采用poll方式从AS获取下行RF数据包,这样可以支持最低速率下最大应用数据的发送。

B

不支持

C

不支持

2.2 确认报文

支持确认报文(ConfirmedFrame)。如果是下行确认报文,LoRaServer将在队列中缓存该数据包,直到End Node回复ACK为止。

2.3 节点入网

支持ABP(Activation By Personalization)和OTAA(Over The Air Activation)。

ABP:application server提供End Node的Addr和Key给LoRa Server;

OTAA:LoRa Server回复join-accept给End Node,并通知application server.

2.4  ADR

支持ADR(Adaptive Data Rate,速率自适应),这需要End Nodes设置ADR interval和margin。

ADR interval:设置End Nodes发送多少个上行RF数据包后,重新计算速率和发射功率。

margin:调整ADR的无线信号强度余地,默认推荐值为5dB。

2.5  NC接口

提供LoRa Server管理无线网络的能力,它通过MAC命令获取或设置End Nodes的网络参数和射频性能。

2.6  RX窗口

支持调整RX1和RX2窗口的空中速率和延时。

2.7 帧计数器

ABP入网模式的End Nodes有一个问题,一旦设备重启后,FCnt的值将归零;NS接收该报文后,会发现FCnt小于或等于上一个报文,将会拒绝接收该报文。LoRa Server解决了这个问题,它放宽了对FCnt的检测。

2.8 支持频段

目前支持的地区和频段包括:

地区

AS

AU

CN

CN

EU

EU

KR

RU

US

923

915

470

779

433

863

920

864

902

928

510

787

780

923

869

928

3 环境与配置

现代服务器的环境依赖较多,特别提出的是,因为免费和UNIX文化,绝大部分服务器都部署在UNIX / Linux机器上,而非我们常见的Window。

LoRa Server的环境如下:

语言=Go

系统=Linux,已经在 Debian / Ubuntu上测试和运行;

中间件=MQTT broker、Redis datastore;

软件=LoRa Server,需要编译和运营。

配置上述环境是一件“繁琐”的工作,为此,该项目强烈推荐使用Docker,打包上述应用和依赖包,生成在不同Linux平台上可移植的容器件。

 

另外,applicationserver需要用户自行实现,它与AS的API接口为“api/as/as.proto”。所有API都由基于Go语言的gRPC框架实现,包括:

api/ns/ns.proto: network-server interface

api/as/as.proto: application-server interface

api/nc/nc.proto: network-controller interface

 

用户可以在启动loraserver时,添加参数来取得不同的配置,这包括:

NetID、Band、Dwell Time、Repeater Compatibility、Redis Connection String。

说明:LPWA物联网应用站(LPWAP.com)通过公开互联网收集、整理并转载有关LPWA物联网应用解决方案,以供广大LPWA应用开发者和爱好者共同学习交流和参考运用到实际生产生活中。本站所有转载的文章、图片、音频、视频等资料的版权归版权所有人所有并衷心感谢您的付出,由于本站采纳的非本站原创文章及图片等内容无法一一联系确认版权者,如果本网所选内容的文章原创作者认为其作品不宜放在本站,请及时通过以下留言功能通知我们采取适当措施,避免给双方造成不必要的经济损失。如果您希望保留文章在本站,但希望文章末尾提供对作者的致谢或者产品、网站交换链接的,也请将需求写入以下留言栏中,谢谢您的支持。让我们共同努力,打造万物互联的未来美好生活!

您的留言或需求: