Gareth Waymark

Setting Up A Chirpstack Server

07 August, 21

Category: electronics

I recently got involved with LoRaWAN networks as a side project for university. During my short time looking at the technology it has become clear that there is a lot more to it than I first thought.

My initial starting point, as most hobbyists, is the simple idea of a remote sensor that can send data over a long range (LoRa) radio link of up to 10 miles. The node usually comes as a self contained device with a simple serial interface that can be controlled using a microcontroller. The data is then sent to a receiver and voilà, you have your data. That isn’t even close to how a LoRaWAN actually works. The simple radio connection between the node and the gateway is just the tip of the iceberg.

A very quick overview is as follows:

  1. A Node sends a data packet via a radio link to a gateway.
  2. The gateway forwards the packet, along with other metadata to a LoRaWAN server via the MQTT protocol.
  3. The LoRa server filters duplicate packets and forwards these to the LoRaWAN application server.
  4. The Application Server provides a web interface to allow users to configure the system and setup methods of data storage and forwarding.
  5. A database such as InfluxDB can be used to store the decoded data packet.
  6. A data visualization service, such as Grafana, can be used to view graphs, charts etc.

This is just one of countless ways to configure a LoRaWAN network and most of the system is server based. My task for the project was to setup a full system from node to server to see if self hosting a service was a possibility for the university department. Luckily, all of the software is open source and freely available. My system comprises of the following:

The Raspberry pi gateway with a RAKWireless RAK2243 concentrator with:

A headless PC running openSUSE Leap 15.3:

It is early days but I’m thinking that all of this could run on a single raspberry pi which would be perfect for a student project. Considering this is supposed to be for electronic engineering, most of the work is in setting up all the services.

#100daystooffload