Meshbell EN · FR · ES · DE · IT · PT · EL Ottieni la beta per iPhone

Senza scopo di lucro · Gratuito · Non sostituisce i servizi di emergenza ufficiali

Documentazione

Meshbell è uno strumento di emergenza su scala di quartiere. La verifica è il substrato, non una funzione. Questa pagina dice come, e dove stanno i confini.

Panoramica

In Meshbell un avviso di pericolo è un piccolo documento firmato. È denominato dall'hash dei propri byte, firmato con una chiave del dispositivo, e mai modificato. Una correzione è un nuovo documento che rimanda a quello vecchio, ed è questo che permette a un avviso e alla sua correzione di viaggiare insieme e permette a qualsiasi dispositivo di ricontrollare tutto ciò che riceve.

Il tuo telefono ha due collegamenti, e nessuno dei due ha bisogno di internet

Questo è tutto il modello di connessione, e la scheda Connessione dell'app è il posto dove li vedi entrambi.

CollegamentoCosa raggiungeCome si avvia
BluetoothUna radio da tasca: un nodo LoRa complementare nella tua borsa. È l'unico modo in cui un telefono va in onda, perché nessun iPhone ha una radio LoRa al suo interno.Tocchi Connessione. Una scansione consuma batteria e prende un accesso esclusivo alla radio, quindi la avvia una persona, mai l'app.
Wi-FiUn ponte di quartiere: una scatola sempre accesa sulla rete locale, che conserva il documento e lo serve a telefoni e browser.Automaticamente all'avvio. L'app cerca un ponte su qualunque Wi-Fi tu sia, e c'è un campo per l'indirizzo manuale per le reti che bloccano il rilevamento.

Entrambi i collegamenti alimentano un solo registro e un solo portachiavi. Un documento che arriva via radio e uno che arriva via Wi-Fi finiscono nello stesso registro e ricevono lo stesso controllo. Spegnere la radio non ferma la ricezione dal ponte, perché sono percorsi separati verso lo stesso posto.

Tutto ciò che sta sopra la rete è costruito perché perdere una connessione, un server o un modello ti costi un'annotazione, mai l'allerta.

Il modello di fiducia

Meshbell tiene separate due domande, perché sono fatti diversi e confonderli è il modo in cui si diffonde l'informazione sbagliata.

DomandaCosa rispondeCosa può dire
Di quale documento si tratta, ed è intatto?L'indirizzo di contenuto e il controllo della firma, eseguiti entrambi sul tuo dispositivovincolato · anteprima · alterato
Chi lo ha firmato, e posso verificarlo?Il portachiavi sul tuo dispositivoverificato · impossibile verificare · falsificato

Il secondo asse ha deliberatamente tre valori. Una falsificazione, controllata rispetto a una chiave che possiedi e risultata fallita, non è lo stesso fatto di una chiave sconosciuta, con la quale non c'è ancora modo di verificare. Riunirli in una sola parola, «non valido», nasconderebbe esattamente la distinzione di cui una persona ha bisogno. Un messaggio viene conservato come affidabile solo quando il portachiavi dice verificato.

Verificato direttamente in onda, senza nessuna copia precedente

Una breve trama radio è un'anteprima: un puntatore a un documento, mostrato ma mai considerato affidabile e mai usato per inventare un contenuto. Un documento può anche essere inviato per intero come busta auto-autenticante, divisa su più trame e riassemblata dall'altra parte. Un dispositivo che non ha mai visto prima quel documento può allora ricostruirlo, ricalcolare il suo indirizzo di contenuto e controllare la sua firma, arrivando a un verdetto verificato in un quartiere di sola radio, senza nessun internet nel giro.

Le trame arrivano senza autenticazione via LoRa, e i frammenti di un documento diviso non sono firmati in transito. Solo il documento riassemblato viene verificato. Un gruppo incompleto lo dice e resta un'anteprima.

La barriera per le istruzioni

L'unica cosa che un'app di emergenza non deve mai fare è trasformare una diceria in un ordine. Meshbell lo impone nella struttura del codice, non con la disciplina delle revisioni.

La promessa, in una riga. L'app non trasforma mai una diceria in un'istruzione, e quella frase è una proprietà del codice più che una dichiarazione d'intenti.

Il livello di coordinamento

Le allerte verificate rispondono a cosa sta succedendo e a quanto puoi fidartene. Un quartiere in emergenza ha anche una logistica ordinaria: chi è stato contato, dov'è il rifugio, chi ha un generatore. Meshbell trasporta un secondo livello, deliberatamente separato, per questo lavoro, nativo nella scheda Quartiere dell'app e in un browser per chi non ha l'app.

