Purdue Digital Agriculture

Set up LoRaWAN infrastructure without living in the command line.

RING guides agricultural researchers and field teams through gateway, server, and sensor setup without requiring them to assemble every configuration by hand.

Start setup
RING translates field deployment choices into the configuration behind the LoRaWAN stack.

Sensors in the field send readings by LoRa radio to a LoRaWAN gateway. The gateway passes them over the network to a server whose LoRaWAN services RING has set up from your deployment choices.

How setup works

Six guided stages take you from a bare server to your first dashboard reading. In short:

  1. 01

    Get a server ready

    Use a mini-PC on site, or create a cloud server on AWS or Google Cloud. RING guides you through Ubuntu, SSH, and Docker, then checks the server.

  2. 02

    Download your setup package

    Answer three questions about your site. RING builds a small ZIP in your browser with everything configured for your server.

  3. 03

    Install and check

    Copy the package to the server and run the installer. Confirm all eleven services, then sign in to ChirpStack and open your dashboard.

  4. 04

    Connect the field

    Connect your gateway, then add each sensor from your own dashboard and watch its first reading arrive.

Where RING fits

A LoRaWAN network has two halves: radio hardware in the field, and software on a server that receives what the hardware sends. RING sets up the server half from a few answers, so the field half has somewhere to connect.

You bring
Soil sensors, a LoRaWAN gateway, and a Linux server: a mini-PC on site, or a virtual machine in the cloud.
What RING sets up for you
Technical details: exact versions

Each installation runs these pinned versions, as Docker containers, so every server gets the same software.

ChirpStack
4.3.2
ChirpStack REST API
4.3.0
ChirpStack Gateway Bridge
4.0.10
Mosquitto
2.0.15
PostgreSQL
14.8
Redis
7.0.11
MySQL
8.4.11
Nginx (dashboard)
1.27.5
You get
A LoRaWAN server you can sign in to and your own RING dashboard, ready for your gateway and sensors.

System architecture

For technical and research readers: every service the package runs on your server, and how a reading travels between them.

In the fieldDraginoSE01-LSRAK7393gatewayLoRa(US915 sub-band 2)User’s Linux server: one Compose projectgateway-bridge(Basics Station)mosquittochirpstack+ postgres, redistelemetry-ingestmysqltelemetry-apidashboard(Nginx)decoded uplinks/api/telemetry/public/*ws://ADDRESS:PORTBrowser: SSH tunnel,LAN, or Tailscale

Scroll sideways to see the whole figure.

Figure 1. The setup package on a user’s own Linux server: one Docker Compose project, from the sensor’s radio uplink to the site’s own dashboard. Cylinders are message and data stores; labels name the protocol, topic, or path a connection uses.

In the field, a Dragino SE01-LS sensor sends LoRa radio, US915 sub-band 2, to a RAK7393 gateway. The gateway connects over WebSocket to gateway-bridge, the Basics Station listener, on the user’s Linux server. Gateway-bridge publishes to the mosquitto MQTT broker, which exchanges messages with chirpstack, backed by postgres and redis. Mosquitto passes decoded uplinks to telemetry-ingest, which stores them in mysql; telemetry-api reads mysql. The dashboard, behind Nginx, requests readings from telemetry-api at /api/telemetry/public/. People reach the dashboard in a browser through an SSH tunnel, the local network, or Tailscale.

Table 1. The package’s services by layer.
LayerServices
LoRaWANchirpstack, gateway-bridge, mosquitto, postgres, redisReceives the gateway’s packets, joins devices, decodes payloads with the device profile’s codec, and publishes uplinks on MQTT.
Telemetrymysql, telemetry-migrate, telemetry-ingest, telemetry-apiRING’s telemetry service, built on the server from its bundled source: stores each decoded uplink and serves sanitized readings.
DashboarddashboardThe site’s own RING dashboard behind Nginx, reading only the public, read-only API routes.

Built for field deployment

Research plots
Set up gateways and sensors without rebuilding the software environment at every location.
Farm and field trials
Move hardware between deployments while keeping the setup process consistent.
University research
Give students and researchers a guided workflow instead of a long terminal checklist.

See what’s happening in the field

RING runs its own small deployment at Purdue. The soil sensors report about every 20 minutes, and every reading is kept.

Soil temperature, last 24 hours

Research context

Developed within Purdue University’s Department of Agricultural and Biological Engineering as part of ongoing digital agriculture research.

The project is connected to IoT4Ag, the Internet of Things for Precision Agriculture research center. Its sensors report from the IoT4Ag laboratory and from a plot outdoors.

About the project

Ready to set up a deployment?

Setup runs in your browser and never connects to your server. You run each step yourself and check the result before moving on.

Start setup