Chi utilizza MeshCore tramite interfaccia CLI (Command Line Interface) avrà probabilmente incontrato il comando:
neighbors
A prima vista il risultato può sembrare poco comprensibile: una serie di identificativi seguiti da numeri positivi o negativi, ad esempio:
In realtà queste informazioni sono molto utili perché permettono di avere una prima indicazione sui nodi MeshCore ricevuti direttamente via radio e sulla qualità con cui sono stati ascoltati.
Come è composta una riga
Prendiamo come esempio il terzo valore dell’elenco:
D2CE818E:2599:50
La riga è composta da tre valori separati dal carattere:
HASH : AGE : SNR
Vediamoli singolarmente.
1. HASH – Identificativo del nodo
D2CE818EÈ quindi il riferimento che consente di distinguere quel dispositivo dagli altri nodi ricevuti.
2. AGE – Quanto tempo fa è stato ricevuto
2599Nel nostro esempio: 2599 secondi ≈ 43 minuti
Eseguendo nuovamente il comando neighbors, questo valore può naturalmente cambiare.
3. SNR – Qualità del segnale ricevuto
Il terzo valore:
50Il valore è rappresentato in quarti di dB, quindi per ottenere il valore SNR effettivo occorre dividerlo per 4:
SNR = valore visualizzato / 4 (diviso 4)50 / 4 = +12,5 dBAlcuni esempi aiutano a comprenderne immediatamente il significato:
| Valore | SNR approssimativo |
|---|---|
55 | +13,75 dB |
50 | +12,5 dB |
35 | +8,75 dB |
12 | +3 dB |
8 | +2 dB |
-5 | −1,25 dB |
-40 | −10 dB |
-44 | −11 dB |
pertanto una riga come:
A9D5D753:1398:-44nodo A9D5D753 ricevuto l’ultima volta circa 1398 secondi fa (23 minuti) con un SNR di circa −11 dB.
SNR negativo significa collegamento scarso?
Non necessariamente.
Questa è una delle caratteristiche interessanti della modulazione LoRa utilizzata da MeshCore. Un ricevitore LoRa può riuscire a demodulare correttamente un segnale anche quando questo si trova al di sotto del livello del rumore, quindi con SNR negativo. In linea generale, un valore positivo elevato indica una situazione radio particolarmente favorevole, mentre valori progressivamente più negativi indicano condizioni più difficili e un margine di collegamento inferiore.
Un SNR di −10 dB tuttavia, non significa automaticamente che il collegamento non funzioni.
Attenzione: non è l’RSSI
È importante non confondere l’ultimo valore mostrato da neighbors con l’RSSI (Received Signal Strength Indicator). L’RSSI esprime la potenza del segnale ricevuto, normalmente in dBm, mentre l’SNR esprime il rapporto tra segnale e rumore. Sono quindi due grandezze differenti. Nell’output CLI neighbors mostrato in questo esempio non viene visualizzato l’RSSI. Non è pertanto corretto interpretare:
D2CE818E:2599:50−50 dBm o 50 dBm.Quel 50 rappresenta invece:
50 / 4 = +12,5 dB SNRPerché la lista cambia nel tempo?
La tabella dei neighbor è dinamica. MeshCore aggiorna queste informazioni sulla base dell’attività radio osservata dal nodo. Eseguendo il comando in momenti differenti potremo quindi vedere cambiare:
- i neighbor presenti;
- il tempo trascorso dall’ultima ricezione;
- il valore SNR associato all’ultima ricezione utile.
Questo spiega perché due comandi neighbors eseguiti a distanza di qualche minuto possono produrre risultati differenti.
A cosa serve, in pratica?
Il comando neighbors può diventare un piccolo ma interessante strumento diagnostico. Può essere utilizzato, ad esempio, per verificare se un determinato nodo viene effettivamente ascoltato, quanto recentemente è stato ricevuto e con quale rapporto segnale/rumore. È particolarmente utile durante le attività di sperimentazione: spostando un nodo, modificando l’antenna o cambiandone l’installazione, l’osservazione nel tempo dei neighbor può fornire indicazioni interessanti sul comportamento della propria stazione. Naturalmente questi valori non devono essere utilizzati da soli per giudicare la qualità complessiva di un collegamento MeshCore. Propagazione, configurazione LoRa, posizione delle antenne, ostacoli, rumore radio e percorso seguito dai messaggi sono tutti elementi che concorrono al risultato finale.
In sintesi
Quando nella CLI MeshCore troviamo:
D2CE818E:2599:50“Ho ricevuto il neighbor D2CE818E circa 43 minuti fa con un SNR di circa +12,5 dB.”
Dietro tre numeri apparentemente poco comprensibili troviamo quindi informazioni utili per conoscere meglio ciò che il nostro nodo MeshCore sta realmente ascoltando via radio.
