ChirpStack è un network server LoRaWAN open source, ovvero il software centrale che riceve i messaggi radio raccolti dai gateway e li trasforma in dati utilizzabili dalle applicazioni. Il suo autore, lo sviluppatore Orne Brocaar, lo distribuisce con licenza MIT, tra le più permissive in circolazione. Il progetto è stato a lungo noto come LoRa Server e ha preso il nome attuale nel novembre 2019, perché LoRa è un marchio registrato di Semtech, come spiega l’annuncio pubblicato sul forum ufficiale.
L’attuale quarta generazione riunisce in un solo programma ciò che prima era diviso tra un network server e un application server separati.
A cosa serve ChirpStack
Una rete LoRaWAN è composta da sensori a bassissimo consumo, gateway radio che li ascoltano a diversi chilometri di distanza e un network server che mette ordine. ChirpStack svolge quest’ultimo compito. Elimina i duplicati quando più gateway ricevono lo stesso messaggio, verifica l’autenticità dei frame, gestisce le chiavi di sessione, sceglie il gateway migliore per rispondere e regola la velocità di ciascun sensore con l’adaptive data rate, personalizzabile tramite plugin in JavaScript. I dati decodificati raggiungono poi le applicazioni attraverso le integrazioni o le API gRPC e REST, le stesse su cui è costruita l’interfaccia web.
Per i gateway il progetto mette a disposizione diversi componenti. Concentratord pilota i chip radio Semtech ed espone un’interfaccia ZeroMQ, il MQTT Forwarder installato sul gateway trasmette i frame in Protobuf o JSON, e il Gateway Bridge converte in MQTT i protocolli Semtech UDP Packet Forwarder e Basics Station quando sull’apparato non si può installare nulla. ChirpStack Gateway OS offre perfino un sistema completo per gateway basati su Raspberry Pi, mentre Gateway Mesh estende la copertura con ripetitori alimentati a energia solare.
Il server supporta le classi A, B e C dei dispositivi, il multicast, gli aggiornamenti firmware a distanza secondo le specifiche FUOTA e più piani di frequenza contemporaneamente, come EU868, US915, AU915 o AS923. Ogni tenant ha i propri gateway e dispositivi con permessi per utente, così un integratore può servire più clienti da un’unica installazione. Un visualizzatore mostra in tempo reale frame ed eventi, molto utile per capire perché un sensore ha smesso di trasmettere.
In questo ChirpStack si distingue dagli strumenti della categoria Telecomunicazioni orientati alla voce su IP, come HOMER o RTPEngine: non gestisce chiamate né flussi audio, ma messaggi di pochi byte inviati da contatori, sonde o localizzatori.
Per chi è?
Interessa le amministrazioni locali che strumentano edifici o reti idriche, le aziende agricole, le industrie che monitorano macchinari e gli integratori che vogliono gestire una propria rete LoRaWAN senza dipendere da un operatore. Università e scuole lo apprezzano anche per allestire una rete sperimentale con un semplice gateway basato su Raspberry Pi.
Occorre però padroneggiare diversi componenti: un database PostgreSQL almeno in versione 13, oppure la variante SQLite, un server Redis 6.2 o Valkey e un broker MQTT compatibile con la versione 5 del protocollo, di solito Mosquitto. I concetti propri di LoRaWAN, come profili dei dispositivi, chiavi e piani di frequenza, richiedono un vero periodo di apprendimento. ChirpStack non vende sensori e non offre cruscotti applicativi, quindi per visualizzare le misure serve un’altra applicazione. Chi preferisce non ospitare nulla farà meglio a rivolgersi a una rete LoRaWAN gestita da terzi.
Scaricare ChirpStack in sicurezza
La pagina dei download di chirpstack.io offre un repository APT per Debian e Ubuntu, pacchetti .deb e .rpm e archivi .tar.gz per processori amd64, armv7 e arm64, ciascuno nella variante PostgreSQL o SQLite. Due immagini Docker ufficiali sono pubblicate sotto l’account chirpstack, e la documentazione guida passo passo l’installazione su Debian, Ubuntu, Docker o Raspberry Pi. Le versioni precedenti restano disponibili su artifacts.chirpstack.io, mentre il codice sorgente si trova nell’organizzazione chirpstack su GitHub.
Tutto è gratuito. Il progetto si finanzia con gli sponsor di GitHub Sponsors, e Orne Brocaar offre assistenza commerciale su richiesta. Un network server custodisce le chiavi di cifratura di tutti i sensori, quindi un’immagine o un pacchetto preso da un repository non ufficiale potrebbe esporle. Prima di aggiungere il repository è buona norma importare la chiave di firma indicata nella documentazione.
Domande frequenti
ChirpStack è davvero gratuito anche per uso commerciale?
Sì. La licenza MIT consente uso, modifica e rivendita senza royalty, a patto di conservare la nota di copyright. Si paga soltanto l’eventuale assistenza professionale.
Che differenza c’è tra ChirpStack e LoRa Server?
Si tratta dello stesso progetto. LoRa Server è stato rinominato ChirpStack nel novembre 2019 per questioni di marchio, e in quell’occasione anche i pacchetti hanno cambiato nome.
Si può migrare da ChirpStack v3?
Sì. Uno strumento ufficiale trasferisce tenant, utenti, applicazioni, dispositivi e gateway alla versione 4. È pensato per lo schema della versione 4.11, che va quindi installata prima di passare alle successive.