The LoRa Server project provides open-source components for building LoRaWAN networks. Together they form a ready-to-use solution, including an user-friendly web-interface and gRPC and REST APIs. Components can also be swapped out for customization or when integrating LoRa Server into existing infrastructures. All components are licensed under the MIT license and can be used for commercial purposes.
End-devices of Class A allow for bi-directional communications whereby each end-device‘s uplink transmission is followed by two short downlink receive windows. The transmission slot scheduled by the end-device is based on its own communication needs with a small variation based on a random time basis (ALOHA-type of protocol).
End-devices of Class B allow for more receive slots. In addition to the Class A random receive windows, Class B devices open extra receive windows at scheduled times. In order for the End-device to open it receive window at the scheduled time it receives a time synchronized Beacon from the gateway.
End-devices of Class C have nearly continuously open receive windows, only closed when transmitting. Class C end-device will use more power to operate than Class A or Class B but they offer the lowest latency for server to end-device communication.
When the end-device has ADR enabled, LoRa Server will ensure that the device will operate using the most ideal data-rate and tx-power. this will not only save energy at the device-side, but will also optimize the usage of the radio spectrum, lowering the risk of collisions.
LoRa (App) Server provides live frame-logging per gateway and device. It will display all the RX / TX meta-data, together with the raw LoRaWAN PHYPayload in a readable format. It is like Wireshark for LoRaWAN!
Whether you want to use a sub-set of the LoRaWAN defined channels (e.g. for the US band) or want to configure additional channels (e.g. for the EU band), LoRa Server will make sure the device stays always in sync with the network configured channels (using the CFList field and / or mac-commands).
LoRa App Server supports hosting multiple organizations to which (administrator) users can be assigned. By using PBKDF2 password hashing, LoRa App Server facilitates the integration with MQTT broker authentication and authorization so that organizations will only be able to see their own device payloads.
All components provide gRPC and / or REST APIs to enable the integration with external services. By default all application data is published over MQTT channels. Per application HTTP endpoints can be setup for application data and events.
Please refer to the LoRa Server project documentation to learn more about all the features and configuration options!
Please report a bug by creating an issue at the related GitHub repository. GitHub links can be found at the documentation page of each component.
For questions and community support, please refer to forum.loraserver.io.
For commercial support contact Orne Brocaar, the author of the LoRa Server project.