Lora Fabian
Lora Fabian
Lora Fabian
{name.surname}@telecom-bretagne.eu
AbstractUp to recently, two main approaches were [1] is one prominent technology of this type. LoRa is a
used for connecting the "things" in the growing Internet Layer 1 Network Protocol designed to work on sub-1GHz
of Things (IoT) - one based on multi-hop mesh net- spectrum (109MHz, 433MHz, 866MHz, 915MHz). As those
works, using short-range technologies and unlicensed frequencies are globally available, without any licences,
spectrum, and the other based on long-range cellular they are good candidates for the Internet of Things (IoT)
network technologies using corresponding licensed fre-
quency bands. New type of connectivity used in Low-
communication needs.
Power Wide Area networks (LPWAN), challenges these LPWANs based on LoRa technology, are still insuffi-
approaches by using low-rate long-range transmission ciently researched and tested. As far as we are aware, only
technologies in unlicensed sub-GHz frequency bands. a few publications are available on this topic.
In this paper, we do performance testing on one such Introduction and discussion of LoRa LPWAN technol-
star-topology network, based on Semtechs LoRaTM ogy is given by [2]. This work is followed by [3] where
technology, and deployed in the city of Rennes - LoRa a description of an experimental deployment of a LoRa
FABIAN. In order to check the quality of service network is provided and a rough estimation of the number
(QoS) that this network can provide, generally and in of gateways needed to cover a city is done. The perfor-
given conditions, we conducted a set of performance mance of LoRa when transmitting through materials such
measurements. We performed our tests by generating
and then observing the traffic between IoT nodes and
as water and concrete is done in [4]. First short and long-
LoRa IoT stations using our LoRa FABIAN protocol range measurements was conducted by [5], however in a
stack. With our experimental setup, we were able to notably open/semi-rural environment. The measurement
generate traffic very similar to the one that can be was done with few or no obstacles concealing the line of
used by real application such as sensor monitoring. sight (LoS).
This let us extract basic performance metrics, such In this paper we build upon this work, extending it
as packet error rate (PER), but also metrics related to different areas, conditions, radio parameters and LoRa
specifically to the LoRa physical layer, such as the devices.
Received Signal Strength Indicator (RSSI) and Signal We first describe the LoRa FABIAN network setup that
to Noise ratio (SNR), within various conditions. Our was developed and installed by the authors, in coopera-
findings provide insight about the performance of LoRa
networks, but also about evaluation methods for these
tion with other colleagues, students and two companies
type of networks. We gathered measurement data that - Kerlink [6] and TDF [7]. We give details about the
we make freely available together with the tools we overall architecture, equipment and protocols used. Then,
used. after providing the current radio parameters used in our
network, we detailed the measurements done and analyzed
KeywordsIoT communication needs, LPWAN, LoRa the performance observed.
performance, long-range radio, access networks.
from the Internet, using an HTTP translator. That way, to the right Gateway that the object is associated to, and
it can leverage all web technologies. vice versa.
Currently, the LoRa FABIAN network (as shown in
Fig. 1) consists of three LoRa IoT stations (in different
A. LoRa FABIAN Architecture
locations), one Gateway, one Service node and number of
LoRa FABIAN uses different components that are nec- IoT objects (used mostly for testing purposes).
essary to test and provide coverage for IoT applications.
This include both communicating and gathering data from
IoT objects, and connecting them to the Internet (both B. Specification and radio parameters of LoRa IoT stations
to send data, and receive remote commands). Therefore, and experimental IoT objects
the setup (as shown on Fig. 1) includes: IoT objects, LoRa LoRa IoT stations are running a customized Linux
IoT stations (that can communicate with the objects), and System on top of an ARM platform that uses a Semtech
components that enable two-way communication with the SX1276 chip for providing the LoRa connectivity with a
Internet and its services (the Gateway and the Service 5dBm antenna.
node). Out of the three LoRa stations hosted by LoRa
The experimental IoT objects are composed of an Ar- FABIAN, two are used for the production network. They
duino [9] and a FroggyFactory [10] LoRa Shield running are hosted by Tl Diffusion de France (TDF) [7] on two
a modified version of contiki OS [11], [12]. The LoRa high points (one in 9 avenue Jean Janvier, 35000 Rennes,
Shield handles the low level communication and low level France, elevation: 85m, and the other in 2 Rue du Clos
network access (registration, authorization, etc.), following Courtel, 35510 Cesson-Svign, Rennes, France, elevation:
a mechanism, that was designed by the authors and pro- 160m). The last LoRa station is situated on the roof
posed in [13]. It forwards the data traffic to the Arduino, of Tlcom Bretagne (2 Rue de la Chtaigneraie, 35510
which allows the user to prototype application in a simple Cesson-Svign. Rennes. France., elevation: 55m) used as
environment, by defining CoAP [14], [15] based REST [16] an experimental platform.
resources, that can then be accessed from the Internet. In All those antennas are configured to use the following
the same way, the user can use the Arduino interface to parameters:
send data traffic to the network. The LoRa shield can have Bandwidth: 868.1 to 868.225Mhz
an embedded antenna or an external, soldered-on, antenna Channel size: 125kHz
that provides additional gain. Spreading Factor (SF):
The LoRa IoT station, built by Kerlink [6] is a LoRa
antenna, that has the ability to connect with the outside Sending (downlink), fixed = 7
via Ethernet or 3G. It can listen and send traffic (to/from Receiving, variable, from 7 to 12
IoT objects) using LoRa technology through multiple fre- Coding Rate: 4/7 (for sending, but can receive 4/5
quencies and code-rate at the same time. It redirects this to 4/8)
traffic through a simple UDP tunnel to/from the LoRa Transmitting Power: 14dBm
FABIAN Gateway exporting data and meta-data in a The IoT object, for now, in order to receive traffic
simple JSON [17] text format. from LoRa stations, needs to use the same parameters, in
The Gateway can communicate with many LoRa IoT terms of frequency, coding rate, channel size and SF. For
stations in order to concentrate traffic for a global area transmitting they use a fixed power of 14dBm. The Frog-
like a city or a country. It is in charge of sending bea- gyFactory LoRa shield comes with an embedded antenna,
cons to inform IoT objects about the network availability however, in our setup, some shields were modified to have
and to receive their registration messages, informing IoT an external, soldered-on, antenna to test the performance
objects they may have to change their radio parameters gain.
(frequency, code rate). All the traffic intended for the regis-
tered IoT object (downstream), and all the packets coming
from the objects (upstream) then go through the Gateway. C. LoRa FABIAN Protocol Stacks
The downstream traffic can be stored here, to allow the LoRa FABIAN uses two different kind of messages
IoT objects to be powered off and receive messages once to communicate between nodes, over the LoRa technol-
they awake. Once registered, all the messages coming from ogy. For interoperability reasons, we choose to use IEEE
the IoT objects are redirected using HTTPS tunnels to the 802.15.4 [20] instead of using LoRaWan [21] as Layer-2
Service node. The code for the gateway was written in Java to transport our CoAP-based messages. As of now and for
by the authors and it is based on Californium [18], [19], as the sake of simplicity, the CoAP messages are send in clear
well as other libraries (JPA, H2 database,...) text. Encrypting them using DTLS [22] and distributing
The Service node, where every IoT objects DNS name the needed keys are part of our next steps.
points to, runs a simple translator from HTTP to CoAP a) Signaling messages: are exchanged between gate-
protocol (and vice versa) written in Java. The code was way and objects. Following [13], they are using CoAP to
developed by the authors and is based on the Californium handle network announces (beacons), nodes registration,
proxy. It receives traffic from the Internet and redirects it nodes control messages (e.g. radio parameter changes).
2016 IEEE 27th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC) - Workshop:
From M2M Communications to Internet of Things
3
gateway Internet
Service
node
IoT object
the QoS, such as the Packet Error Rate (PER), but also
some parameters related to the Radio and LoRa layers,
like the Signal to Noise Ratio (SNR), and the Received
Signal Strength Indicator (RSSI).
At the time of performing the tests, all the commu-
HTTPS
nication within the LoRa FABIAN network occurred on
UDP
the 868.1KHz frequency band. The bandwidth that was
CoAP
IP IP used was 125kHz. These parameters, as well as the coding
802.15.4 rate (that was set to 4/5), and the packet payload (25
LoRa
bytes, including MAC frame) remained fixed throughout
the measurements. The parameters that were varied are:
spreading factor (SF), distance, surroundings, antenna size
on IoT object and elevation/location of LoRa IoT stations
(by observing results on differently placed stations).
With this simple setup, we were able to generate traffic
really similar to one that can be used by real application
Fig. 2. LoRa FABIAN protocol stacks (like sensor monitoring), and then, from that, extract
QoS metrics within various conditions. For this round of
measurements we chose to focus on testing only the uplink
b) Data messages: are also exchanged between the (from IoT object to the LoRa IoT station), as this is the
object and the Service node. They offer the user the ability more common case in IoT.
the access the object directly through the use of CoAP to First we did a basic test to get a rough idea about the
provide a REST semantic available via HTTP. range and performance of the three LoRa IoT stations
The protocol stacks implemented on each of the entities (TDF Suburban, TDF CityCenter and TB on Figure 3),
in the LoRa FABIAN architecture is shown on Figure 2. based on the station location but also on the distance, SF,
and the type of antenna used on the IoT object. Following
that, we gathered some statistical data of performance of
III. Testing of the LoRa FABIAN network
LoRa for a certain distance (but with varying the location
These measurements are supposed to give us insight and surroundings). This data allowed us to evaluate the
about the Quality of Service (QoS) that the LoRa FABIAN different parameters (such as SNR and RSSI) in these
(using LoRA technology) network can provide, and give us scenarios, but also provided us with insight into various
statistical data for different configurations of the network. influences on the performance.
Other than that, they can also bring to light some of the
factors that need to be considered when testing these kinds
of networks and provide some statistical data for different A. Range tests
configurations of the network. To perform these measurements we moved on a trajec-
For this, a number of measurements were performed in tory (going up to roughly 3km away from TDF Suburban
order to get basic metrics that can be used to describe and TB stations, and 6km away from the TDF CityCenter
2016 IEEE 27th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC) - Workshop:
From M2M Communications to Internet of Things
4
Fig. 9. Correlation between PER and SNR, 3km from the LoRa IoT
station
designed, performed and analysed measurements for it. Packets flowing into the LoRa FABIAN network are
LoRa technology offers a excellent outdoor coverage either received and sent by LoRa stations. In this section, we
in urban or rural area. As expected, the antenna location will present some example of LoRa FABIAN data, as they
and especially its elevation plays a major role in the are received by one LoRa station. We will start by a simple
network performances. In the best conditions, the frames raw example and then describe the LoRa layer meta data,
losses is very low (about 3%). One of the goal of our study and the 802.15.4 and CoAP data.
was to define criteria to switch from one spreading factor
to another one to guaranty the best trade-off between NEW PACKET: received packet (size 43,
channel utilization and error rate. It appears that the RSSI modulation 16,BW 2, DR 2, RSSI -89.0)
alone may not be a good metric since measurement do
not exhibit a strong correlation. SNR could be a better JSON up: {"rxpk":[{"tmst":3936040845,
candidate. A next step will be to combine uplink and "time":"2016-01-25T16:40:15.164887Z","chan":8,
downlink traffic to find if some correlation exists between "rfch":0,"freq":868.100000,"stat":1,
measurements. This will be helpful to determine which "modu":"LORA","datr":"SF7BW250","codr":"4/7",
LoRa station will be the best to join a node. "lsnr":8.2,"rssi":-89,"size":43,
"data":"IjYB+rAAAAAAAAgAAEYBqv9MxGidNU49AX
Appendix A RoZXRhLnQuZXUub3Jng25vMg=="}]}
LoRa packet structure
Figure 11 shows the format of the packet in the LoRa Message in HEX. Size: 43
network. The first field is the preamble, which is in charge 223601FAB000000000000800004601AAFF4CC4689D3
of the synchronization of the receiver and the incoming 54E3D0174686574612E742E65752E6F7267836E6F32
packet. The next field is the header which provides in-
formation such as the SF used, the FEC code rate and In this example, we are able to see the meta data in JSON
size of the payload. Then, the payload field containing the format, as made available by the LoRa Station and the
data to be transmitted and finally the last field is a cyclic Semtech engine [25]. Description of each field can be found
redundancy check (CRC) for error detection. on [25]
The structure may vary depending on whether explicit We can also see the payload of the LoRa data, including
header is used, and also on the length of the preamble thus the IEEE 802.15.4 layer and the CoAP one. Table II
(currently, we are using 8 symbols) shows the interpretation.
2016 IEEE 27th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC) - Workshop:
From M2M Communications to Internet of Things
7