Questo livello non è verificato per scelta progettuale. Non è indirizzato per contenuto, non è firmato e non fa parte del canale delle allerte. È uno stato condiviso modificabile che i vicini scrivono e correggono, quindi trattalo come un biglietto attaccato a una porta. La barriera per le istruzioni resta valida: qui niente può essere mostrato come un'istruzione ufficiale, e il modello di fiducia qui sopra governa soltanto le allerte.

Cosa contiene

SuperficieChe cos'èForma della privacy
Appello di sicurezzaConferma «sono al sicuro» con un tocco. Tutti vedono un conteggio aggregato rispetto a un totale approssimativo di famiglie.Nessun nome, nessun indirizzo, nessuna posizione e nessun elenco nominativo. Il conteggio viene trattenuto finché non ha confermato un piccolo gruppo di persone, così non si può dedurre una singola famiglia.
Liste di risorseListe condivise e modificabili: rifugio e riscaldamento, acqua e provviste, corrente e ricarica, e una lista «chi può aiutare» in cui ognuno si iscrive da sé. Gli elementi possono portare un'etichetta di luogo.Chiunque sia sul ponte può aggiungere o modificare. Solo iscrizione volontaria. Nessuno viene inserito da qualcun altro.
BachecaMessaggi brevi etichettati con un canale (info, offerta, richiesta, domanda) e filtrati per quanto sono recenti, pubblicati con un nome che scrivi tu.Il nome che scrivi tu. Nessun account, nessuna identità verificata.
Istantanea stampabileUna pagina /coord/print che rende l'appello, le liste e gli ultimi messaggi in bacheca, per quando le batterie si scaricano.Lo stesso appello, solo aggregato, quindi si può attaccare senza rischi a una bacheca fisica.

Perché è tenuto separato

Mescolare note modificabili dei vicini in un registro di allerte firmato e a solo accodamento romperebbe entrambe le cose. Quindi l'archivio di coordinamento è una cosa a sé: solo rete locale, modificabile, e servito dal ponte accanto al flusso verificato invece che al suo interno. Un operatore possiede un token di amministrazione per la manutenzione, per esempio cancellare dati di prova o sfoltire una bacheca fuori controllo, e senza quel token le rotte di amministrazione si chiudono. Pubblicare e confermare non richiedono nessuna credenziale. I due livelli condividono una schermata, mai un confine di fiducia.

Funzionamento offline

Il degrado è lo stato previsto, non un errore. Quando un percorso dati è fuori servizio, Meshbell serve gli ultimi dati validi noti etichettati con la loro età, «aggiornato a 40 minuti fa», invece di un vuoto dall'aria sicura. Il livello senza modelli, un telefono vecchio senza niente di sofisticato sopra, è un livello di prodotto di prima classe. Un'app di emergenza che funziona solo sull'hardware più recente tradisce proprio le persone che ne hanno più bisogno.

La ricezione funziona mentre l'app è aperta. Meshbell non ascolta in background né quando è stata chiusa, e non dirà mai il contrario.

Radio e hardware

Meshbell funziona anche solo sul tuo telefono. Le radio ne estendono la portata quando la rete è fuori servizio. Una rete mesh di quartiere si costruisce con hardware LoRa economico e già pronto, che esegue il firmware aperto MeshCore.

PezzoCostoRuolo
Una radio LoRa complementare, per esempio un nodo Heltec~$30Il tuo telefono si abbina a essa via Bluetooth per inviare e ricevere bollettini. Una radio complementare serve un telefono alla volta. Se un altro telefono o un'altra app la tiene occupata, al tuo viene detto chiaramente invece di girare a vuoto.
Altre radio in giro per il quartiere~$30 ciascunaOgnuna è un salto, e ognuna ripete un documento una volta sola e poi si ferma, così l'aria resta libera. Tre o più iniziano a offrire una vera portata multi-salto tra gli isolati e oltre i crinali.
Un ponte sempre acceso, di solito un Raspberry Pi~$50-80Conserva un registro duraturo e lo serve sul Wi-Fi locale su port 4190. Userà un collegamento a internet quando ce n'è uno, e non ne ha bisogno.

Impostazioni radio per gli Stati Uniti. Il banco di prova di riferimento di Meshbell funziona a 910.525 MHz, bw 62.5 kHz, sf7, cr 4/5, all'interno della banda libera da licenza 902-928 MHz, con una busta del collegamento complementare di 172 B. Rileggi sempre la configurazione della tua radio prima di trasmettere. L'impostazione predefinita della regione potrebbe essere una banda che non sei autorizzato a usare.

Bande radio per regione

Il tuo telefono non ha una radio LoRa al suo interno, quindi non tocca mai la banda. È il firmware della radio a possedere quell'impostazione. Meshbell rilegge la sintonia dalla radio quando si connette, la mostra, e dice chiaramente quando la radio non è sul canale che usa la tua regione.

