Last week, in my blog post “CableLabs Open Source LPWAN Server Brings Diverse LPWAN Technologies Together,” we announced our LPWAN Server. This project is open source and:
- Provides new capabilities to bring IoT LPWAN wireless technologies together
- Is a flexible tool to enable the use of multiple servers across multiple vendors
The LPWAN Server was designed to work with the CableLabs sponsored open source LoRa Server and, together, provide a comprehensive solution to enable many LPWAN use cases. It has been nearly 18 months since we released the first major revision of the LoRa Server and, during this time, many improvements have been made.
In this blog, I’ll discuss why we invested in the LoRa Server, how the project continues to improve and how it aligns with the latest specifications released from the LoRa Alliance. If you need a refresher on the LoRa Server, please see my blog post “CableLabs Announces an Open Source LoRaWAN Network Solution.”
Why Did CableLabs Invest in the LoRa Server?
The LoRa Server project was conceived and started by Orne Brocaar. His goal was to develop a fully open source LoRa Server that could be used by anyone looking for the opportunity to gain an introduction into LoRaWAN and LPWANs. Due to limited time and resources, the project remained minimal in functionality and progression for nearly a year.
CableLabs had a goal to find a fully community-based open-source LoRaWAN server to provide the cable industry with the ability to easily prototype, test and trial LPWAN services using unlicensed RF spectrum. We discovered the LoRa Server and began investing heavily into developing the functionality to align with our goal. Shortly after this, Orne joined the CableLabs team to lead the development of the LoRa Server into the exceptional tool it has become.
Our design strategy began and continues to focus on these key areas:
- Full functional compliance with LoRa Alliance specifications
- Extensive debug and logging tools
- Protocol transparency to the operator of the server
- Scalable for any sized testing, trial or use
While our goals are to provide a tool for testing, trials and related use, the server is fully open-source under the MIT license. This allows it to be used freely for any use from testing to production. We desire to enable growth and creativity in the LPWAN ecosystem using the LoRaWAN protocol.
Introducing a New Version of the LoRa Server
In the summer of 2018, we released LoRa Server v2. We have released several additional updates to introduce new features and improvements since then while maintaining backward compatibility with LoRaWAN 1.0. Where v1 (released in June 2017) was focused on the first stable release since many test versions, v2 focuses on an improved API, User Interface (UI), compliance with LoRaWAN 1.1 and additional interesting new features.
LoRaWAN 1.1
The major feature of LoRa Server v2 is support for LoRaWAN 1.1. LoRaWAN 1.1 is an important release for many reasons:
Enhanced Security
LoRa Server v2 enhances the security of LoRaWAN devices by providing LoRaWAN 1.1 support. Not only does LoRaWAN 1.1 add better protection against replay attacks, it also adds better separation between the encryption of the mac-layer and the application payloads. This also facilitates the implementation of roaming in the future. It is important to mention that LoRa Server v2 still supports LoRaWAN 1.0 devices.
Re-designed Web-Interface
Another major feature of LoRa Server v2 is the completely redesigned and re-written web-interface. The fantastic new interface is more responsive because of smarter caching and it is more user-friendly and easier to navigate.
API improvements
As many users are integrating LoRa Server into their own platforms using the LoRa Server APIs, we want to make sure these APIs are easy to use and are consistent. LoRa Server v2 removes many inconsistencies present in the v1 API and makes it possible to reuse objects so that code duplication is avoided.
Multicast
Multicast was a feature which was long requested and is finally present since LoRa Server v2.1.0. This feature makes it possible to assign devices to a multicast-group, so a group of devices can be controlled without the need to address each device individually, reducing the required airtime. One of its use cases is Firmware Updates Over The Air (FUOTA) which was recently released by the LoRa Alliance. In an upcoming version, we are planning to further integrate this into the LoRa App Server component of the LoRa Server.
Geolocation
Since LoRa Server v2.2.0, the server provides geolocation support. By default, it integrates with the Collos platform provided by Semtech, but by using the provided geolocation API, other platforms can be used. Please note this requires a v2 LoRa Gateway with geolocation capabilities, as a high precision timestamp is required for proper geolocation.
Google Cloud Platform integration
A common request we have received is how to scale LoRa Server. Since LoRa Server v2.3.0, it is possible to make use of the Google Cloud Platform infrastructure to improve scalability and availability. LoRa gateways can directly connect to the Cloud IoT Core MQTT bridge (using the LoRa Gateway Bridge), and the LoRa Server and LoRa App Server integrate with Google Cloud Pub/Sub.
Open Source Community
The open source community is encouraged to take advantage of our efforts and further functional support for even more gateways, solutions and use cases. There are many LoRaWAN gateways and applications and we would like the development community to help us integrate these.
To find out more information about the LoRa Server and become involved in this project, go to the LoRa Server site.
Subscribe to our blog for updates on the open source LoRa Server.