LoRaWAN 介绍 19 Server 开源

 

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

 

LoRa Server 是 LoRa 物联网的核心!

为帮助行业朋友快速搭建 LoRa Server,锐米提供软件安装包,让您“一键安装”在 Windows / Ubuntu / CentOS

经过严格测试,保证 100% 正确,请链接:锐米云 www.rimecloud.com 

 

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

支持

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,PostgreSQL

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