Digita operates nationwide LoRa IoT network in Finland. LoRa is intended for data communication of inexpensive low-power IoT devices.
Estimated network coverage by the end of 2017.
Performance of LoRaWAN data communication is ruled by two parameters: Transmit power and Spreading factor.
Transmit power is easy: The higher the TX power, the longer is maximum link length, and also higher system power consumption. Maximum TX power allowed for LoRa radio in EU is +14dBmW, which equals to 25mW of transmitted energy.
Spreading Factor (SF) is related to the Chirp Spread Spectrum (CSS) modulation used by LoRa physical radio. Increasing spreading factor increases time spent in transmitting individual bits. Spreading factor has complex correlation in overall performance, illustrated by diagram below. Minimum SF is 7 and maximum 12.
Mental model: Move SF slider up-down, and all other parameters are affected accordingly.
By default, Sodaq LoRaWAN protocol stack uses maximum transmit power and minimum spreading factor, which means maximum data rate in transmit. If you experience challenges in getting your signal through to gateway, try increasing spreading factor. This decreases TX data rate and simultaneously increases the maximum achievable link length, which means distance in between end-device and gateway.
Increasing SF causes longer time spent in transmitting single packet. This increases total energy consumption (Energy = Power * Time). Due to the European regulations, maximum allowed duty-cycle in transmission at the licence-free 868MHz ISM frequency band is 1%. Thus the longer the TX time, the longer the device must be silent in between TX packets. LoRaWAN stack takes care of the duty-cycle limitation and gives error if you try to transmit too frequently.
If you fail to transmit as often as necessary, either re-think your application logic (recommend), and/or reduce spreading factor. The smaller the SF, the more often you're allowed to transmit.
Rule of thumb: SF=9 is good compromise in between TX speed, time and power consumption.
Setting stack parameters in Sodaq firmware are explained at firmware page: http://www.etteplan.com/futurecitychallenge2018/firmware
LoRaWAN devices have two different network joining modes: OTA and ABP. In FCC, all devices are configured to Network Server as ABP devices.
Over-The-Air activation (OTA/OTAA) uses bi-directional communication to exchange unique private session keys during network join operation. In general, OTA is considered as preferred mean over ABP. However, link performance tends to be non-symmetric and uplink (device-to-gateway) is always doing better than downlink (gateway-to-device). This is the reason why network join may fail, even if device would otherwise be capable of transmitting uplink data.
Activation-By-Personalisation (ABP) uses fixed unique credentials. The device does not need to perform separate join procedure. It is enough to transmit data and if any gateway manages to catch the signal, message is delivered to server. As devices in ABP mode can operate in fully on-directional uplink mode (device-to-gateway only), this enables superior link performance in weak signal conditions, i.e. uplink data gets through even if downlink communication is not possible.
In both modes datagrams can be send in acknowledged or not-acknowledged mode. All given code examples use not-acknowled communication, in order to limit network load. Regulatory limitations are applied to gateway the same way as to end-devices. This causes downlink traffic to congest the network rapidly. FCC participants should avoid using acknowledgement request.