910.525 MHz è la stazione nordamericana. Ogni regione qui sotto ha il proprio canale, collocato dentro la banda libera da licenza che quella regione consente. Dove la comunità MeshCore pubblica un canale consigliato per un paese, Meshbell adotta quel canale e le sue impostazioni esattamente, così i ripetitori MeshCore già presenti lì possono trasportare i bollettini Meshbell. Dove la comunità non ne ha pubblicato nessuno, Meshbell sceglie un canale che sta lontano dalla parte più affollata della banda.

RegioneBandaCanale MeshbellCiclo di lavoro o ascolto prima di trasmettere
Stati Uniti e Canada902-928 MHz910.525 MHzNessun limite di ciclo di lavoro, quindi un ponte può segnalarsi tutte le volte che serve. Fino a 36 dBm, antenna compresa. È la raccomandazione di MeshCore stessa per gli Stati Uniti e il Canada, quindi i ripetitori MeshCore già presenti qui possono trasportare i bollettini Meshbell.
Europa e Regno Unito869.4-869.65 MHz869.618 MHz · sf8 · cr 4/8Ciclo di lavoro del 10%, circa sei minuti di trasmissione all'ora. Fino a 29 dBm. Il Regno Unito applica gli stessi limiti, quindi non ha un'impostazione separata. È la raccomandazione di MeshCore stessa per l'Europa e il Regno Unito, quindi i ripetitori MeshCore già presenti qui possono trasportare i bollettini Meshbell.
Repubblica Ceca869.4-869.65 MHz869.432 MHzLo stesso ciclo di lavoro del 10% e lo stesso tetto di 29 dBm dell'Europa, su un canale tutto suo. È la raccomandazione di MeshCore stessa per la Repubblica Ceca, quindi i ripetitori MeshCore già presenti lì possono trasportare i bollettini Meshbell.
Paesi Bassi869.4-869.65 MHz869.618 MHzLo stesso ciclo di lavoro del 10% e lo stesso tetto di 29 dBm dell'Europa. È la raccomandazione di MeshCore stessa per i Paesi Bassi, quindi i ripetitori MeshCore già presenti lì possono trasportare i bollettini Meshbell. Condivide la frequenza dell'Europa ma usa i valori predefiniti sf7 e cr 4/5, quindi i due non si sentono tra loro nemmeno sulla stessa frequenza.
Portogallo869.4-869.65 MHz869.618 MHz · cr 4/6Lo stesso ciclo di lavoro del 10% e lo stesso tetto di 29 dBm dell'Europa. È la raccomandazione di MeshCore stessa per il Portogallo, quindi i ripetitori MeshCore già presenti lì possono trasportare i bollettini Meshbell. Condivide la frequenza dell'Europa ma usa sf7 e cr 4/6, quindi i due non si sentono tra loro nemmeno sulla stessa frequenza.
Australia915-928 MHz916.575 MHz · cr 4/8Nessun limite di ciclo di lavoro. Fino a 30 dBm. Qui la banda parte da 915 MHz, quindi il canale nordamericano non è legale. È la raccomandazione di MeshCore stessa per l'Australia, quindi i ripetitori MeshCore già presenti lì possono trasportare i bollettini Meshbell.
Nuova Zelanda915-928 MHz917.375 MHzNessun limite di ciclo di lavoro. Fino a 30 dBm. Anche qui la banda parte da 915 MHz, quindi il canale nordamericano non è legale. È la raccomandazione di MeshCore stessa per la Nuova Zelanda, quindi i ripetitori MeshCore già presenti lì possono trasportare i bollettini Meshbell.
Brasile915-928 MHz923.125 MHz · sf8 · cr 4/8Nessun limite di ciclo di lavoro. Fino a 30 dBm. È la raccomandazione di MeshCore stessa per il Brasile, quindi i ripetitori MeshCore già presenti lì possono trasportare i bollettini Meshbell.
Asia sudorientale920-923 MHz921.875 MHzCiclo di lavoro del 10%, quello del paese più severo del gruppo. Fino a 17 dBm. Un'unica impostazione raggruppata per Thailandia, Singapore, Malaysia e Indonesia, quindi controlla il tuo paese prima di lasciare un ponte acceso. La comunità non pubblica nessun canale per questi paesi, quindi questo è di Meshbell, scelto lontano dalla parte più affollata della finestra.
Vietnam920-923 MHz920.25 MHz · sf8Ciclo di lavoro del 10%. Fino a 17 dBm, e qui le regole cambiano, quindi controlla quelle in vigore prima di lasciare un ponte acceso. È la raccomandazione di MeshCore stessa per il Vietnam, quindi i ripetitori MeshCore già presenti lì possono trasportare i bollettini Meshbell.
India865-868 MHz866.5 MHzCiclo di lavoro dell'1%, circa 36 secondi di trasmissione all'ora. Fino a 16 dBm. La radio non riesce a rispettare da sola un limite così stretto, quindi è il ponte a doversi razionare. La comunità non pubblica nessun canale per l'India, quindi questo è di Meshbell, scelto lontano dalla parte più affollata della banda.
Corea del Sud920.9-923.3 MHz921.4 MHzNessun limite di ciclo di lavoro, ma la radio deve ascoltare prima di trasmettere. Fino a 23 dBm.
Giappone920.6-928 MHz924.6 MHz · bw 125 kHzCiclo di lavoro del 10% e un ascolto prima di ogni trasmissione. Fino a 16 dBm. È la larghezza di banda maggiore a tenere una singola emissione abbastanza breve per le regole giapponesi.
Russia864-865 MHz864.5 MHzCiclo di lavoro dello 0.1%, circa 3.6 secondi di trasmissione all'ora, a meno che la radio non ascolti prima di trasmettere. Fino a 16 dBm.

