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.
Your Linux serverLocal or cloud
Choose a layer to look inside
Eleven services, run with Docker
Inside your setup package
LoRaWAN services
Your server. Your dashboard. Your data.
One package connects your gateway, stores every decoded sensor reading, and serves it to your site’s own RING dashboard.
Inside the package
Receives gateway traffic, manages the network, and decodes sensor payloads.
Gateway Bridge publishes gateway traffic to Mosquitto. ChirpStack consumes that traffic, decodes the sensor payload, and publishes the decoded uplink back to MQTT. PostgreSQL holds network records; Redis supports sessions and runtime state.
About ChirpStackStores decoded readings and makes them available to the dashboard.
Ingestion subscribes to decoded MQTT uplinks and stores the readings in MySQL. The telemetry API reads that database and serves sanitized sensor data. During installation, telemetry-migrate applies the database schema before ingestion and the API start.
Displays this deployment’s sensor readings and weather.
Nginx serves the dashboard and forwards its sensor-data requests to the read-only telemetry API. The dashboard uses your server’s data and site settings. Weather comes from weather services.
Where weather comes fromHow setup works
Six guided stages take you from a bare server to your first dashboard reading. In short:
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.
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.
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.
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
- A LoRaWAN network serverManages your network, gateways, and registered sensors. ChirpStack (explained in Help).
- A place for your gateway to connectReceives your gateway’s traffic over Basics Station. ChirpStack Gateway Bridge (explained in Help).
- Messaging between servicesPasses each reading from one service to the next. Mosquitto (explained in Help), an MQTT (explained in Help) broker.
- Storage for the networkKeeps ChirpStack’s gateways, sensors, and sessions. PostgreSQL (explained in Help) and Redis (explained in Help).
- A record of every readingStores each decoded reading, so any period can be charted. MySQL (explained in Help) and RING’s telemetry service.
- Your own dashboardLive and historical readings from your sensors, from your server. The RING dashboard.
- The right radio channelsThe US915 frequency plan, sub-band 2, in ChirpStack and the bridge. RING’s configuration.
- Checks at every stepBefore and after installing, and along a reading’s path. The preflight, install, status, verify, and sensors tools.
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.
Scroll sideways to see the whole figure.
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.
| Layer | Services | Role |
|---|---|---|
| LoRaWAN | chirpstack, gateway-bridge, mosquitto, postgres, redisReceives the gateway’s packets, joins devices, decodes payloads with the device profile’s codec, and publishes uplinks on MQTT. | Receives the gateway’s packets, joins devices, decodes payloads with the device profile’s codec, and publishes uplinks on MQTT. |
| Telemetry | mysql, 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. | RING’s telemetry service, built on the server from its bundled source: stores each decoded uplink and serves sanitized readings. |
| Dashboard | dashboardThe site’s own RING dashboard behind Nginx, reading only the public, read-only API routes. | The 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 projectReady 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.