Resources for LoRa and LoRaWAN
Published:
LoRa/LoRaWAN is a new IoT technique which is very suitable for energy efficient and long range communications. This paper summarizes resources for LoRa and LoRaWAN.
Overview
A complete LoRaWAN application requires end devices, gateway, network server, and an application.
Tutorial
- An Introduction of Long Range and LoRaWAN Technology
- The Arduino Guide to LoRa® and LoRaWAN®
- LoRaWAN Overview by TTN
- mbed tutorial: Building a private LoRa network link
- LoRaWAN network architecture link
LoRa vs LoRaWAN
Sometimes people use LoRa as the physical layer modulation technique while LoRaWAN as the MAC protocol and also the network structure. In other cases, you may also see that LoRa is used as a general term to represent LoRa/LoRaWAN. A good tutorial and summary of the LoRa and LoRaWAN can be found at link.
LoRa
LoRa (Long Range) is an IoT wireless technology patented by Smetech. It defines the physical layer modulation.
Some key features of LoRa
- Chirp spread spectrum
- Different frequency plan, e.g., EU863-870, CN470-510 and US902-928
Understand LoRa modulation
Arduino LoRa Driver
LoRaWAN
LoRaWAN is a media access control (MAC) protocol for wide area networks. It is defined by LoRa Alliance. The first LoRaWAN specification was published on January 2015 (download link) and the latest LoRaWAN specifications is LoRaWAN® Specification v1.0.3 (July 2018) download link.
Many LoRaWAN protocol implementations may not support the latest version. For example, pycom devices only support LoRaWAN 1.0.2. The previous versions of LoRaWAN specifications can be accessed from https://lora-alliance.org/resource-hub
Some key features of LoRaWAN
- Class A, B, and C
- Authentication: Over-the-Air Activation (OTAA) and Activation by Personalization (ABP)
- LoRaWAN in most countries uses ALOHA to access the spectrum, which will then be subject to the duty cycle limitation, e.g., in EU868 plan. LoRaWAN in some countries does support listen before talk (LBT), e.g., LBT is enabled in AS923 plan.
- AES for security
LoRaWAN is not the only MAC protocol for LoRa. Symphony Link is also available. A difference between Symphony Link and LoRaWAN can be found here
End Device
There are different options for selecting the end devices, based on your preference. Here is a (non-comprehensive) summary of the LoRa/LoRaWAN devices and their drivers.
Hardware Type | Driver (LoRa) | Driver (LoRaWAN) | Language | Supported Devices |
---|---|---|---|---|
Pycom devices | LoRaMAC | LoRaWAN-OTAA, LoRaWAN-ABP | Micropython | FiPy, LoPy |
Arduino Shield | Arduino RadioHead | Arduino LMIC | Arduino C | Arduino LoRa GPS Sheild, Seeeduino LoRaWAN |
Raspberry Pi Shield | C | LoRa GPS HAT for Raspberry Pi | ||
mBed-Based | SX1272Lib, SX1276Lib | LoRaWAN-lib | C | SX1272MB2xAS , SX1276MB1xAS |
RN2483 | Microchip RN2483 |
A full list of the mbed LoRa device and the mbed LoRaWAN APIs
For example, if you are using Pycom devices, you can connect the end device by using Authentication By Personalisation (ABP) or Over The Air Authentication (OTAA).
Gateway
You may have experience setting up a WiFi router (access point) at home or office. Users will need password to access the router for internet, which can be referred as a private router. In LoRaWAN, it is a different story. You do not need a password to connect to a gateway. As long as there is a gateway nearby, your end devices will connect to the gateway and eventually to the network server. In this case, the gateway is public. A detailed introduction on the gateway can be found at here, where you can find a list of recommended hardware.
If you intend to setup a gateway, you can configure it as public or private. An instruction of using RAK831 gateway can be found here here
Network Server
Public Network Server
The Things Network is a free and probably the most popular LoRaWAN server. Please refer to here for an instruction about creating applications in TTN.
Another tutorial from pycom can be found here.
Private Network Server
- Tutorial: TTN: Setting up a Private Routing Environment link
- loraserver
Application
Please refer to this link for building applications using TTN.
There is a number of data API and SDK for interaction between the applications and TTN server.
LoRaWAN Demo at University of Liverpool
A LoRaWAN demo has been created at the Advanced Networks Research Group (ANRG), University of Liverpool. The demo built a complete LoRaWAN-based IoT system, including FiPy end devices, gateway, and applications. A detailed introduction can be found at link.
A public LoRaWAN gateway hosted at The Things Network by ANRG Link. The gateway was built following the instruction here
Other Resources
SDR Implementation
- gr-lora: A detailed explanation of the model and algorithm can be found in link.
- gr-lora:. A detailed explanation of the model and algorithm can be found in link. (Yes, both their names are gr-lora)
- LoRa in Pothos
FAQ
- 14 LoRa FAQs Answered from LinkLabs https://www.link-labs.com/blog/lora-faqs