Se una riga non dice altrimenti, un canale usa sf7, cr 4/5 e bw 62.5 kHz. Una riga che segue un canale MeshCore porta quello che usa quel canale, ed è per questo che diverse mostrano un fattore di spreading o un tasso di codifica diverso, e il Giappone usa bw 125 kHz per rientrare nelle regole giapponesi. Due radio si sentono tra loro solo quando frequenza, larghezza di banda, fattore di spreading e tasso di codifica coincidono tutti.

Le radio esistono in due famiglie, una tagliata per 902-928 MHz e una tagliata per 863-870 MHz, e insieme coprono tutte le regioni di questo elenco, ma la banda cinese 470 MHz richiede un chip radio diverso e un'antenna diversa, quindi non è un'impostazione su cui si possa passare.

Tre regioni non sono pronte. Giappone, Corea del Sud e Russia si aspettano una radio che ascolti prima di trasmettere, e il firmware MeshCore non lo fa ancora, quindi quelle tre restano disattivate finché non lo farà. Una regione porta anche un tetto di potenza, e la potenza è un'impostazione separata sulla radio, quindi cambiare canale non è la stessa cosa che abbassare la potenza. Rileggi sempre la configurazione della tua radio prima di trasmettere.

Configurare un ponte

Un ponte è un nodo sempre acceso sulla strada, di solito un Raspberry Pi, che trasporta il flusso verificato e il livello di coordinamento sul Wi-Fi locale, così il telefono o il browser di ogni vicino può raggiungerli senza rete cellulare e senza internet. È il secondo dei due collegamenti del telefono: il Bluetooth raggiunge una radio da tasca, il Wi-Fi raggiunge un ponte, ed entrambi funzionano senza nessun internet.

Se sei tu l'ospite, un vicino preparato

Il programma di installazione è incluso nell'app e viene esportato direttamente dal tuo telefono, quindi non si scarica niente. Scompattalo sul Pi, esegui lo script di installazione, e ti mostrerà l'indirizzo da distribuire. Il nodo si avvia autosufficiente: serve le schermate di coordinamento, un'app web installabile per i vicini che hanno solo il browser, un codice QR di quell'indirizzo e una vista di amministrazione per la manutenzione. Si annuncia sulla rete locale come _meshbell._tcp, e a trovarlo ci pensa l'app. Non c'è niente da configurare a mano e nessun account da creare.

Se sei un vicino che non ha mai sentito parlare di rete mesh

Collegati al Wi-Fi della strada e apri la scheda Quartiere. L'app cerca il ponte da sola e si connette. Quando il rilevamento ha bisogno di una mano, fa le domande semplici, è questa la rete giusta ed è acceso il ponte, e offre un campo per l'indirizzo manuale. Se un computer riesce a raggiungere il ponte ma questo telefono no, quasi sempre i due sono su reti Wi-Fi diverse.

Il ponte consegna, non decide mai. Un ponte può far passare un'allerta verificata, ma non può renderla vera. Le firme vengono controllate sul tuo dispositivo, e in un semplice browser vengono controllate in quel browser. Un ponte compromesso o malevolo può scartare o ritardare i messaggi. Non può mai falsificarne uno affidabile. Ecco perché il modello di fiducia sta sul telefono e non sul nodo.

Architettura

La logica di dominio è pura e portabile. Si compila e si collauda su un Raspberry Pi senza nessun hardware Apple nel ciclo, quindi le parti che decidono se un messaggio è affidabile vengono verificate di continuo e non solo al momento del rilascio. L'app iOS è un sottile strato di visualizzazione sopra di essa.

Limiti dichiarati

Detti chiaramente, perché uno strumento di emergenza che si vanta più di quello che è diventa pericoloso.