LoRa
Last updated
Last updated
Stands for “Long Range”.
To be used in long-lived battery-powered devices scenarios.
Semi-proprietary.
Parts of the protocol are well documented, others not.
They own the radio part (but sub-licensing is on the way).
You can install your own gateways.
LoRa usually means two different things:
LoRa: a physical layer that uses Chirp Spread Spectrum (CSS) modulation.
LoRaWAN: a MAC layer protocol.
Developed by Semtech.
Low-range, low-power and low-throughput.
Operates on 433-, 868- (EU) or 915 (US) MHz bands.
Payload from 2 to 255 octets (2Kb).
Depends on configuration parameters.
Datarate: up to 50Kbps.
In Europe, 8 channels with a bandwidth of 0.3MHz are used.
MAC mechanism for controlling communications between end devices and LoRaWAN gateways. For all devices, it manages:
Communication frequencies.
Data rate.
Power.
Open Standard developed by the LoRa Alliance.
Star of stars topology.
Devices transmit data asynchronously.
Data is received by multiple gateways.
Each gateway forwards received data to a centralized network server, using a backhaul link (Ethernet or cellular).
The network server:
Filters duplicate packets
Packet with the strongest signal gets decoded
Realizes security checks.
Manages the network
Modulation.
(changing a signal, the carrier, in a way that allows it to contain information to be transmitted).
LoRa uses a proprietary Spread-Spectrum modulation technique: Chirp Spread Spectrum (CSS).
(A chirp is a signal in which frequency raises or lowers with time)
Tries to increase range by:
Sending information with more power (within regulated values - <14dBm or 25mW).
Or by lowering the data rate.
Increases link budget.
Increases immunity to in-band interference.
This, along with Forward Error Correction techniques, contribute to extend the range and robustness of radio communication links.
Compared to FSK.
Has different Spread Factors (SF7 to SF12).
Spread factors can set the modulation rate and tune the distance.
They indicate how fast or slow is the chirp (how many chirps you get per second) → how much data you can encode per second.
The higher the SF, the lower the datarate.
Each SF is 2x slower than the one before.
The slower you send your data, the farther you can send it.
The interface has more time to decode and sensititviy is increased.
This helps on scaling the network.
Closer nodes receive data much faster.
Air is ”cleared” for other nodes to transmit.
By adding more gateways, devices get nearer to them, applying the above.
For a 125kHz bw (configurable by design).
The Bandwidth (kHz), Spreading Factor and Coding Rate are design variables that allow a system to optimize the trade-off between.
Occupied bandwidth.
Data rate.
Link budget.
Interference immunity.
By using software, it is possible to combine these values to define a transmission mode.
Show how wide is going to be the transmission signal.
3 options: 125 kHz, 250 kHz or 500 kHz.
Greater reach: 125 kHz.
Greater transmission speed: 500 kHz.
Less bandwidth = more airtime = more sensitivity = more battery consumed.
4 options: 4/5, 4/6, 4/7 and 4/8.
Meaning:
Every 4 useful bytes are going to be encoded by 5, 6, 7 or 8 transmission bits.
Smaller coding rate: 4/8.
Lower coding rate = more airtime.
Number of chips per symbol used in data treatment before the transmission signal.
7 options: 6, 7, 8, 9, 10, 11 and 12.
Greater Spreading Factor = Greater Range = more air time.
End-Device.
Devices (low-power) that communicate with the LoRa Gateway.
They are not associated to a particular gateway.
They are, however, associated to a Network Server.
Gateway.
Intermediate devices that relay packets between end-devices and a network server.
Linked to the Network server via a higher bandwidth backhaul network.
They add information about the quality of reception, when forwarding a packet from an end-device to a network server.
They are transparent to the end-devices.
There are multiple gateways in a network.
Multiple gateways can receive the same packet transmitted from the same end-device.
Network Server.
Decodes and de-duplicates packets sent from devices.
Generates packets to be sent towards devices.
Choses the appropriate gateway to send packets to a specific end-device.
Lowest power consumption.
Devices schedule uplink transmissions according to their requirements, with a small variation before transmission.
Each uplink transmission is followed by two short downlink receive windows.
Downlink transmissions at any other time have to wait until the next uplink transmission.
Less flexibility for downlink.
Devices open more receive windows at scheduled times.
There is a synchronized beacon from the gateway to the network server, indicating when the device is listening.
Greatest power consumption.
Almost continuous receiving windows.
Server can initiate transmission almost anytime.
Besides transmission frequency, duty cycle regulations apply.
Delay between successive frames sent by a device.
1% limitation for end-devices.
Device has to wait 100x the time it took for it to send the message, in order to be able to send again in the same channel.
Gateways: 10%.
MAC Commands.
Allows the network to customize end-device parameters.
Checks.
Link status (this can be send by the end-device itself).
Device battery.
Device margin (SNR).
Settings.
Datarate.
TX power.
TX and RX channels.
RX timing.
Repetition.
Duty cycle.
Dwell time.
End-Device Connection to a network.
Also known as Activation.
This process provides the end-device with:
End-device address (DevAddr): An identifier composed by the network identifier (7bit) and by the end-device’s network address (25bit).
App identifier (AppEUI): Unique identification of the end-device owner.
Network Session Key (NwkSKey): A key used by both the network server and end-device to verify and ensure message integrity.
App Session Key (AppSKey): A key used by both the network server and end-device to encrypt the payload of received messages.
Note on security:
LoRaWAN protocol security is based on 802.15.4.
AES-128.
To activate the device, there are two procedures:
Over-the-Air Activation (OTAA).
Join-Request and Join-Response messages are exchanged in each new session, allowing the end-devices to obtain the network and application session keys.
Activation By Personalization (ABP).
The devices have both keys already stored internally.
Adaptive Data Rate.
The network tells the node at which data rate it can send data.
Manages the SF for each end-device.
The aim is to:
Optimize for fastest data rate versus range.
Maximize battery life.
Maximize network capacity.
Typically, there is no node-to-node direct communication.
LoRaWAN allows this by having 2 gateways and a network server in between the nodes.
However, most end-device vendors also include (for testing, mostly) a raw form of LoRa.
Allows peer-to-peer communication between nodes.
Contains only the link layer protocol.
Only allows a very small number of nodes in a topology.
There is no packet management.