LoRa Server is an open-source LoRaWAN network-server. It is responsible for handling (and de-duplication) of uplink data received by the gateway(s) and the scheduling of downlink data transmissions.
This project exists out of multiple components
- lora-gateway-bridge - converts the packet_forwarder protocol to MQTT and back
- loraserver - LoRaWAN network-server
- lora-app-server - LoRaWAN application-server
- lora-controller (todo) - LoRaWAN network-controller
Pre-compiled binaries are available for:
- Linux (including ARM / Raspberry Pi)
- OS X
Building from source
The easiest way to get started is by using the provided docker-compose environment. To start a bash shell within the docker-compose environment, execute the following command from the root of this project:
docker-compose run --rm loraserver bash
A few example commands that you can run:
# run the tests make test # compile make build # cross-compile for Linux ARM GOOS=linux GOARCH=arm make build # cross-compile for Windows AMD64 GOOS=windows BINEXT=.exe GOARCH=amd64 make build # build the .tar.gz file make package # build the .tar.gz file for Linux ARM GOOS=linux GOARCH=arm make build # build the .tar.gz file for Windows AMD64 GOOS=windows BINEXT=.exe GOARCH=amd64 make build
Alternatively, you can run the same commands from any working
Go environment. As all requirements are vendored,
there is no need to
go get these, but make sure vendoring is enabled for
your Go environment or that you have Go 1.6+ installed.
LoRa Server is distributed under the MIT license. See also LICENSE.