LoRaWAN – RF Gateways

LoRaWAN Gateways

LoRaWAN Gateways provide connectivity to LoRaWAN End-nodes over radio frequency (RF) using LoRa encoding.

LoRaWAN System Components
Source: Semtech

LoRaWAN US Sub-bands and Radio Frequency (RF) Channel Plan

This diagrams shows the layout of the first 2 (of 8) LoRaWAN Sub-Bands. The US regional plan allows for sixty-four (64) 125-KHz uplink channels and eight (8) 500-KHz uplink channels using the RF spectrum 902.3 – 914.9 MHz. Note the 125KHz and 500KHz uplink channelsl share the same RF frequency spectrum.

Source: Austin Voice Data

 

 Most deployed gateways will be set to use only 8+1 LoRa uplink channels.

If configured for ADR (Adaptive Data Rate), the Network Server will send LoRaWAN MAC downlink commands to the end-nodes, disabling channels that are not supported by the LoRaWAN gateways.

Everynet Gateways use US902-928AB

The Everynet LoRaWAN gateways in the US are set for 902-928AB. This RF Channel Plan uses 4-channels from each of sub-band 1 and 2, plus channel 64 for 500KHz uplink.

For use with EveryNet-managed LoRaWAN Gateways, this diagram shows the active channels in US deployments.

LoRa Sub-bands and Channels with Everynet
Source: Austin Voice Data

RF Coverage Planning

  • devices have lower Transmit Power (e.g. +14) than gateways (e.g. +27)
  • build in margins for RF link budget
  • free-space path loss is VERY high, but buildings and moutains can also create havoc with RF link power budgets
  • coverage in buildings to tiny disoriented antennae is not a long distance operation

RF Mapping Tools

Radio Mobile 

Building radio coverage maps takes an time and art, here is a map being prepared using Radio Mobile (desktop) for the coverage analysis.

Building RF Maps overtop of the Topology and Street map can get busy quick. Extensive trial-and-error is required.

Cloud-RF

This tool, Cloud-RF, offers free and inexpensive ($16 EUR per month) options for building coverage maps.

Sample: 

Packet Forwarder

LoRaWAN Gateways are setup with a Packet Forwarder to forward received LoRa frames to the Network Server, typically over a public IP network using ethernet, cellular, or Wi-Fi for backhaul.

The Packet Forwarder is configured to allow deployment inside NAT on a Private IP address.

The Packet Forwarder Protocol is documented here:

Gateway Metadata

The Packet_Forwarder protocol adds “metadata” to the Application Payload. This includes receive time, frequency, RSSI, SNR. This data can be published with application payloads and used to help assure network quality.

4. Upstream JSON data structure
--------------------------------

The root object can contain an array named "rxpk":

``` json
{
	"rxpk":[ {...}, ...]
}
```

That array contains at least one JSON object, each object contain a RF packet 
and associated metadata with the following fields:

 Name |  Type  | Function
:----:|:------:|--------------------------------------------------------------
 time | string | UTC time of pkt RX, us precision, ISO 8601 'compact' format
 tmms | number | GPS time of pkt RX, number of milliseconds since 06.Jan.1980
 tmst | number | Internal timestamp of "RX finished" event (32b unsigned)
 freq | number | RX central frequency in MHz (unsigned float, Hz precision)
 chan | number | Concentrator "IF" channel used for RX (unsigned integer)
 rfch | number | Concentrator "RF chain" used for RX (unsigned integer)
 stat | number | CRC status: 1 = OK, -1 = fail, 0 = no CRC
 modu | string | Modulation identifier "LORA" or "FSK"
 datr | string | LoRa datarate identifier (eg. SF12BW500)
 datr | number | FSK datarate (unsigned, in bits per second)
 codr | string | LoRa ECC coding rate identifier
 rssi | number | RSSI in dBm (signed integer, 1 dB precision)
 lsnr | number | Lora SNR ratio in dB (signed float, 0.1 dB precision)
 size | number | RF packet payload size in bytes (unsigned integer)
 data | string | Base64 encoded RF packet payload, padded

Example metadata, as seen in MQTT subscriber of AeXonis CemTore.

{ 
"rcv_time": 1608746728,
"rcv_time_ISO8601": "2020-12-23T18:05:28Z",
"appeui": "0000111122229999", "deveui": "9876b60000116c0e",
"fcnt": 1881,
"fport": 1,
"tx_info": {
"frequency": 904.7,
"adr": false,
"coderate": "4/5",
"spreading": 7,
"bandwidth": 125000 },
"rx_info": {
"mac": "00001c497bfa3148",
"rssi": -77,
"snr": 10 },
"position": {
"latitude": 30.42353057861328,
"longitude": -97.93250274658203 }
} 
LoRaWAN Data Journey - A Trip Report