Developer Guide

This section contains documents, architectural info and background articles about LoRaWAN networks and The Things Network. In this section we need to handle the following subjects:

  1. Architecture of the LoRa Network
  2. General Design of a 1-channel Gateway
  3. Programming the gateway
  4. LoRa Message format
  5. More Reading

In this section I have tried to combine as much info as possible. Some is still unstructured, but that will change.

1. Architecture Guide


2. Design of 1-channel Gateways

One channel gateways are not really LoRa devices according to the standard. They listen to one frequency only where normal gateways listen to 3 frequencies at a minimum and most listen to 10 or more. Also the use one Data Rate and Spreading Factor where normal LoRa gateways can work with 8 separate SF.


3. Programming the Gateway

There are (at least) two ways for programming the gateway. We will focus on the C++ programming as done with the Arduino boards. The best known method is that of Arduino IDE working with the Arduino programming environment. This is the oldest and probably the most well known method.

Several sources however report the the Arduino IDE environment is standing still and that PlatformIO (Microsoft) is a better way of programming the Arduino-line of hardware such as the ESP8266 and the ESP32.

At the moment, both envrinments are described and both envornment do the same basic thing, building and installing the gateway software, but both do it in an entire different way.


4. LoRa Message Format

For LoRa we defined a special set of messages to exchange between the gateway and the sensors. The message format needs to be a short as possible, yet reliable and be "position independent". The latter meaning that messages be decoded on the contents alone and not by the position of the (sensor) data in the message.

When the messages of the gateway itself are decoded and shown (_GATEWAYNODE==1) the user has a choice to either send these messages in lCode format (proferred) of send these as-is and received from the sensors.

Messages intepret by the gateway can be either Lora or Raw format. The user can set this in rthe configuration file configNode.h and define either _RAW of _LCODE.


5. LoRa Documents

These documents are copies of published and relevant documents of manufacturers, suppliers and standard organizations.