Archiviazione della configurazione#
La configurazione residente persiste su LittleFS come un file per funzionalità dell’amministrazione web, ciascuno con il nome della pagina che lo possiede. Questo riferimento riassume la meccanica di archiviazione; per i gruppi di campi vedi Il motore di configurazione.
Meccanica#
Un file per funzionalità, sotto
/storage:system.json,station.json,wireless.json,radio.json,igate.json,brandmeister.json,digi.json,tracker.json,weather.json,gps.json,message.json,winlink.json,query.json. Non esiste un file di configurazione combinato.Caricato con cJSON, un file alla volta; salvato da uno scrittore in streaming token per token.
Salvataggio atomico: scrive
<nome>.json.tmp, poi rinomina.Ogni pagina salva solo il proprio file. La pagina My Station è l’eccezione che ne nomina diverse, perché i suoi specchi «Use My Station Data» scrivono in campi di altri cinque servizi.
Mancante, vuoto o corrotto → quel file viene riscritto dai valori predefiniti durante il caricamento, così ogni funzionalità ha sempre un file e il dispositivo si avvia sempre su un’amministrazione web raggiungibile.
Senza memoria → non viene scritto nulla e il caricamento segnala l’errore. Una lettura o un’analisi rimasta senza RAM non dice nulla sul contenuto del file, quindi non deve mai prendere la strada precedente: il lettore esamina il testo senza allocare nulla per distinguere i due casi, e solo i byte genuinamente non analizzabili vengono sovrascritti.
I nomi dei campi e le chiavi JSON sono mantenuti 1:1 con il progetto di riferimento, così un operatore che si sposta tra i due li riconosce; le chiavi sconosciute vengono ignorate e una chiave che un file non porta conserva il suo predefinito documentato.
Altri file persistenti#
File |
Contenuto |
|---|---|
|
Configurazione del canale 0 di telemetria ( |
|
I cinque bollettini APRS (identificativo e gruppo del destinatario, testo, RF/INET, intervallo iniziale, rampa di decadimento, scadenza). |
|
I cinque oggetti/item APRS (nome, posizione, simbolo, rotta/velocità, commento, intervallo, flag permanente). |
|
L’intera configurazione del bot Telegram: l’interruttore di abilitazione, il token del bot, l’identificativo dell’amministratore, l’indirizzo della Mini App e gli elenchi di utenti e chat di gruppo autorizzati. |
|
Le risposte che il servizio Winlink ha rimandato, dalla più vecchia alla
più recente. Le impostazioni dell’account sono le chiavi |
|
Il certificato radice (PEM, fino a 8 KB) con cui il trasporto Telegram
verifica il server dell’API quando non è compilato con il bundle di
certificati di ESP-IDF. Il percorso è il valore predefinito di
|
Tutti gli archivi usano lo stesso scrittore in streaming, ciascuno sotto il
proprio mutex, ciascuno con un setvbuf() esplicito per evitare
un’allocazione pigra di un grande buffer stdio a metà scrittura. Il buffer di
setvbuf() è un unico oggetto statico condiviso da tutti, dato che il gate di
scrittura dell’intero filesystem impedisce a due salvataggi di sovrapporsi.
Ognuno di questi file, tranne il certificato, viene creato dai suoi valori predefiniti durante l’avvio se non esiste, così un primo avvio lascia un insieme completo in flash senza che l’operatore visiti una sola pagina.
Reset di fabbrica#
POST /default (il pulsante di reset di fabbrica nella pagina Sistema)
chiama app_config_factory_reset(), che riporta la configurazione a
app_config_set_defaults() e riscrive tutti i file di sezione. Di per sé
non rimuove i file separati di telemetria/bollettini/objitems/telegram/winlink_mail — quelli
rigenerano i predefiniti al prossimo accesso se cancellati dalla pagina
Archivio.
Chiavi dell’interconnessione BrandMeister#
Chiave |
Tipo |
Significato |
|---|---|---|
|
bool |
Interruttore principale dell’interconnessione BrandMeister. Disattivato per impostazione predefinita. |
|
bool |
Intenzione di usare la sottoscrizione mondiale |
|
bool |
Instrada i messaggi per destinatari BrandMeister solo via APRS-IS. Abilitato per impostazione predefinita; può soltanto togliere la tratta RF. |
|
array di 4 stringhe |
Nominativi facoltativi di stazione di ingresso per il terzo test del
classificatore. Un |
|
bool |
Abilita il filtro di distanza INET→RF. Disattivato per impostazione predefinita. |
|
numero |
Raggio del filtro di distanza INET→RF in km, 0 = illimitato. Limitato a 0…20038 al caricamento. |
|
bool |
Rifiuta una riga INET→RF che non sia un messaggio e non porti una posizione propria decodificabile. Attivo per impostazione predefinita; una riga classificata come BrandMeister e soggetta al requisito qualunque cosa dica questa chiave. |
|
bool |
Inoltra una riga INET→RF che non sia un messaggio solo quando la sua
origine e stata ascoltata in RF entro |
|
numero |
Intervallo minimo, in secondi, tra due trame INET→RF che non siano messaggi inoltrate per la stessa origine. 30 per impostazione predefinita, 0 disattiva il limitatore; limitato a 0…3600 al caricamento. |
Chiavi Winlink (APRSLink)#
Chiave |
Tipo |
Significato |
|---|---|---|
|
bool |
Interruttore principale del client Winlink. Spento per impostazione predefinita: il client ha bisogno di un account e di una password prima di poter fare qualcosa. |
|
string |
Nominativo del servizio APRSLink. |
|
string |
Password dell’account Winlink, fino a 16 caratteri. Non viene mai trasmessa: una sfida di accesso indica posizioni di caratteri e solo quei caratteri vengono rimandati indietro. |
|
bool |
Usa |
|
string |
Identità Winlink quando |
|
bool |
Apre da sé una sessione quando un comando viene accodato da inattivo. Acceso per impostazione predefinita. |
|
number |
Durata locale della sessione in minuti, 5…180, 110 per impostazione predefinita. Tenuta sotto la scadenza di due ore del servizio stesso, così questa stazione abbandona la sessione per prima. Limitata al caricamento. |
|
number |
Minuti tra le richieste spontanee della posta in attesa, 0…1440. 0 non chiede mai, ed è il valore predefinito. Limitato al caricamento. |
|
bool |
Aggiunge il contrassegno di notifica Winlink al commento del beacon, così il servizio sa che questa stazione legge la propria posta. Spento per impostazione predefinita. |
|
bool |
Tiene fuori dall’aria il traffico Winlink di questa stazione finché ha un collegamento APRS-IS. Acceso per impostazione predefinita; può solo togliere la tratta RF. |
|
bool |
Lascia che una risposta del servizio raggiunga la RF anche quando il suo
destinatario si vede pure su APRS-IS. Acceso per impostazione
predefinita; toglie quell’unica condizione di inoltro dei messaggi e
nessun’altra, e solo per |