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
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
- Download: http://www.ve2dbe.com/english1.html
- Tutorial: TTN 2019 Workshop PDF
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 }
}