Meshbell EN · FR · ES · DE · IT · PT · EL iPhone-Beta holen

Gemeinnützig · Kostenlos · Kein Ersatz für den Notruf und amtliche Rettungsdienste

Dokumentation

Meshbell ist ein Notfallinstrument im Maßstab einer Nachbarschaft. Verifizierung ist der Untergrund, keine Funktion. Diese Seite sagt, wie, und wo die Grenzen liegen.

Überblick

Eine Gefahrenwarnung in Meshbell ist ein kleiner signierter Datensatz. Er wird nach dem Hash seiner eigenen Bytes benannt, mit einem Geräteschlüssel signiert und nie verändert. Eine Korrektur ist ein neuer Datensatz, der auf den alten verweist, und genau das lässt eine Warnung und ihre Korrektur zusammen reisen und lässt jedes Gerät alles nachprüfen, was es empfängt.

Ihr Telefon hat zwei Verbindungen, und keine braucht das Internet

Das ist das ganze Verbindungsmodell, und im Tab Verbinden der App sehen Sie beide. Die dritte Zeile unten ist überhaupt keine Verbindung des Telefons: sie ist das, was die Funkgeräte untereinander tun, einen Sprung weiter draußen.

MediumWas es erreichtWie es startet
Bluetoothvon Ihrem TelefonEin Taschenfunkgerät: ein LoRa-Begleitknoten in Ihrer Tasche. Das ist der einzige Weg, auf dem ein Telefon auf Sendung geht, denn in keinem iPhone steckt ein LoRa-Funkgerät.Sie tippen auf Verbinden. Eine Suche kostet Akku und beansprucht das Funkgerät exklusiv, deshalb startet sie ein Mensch, nie die App.
Wi-Fivon Ihrem TelefonEine Nachbarschaftsbrücke: eine dauerhaft eingeschaltete Box im lokalen Netz, die den Datensatz hält und ihn an Telefone und Browser ausliefert.Automatisch beim Start. Die App sucht in dem Wi-Fi, in dem Sie gerade sind, nach einer Brücke, und für Netze, die die Suche blockieren, gibt es ein Feld für die Adresse von Hand.
LoRaFunkgerät zu FunkgerätDer lange Abschnitt. Zwei vorbereitete Personen mit Taschenfunkgeräten erreichen sich über die Straßenzüge hinweg, mit nichts dazwischen; jedes weitere Funkgerät gibt sie weiter.Nichts auf dem Telefon startet ihn. Ihr Telefon spricht nie LoRa, dieser Abschnitt beginnt also in dem Moment, in dem zwei Funkgeräte auf denselben Kanal abgestimmt sind, ob an einem von ihnen ein Telefon hängt oder nicht.

Die ganze Kette, von Anfang bis Ende: Ihr Telefon über Bluetooth zum Taschenfunkgerät in Ihrer Tasche, dieses Funkgerät über LoRa über die Straßenzüge hinweg zu einem anderen Funkgerät, dieses Funkgerät in eine Brücke, und die Brücke über Wi-Fi zu jedem Telefon und jedem Browser im Netz der Nachbarschaft.

Beide Verbindungen speisen ein Journal und einen Schlüsselbund. Ein Datensatz, der über Funk eintrifft, und einer, der über Wi-Fi eintrifft, landen im selben Journal und erhalten dieselbe Prüfung. Das Funkgerät auszuschalten hält den Empfang über die Brücke nicht an, denn das sind getrennte Wege zum selben Ort.

Alles oberhalb des Netzes ist so gebaut, dass der Verlust einer Verbindung, eines Servers oder eines Modells Sie eine Anmerkung kostet, nie die Warnung.

Welches davon sind Sie?

Es gibt drei Wege, bereit zu sein, und der Rest dieser Seite ist für alle drei geschrieben. Finden Sie Ihren, und lesen Sie dann zuerst seine Stationen.

Nur ein Telefon
Kostenlos, und genug zum Empfangen. Sie hören, was eine Brücke in Reichweite oder eine Internetverbindung Ihnen geben kann, und nichts ist auf Sendung, bis jemand in Ihrer Nähe ein Funkgerät hat. Lesen Sie den Überblick und Offline arbeiten, dann die Wege, sich vorzubereiten auf der Startseite.
Zwei Funkgeräte
Etwa $30 pro Stück, eines in Ihrer Tasche und eines in der eines Nachbarn. Das ist der lange Abschnitt: Sie beide erreichen sich quer durch die Nachbarschaft, ohne Mobilfunk, ohne Internet und mit nichts dazwischen, und jedes Funkgerät, das jemand anderes hinzufügt, gibt sie weiter. Lesen Sie Funkgeräte und Hardware und Funkbänder nach Region.
Ein Brückengastgeber
Eine dauerhaft eingeschaltete Box, ~$50-80, die aus dem eigenen Wi-Fi der Nachbarschaft eine Nachrichtenzentrale macht, der jeder Browser beitreten kann, ohne App und ohne Konto. Lesen Sie Eine Brücke einrichten, Was eine Brücke über Funk gesendet hat und Mehr als eine Brücke.

Das Vertrauensmodell

Meshbell hält zwei Fragen auseinander, denn es sind verschiedene Tatsachen, und sie zu verwischen ist der Weg, auf dem schlechte Informationen sich verbreiten.

FrageWas sie beantwortetWas sie sagen kann
Welcher Datensatz ist das, und ist er unversehrt?Die Inhaltsadresse und die Signaturprüfung, beide auf Ihrem Gerät ausgeführtgebunden · Vorschau · manipuliert
Wer hat ihn signiert, und kann ich das prüfen?Der Schlüsselbund auf Ihrem Gerätverifiziert · nicht prüfbar · gefälscht

Die zweite Achse hat absichtlich drei Werte. Eine Fälschung, gegen einen Schlüssel geprüft, den Sie besitzen, und durchgefallen, ist nicht dieselbe Tatsache wie ein unbekannter Schlüssel, bei dem es noch keine Möglichkeit zu prüfen gibt. Beide in ein Wort, „ungültig“, zusammenzuziehen würde genau den Unterschied verbergen, den ein Mensch braucht. Eine Nachricht wird nur dann als vertrauenswürdig gespeichert, wenn der Schlüsselbund verifiziert sagt.

Über Funk verifiziert, ohne vorherige Kopie

Ein kurzes Funk-Datenpaket ist eine Vorschau: ein Verweis auf einen Datensatz, angezeigt, aber nie als vertrauenswürdig behandelt und nie benutzt, um einen Inhalt zu erfinden. Ein Datensatz kann auch vollständig als selbst authentifizierender Umschlag gesendet werden, auf mehrere Datenpakete verteilt und auf der Gegenseite wieder zusammengesetzt. Ein Gerät, das den Datensatz noch nie gesehen hat, kann ihn dann neu aufbauen, seine Inhaltsadresse neu ableiten und seine Signatur prüfen und so in einer rein funkbasierten Nachbarschaft die Bewertung verifiziert erreichen, ohne irgendein Internet in der Kette.

Datenpakete treffen über LoRa ohne Authentifizierung ein, und die Fragmente eines geteilten Datensatzes sind auf dem Weg nicht signiert. Nur der wieder zusammengesetzte Datensatz wird verifiziert. Eine unvollständige Gruppe sagt das und bleibt eine Vorschau.

Die Anweisungs-Firewall

Das Einzige, was eine Notfall-App niemals tun darf, ist, ein Gerücht in eine Anordnung zu verwandeln. Meshbell setzt das in der Struktur des Codes durch, nicht durch Disziplin bei der Durchsicht.

Das Versprechen, in einer Zeile. Die App macht aus einem Gerücht niemals eine Anweisung, und dieser Satz ist eine Eigenschaft des Codes und keine Absichtserklärung.

Die Koordinationsebene

Verifizierte Warnungen beantworten, was passiert und ob Sie dem vertrauen können. Eine Nachbarschaft im Notfall hat außerdem gewöhnliche Logistik: wer erfasst ist, wo die Unterkunft ist, wer einen Generator hat. Meshbell trägt für diese Arbeit eine zweite, absichtlich getrennte Ebene, nativ im Tab Nachbarschaft der App und im Browser für alle ohne App.

Diese Ebene ist von Grund auf nicht verifiziert. Sie ist nicht inhaltsadressiert, nicht signiert und nicht Teil des Warnkanals. Sie ist veränderlicher gemeinsamer Zustand, den Nachbarn schreiben und ändern, behandeln Sie sie also wie eine an eine Tür geklebte Notiz. Die Anweisungs-Firewall gilt weiterhin: nichts hier kann als amtliche Anweisung erscheinen, und das Vertrauensmodell oben regelt nur Warnungen.

Was sie enthält

OberflächeWas es istForm des Datenschutzes
SicherheitsabfrageMeldung „Ich bin in Sicherheit“ mit einem Tippen. Alle sehen einen aggregierten Zählerstand gegen eine ungefähre Gesamtzahl der Haushalte.Keine Namen, Adressen oder Standorte und keine Namensliste. Der Zählerstand wird zurückgehalten, bis sich eine Handvoll gemeldet hat, damit kein einzelner Haushalt erschlossen werden kann.
RessourcenlistenGemeinsame, änderbare Listen: Unterkunft und Wärme, Wasser und Vorräte, Strom und Laden, und ein selbst eingetragenes „Wer kann helfen“. Einträge können eine Ortsangabe tragen.Alle an der Brücke können hinzufügen oder ändern. Nur Selbsteintrag. Niemand wird von jemand anderem eingetragen.
PinnwandKurze Beiträge, einem Kanal zugeordnet (Info, Angebot, Gesuch, Frage) und nach Aktualität gefiltert, veröffentlicht unter einem Namen, den Sie eintippen.Welchen Namen Sie eintippen. Kein Konto, keine verifizierte Identität.
Druckbare MomentaufnahmeEine einseitige Darstellung unter /coord/print von der Sicherheitsabfrage, den Listen und der letzten Pinnwand, für den Fall, dass die Akkus ausfallen.Dieselbe, nur aggregierte Sicherheitsabfrage, sie kann also ohne Risiko an eine echte Pinnwand geklebt werden.

Warum sie getrennt gehalten wird

Veränderliche Nachbarschaftsnotizen in ein signiertes Protokoll zu mischen, an das nur angefügt wird, würde beides zerstören. Der Koordinationsspeicher ist deshalb eine eigene Sache: nur im lokalen Netz, veränderlich, und von der Brücke neben dem verifizierten Warnstrom ausgeliefert statt darin. Ein Betreiber hält für die Pflege ein Admin-Token, etwa um Testdaten zu löschen oder eine überlaufende Pinnwand zu kürzen, und die Admin-Routen scheitern ohne es geschlossen. Zum Schreiben und Melden braucht es überhaupt keinen Nachweis. Die zwei Ebenen teilen einen Bildschirm, nie eine Vertrauensgrenze.

Offline arbeiten

Einschränkung ist der erwartete Zustand, kein Fehler. Wenn ein Datenweg ausfällt, liefert Meshbell die letzten als gut bekannten Daten aus, gekennzeichnet mit ihrem Alter, „Stand vor 40 Minuten“, statt einer Leerstelle, die sich sicher gibt. Die Stufe ohne Modell, ein altes Telefon ohne alles Schlaue darauf, ist eine vollwertige Produktstufe. Eine Notfall-App, die nur auf der neuesten Hardware läuft, lässt genau die Menschen im Stich, die sie am ehesten brauchen.

Der Empfang läuft weiter, während Meshbell im Hintergrund ist, und iOS kann es neu starten, um eine Funkverbindung zurückzugeben, nachdem es geschlossen wurde. Was das abdeckt und was nicht, steht unter Im Hintergrund zuhören. Es hat nie zugehört, wenn das Telefon ausgeschaltet war, und es wird das auch nicht behaupten.

Funkgeräte und Hardware

Meshbell läuft auf Ihrem Telefon allein. Funkgeräte erweitern seine Reichweite, wenn das Netz ausgefallen ist. Ein Mesh-Netz der Nachbarschaft wird aus günstiger LoRa-Hardware von der Stange gebaut, die die offene Firmware MeshCore ausführt.

TeilKostenRolle
Ein LoRa-Begleitfunkgerät, zum Beispiel ein Heltec-Knoten~$30Ihr Telefon koppelt sich über Bluetooth damit, um Meldungen zu senden und zu empfangen. Ein Begleitfunkgerät bedient ein Telefon zur selben Zeit. Wenn ein anderes Telefon oder eine andere App es hält, wird Ihnen das klar gesagt, statt dass sich etwas dreht.
Weitere Funkgeräte in der Nachbarschaft~$30 pro StückJedes ist ein Sprung, und jedes wiederholt einen Datensatz einmal und hört dann auf, damit der Funkkanal frei bleibt. Ab drei beginnt echte Reichweite über mehrere Sprünge, über Straßenzüge und Bergrücken hinweg.
Eine dauerhaft eingeschaltete Brücke, meist ein Raspberry Pi~$50-80Hält ein dauerhaftes Protokoll und liefert es über lokales Wi-Fi auf port 4190 aus. Sie nutzt eine Internetanbindung, wenn es eine gibt, und braucht keine.

Funkeinstellungen für die USA. Der Referenzprüfstand von Meshbell läuft auf 910.525 MHz, bw 62.5 kHz, sf7, cr 4/5, innerhalb des lizenzfreien Bands 902-928 MHz, mit einem Begleitverbindungs-Umschlag von 172 B. Lesen Sie die Konfiguration Ihres Funkgeräts immer zurück, bevor Sie senden. Die Voreinstellung der Region kann ein Band sein, für das Sie keine Zulassung haben.

Funkbänder nach Region

In Ihrem Telefon steckt kein LoRa-Funkgerät, es berührt das Band also nie. Diese Einstellung gehört der Firmware des Funkgeräts. Meshbell liest die Abstimmung beim Verbinden vom Funkgerät zurück, zeigt sie an und sagt klar, wenn das Funkgerät nicht auf dem Kanal ist, den Ihre Region nutzt.

910.525 MHz ist die nordamerikanische Station. Jede Region unten hat ihren eigenen Kanal, gelegt in das lizenzfreie Band, das diese Region erlaubt. Wo die MeshCore-Gemeinschaft einen empfohlenen Kanal für ein Land veröffentlicht, übernimmt Meshbell diesen Kanal und seine Einstellungen genau so, damit die MeshCore-Repeater, die dort schon stehen, Meshbell-Meldungen tragen können. Wo die Gemeinschaft keinen veröffentlicht hat, wählt Meshbell einen Kanal, der abseits des am stärksten belegten Teils des Bands liegt.

RegionBandMeshbell-KanalSendezeitanteil oder Hören vor dem Senden
Vereinigte Staaten und Kanada902-928 MHz910.525 MHzKeine Begrenzung des Sendezeitanteils, eine Brücke kann also so oft senden, wie sie muss. Bis 36 dBm, Antenne eingerechnet. Das ist die eigene Empfehlung von MeshCore für die Vereinigten Staaten und Kanada, deshalb können die MeshCore-Repeater, die hier schon stehen, Meshbell-Meldungen tragen.
Europa und Vereinigtes Königreich869.4-869.65 MHz869.618 MHz · sf8 · cr 4/8Sendezeitanteil von 10%, etwa sechs Minuten Sendezeit pro Stunde. Bis 29 dBm. Das Vereinigte Königreich wendet dieselben Grenzen an, es gibt dafür also keine eigene Einstellung. Das ist die eigene Empfehlung von MeshCore für Europa und das Vereinigte Königreich, deshalb können die MeshCore-Repeater, die hier schon stehen, Meshbell-Meldungen tragen.
Tschechien869.4-869.65 MHz869.432 MHzDerselbe Sendezeitanteil von 10% und dieselbe Obergrenze von 29 dBm wie in Europa, auf einem eigenen Kanal. Das ist die eigene Empfehlung von MeshCore für Tschechien, deshalb können die MeshCore-Repeater, die dort schon stehen, Meshbell-Meldungen tragen.
Niederlande869.4-869.65 MHz869.618 MHzDerselbe Sendezeitanteil von 10% und dieselbe Obergrenze von 29 dBm wie in Europa. Das ist die eigene Empfehlung von MeshCore für die Niederlande, deshalb können die MeshCore-Repeater, die dort schon stehen, Meshbell-Meldungen tragen. Der Kanal teilt die europäische Frequenz, läuft aber mit den Voreinstellungen sf7 und cr 4/5, die beiden hören sich also selbst auf derselben Frequenz nicht.
Portugal869.4-869.65 MHz869.618 MHz · cr 4/6Derselbe Sendezeitanteil von 10% und dieselbe Obergrenze von 29 dBm wie in Europa. Das ist die eigene Empfehlung von MeshCore für Portugal, deshalb können die MeshCore-Repeater, die dort schon stehen, Meshbell-Meldungen tragen. Der Kanal teilt die europäische Frequenz, läuft aber mit sf7 und cr 4/6, die beiden hören sich also selbst auf derselben Frequenz nicht.
Australien915-928 MHz916.575 MHz · cr 4/8Keine Begrenzung des Sendezeitanteils. Bis 30 dBm. Das Band beginnt hier bei 915 MHz, der nordamerikanische Kanal ist hier also nicht zulässig. Das ist die eigene Empfehlung von MeshCore für Australien, deshalb können die MeshCore-Repeater, die dort schon stehen, Meshbell-Meldungen tragen.
Neuseeland915-928 MHz917.375 MHzKeine Begrenzung des Sendezeitanteils. Bis 30 dBm. Das Band beginnt auch hier bei 915 MHz, der nordamerikanische Kanal ist hier also nicht zulässig. Das ist die eigene Empfehlung von MeshCore für Neuseeland, deshalb können die MeshCore-Repeater, die dort schon stehen, Meshbell-Meldungen tragen.
Brasilien915-928 MHz923.125 MHz · sf8 · cr 4/8Keine Begrenzung des Sendezeitanteils. Bis 30 dBm. Das ist die eigene Empfehlung von MeshCore für Brasilien, deshalb können die MeshCore-Repeater, die dort schon stehen, Meshbell-Meldungen tragen.
Südostasien920-923 MHz921.875 MHzSendezeitanteil von 10% im strengsten Land der Gruppe. Bis 17 dBm. Eine gemeinsame Einstellung für Thailand, Singapur, Malaysia und Indonesien, prüfen Sie also Ihr eigenes Land, bevor Sie eine Brücke laufen lassen. Die Gemeinschaft veröffentlicht für diese Länder keinen Kanal, dieser ist deshalb Meshbells eigener, gewählt abseits des am stärksten belegten Teils des Fensters.
Vietnam920-923 MHz920.25 MHz · sf8Sendezeitanteil von 10%. Bis 17 dBm, und die Regeln bewegen sich hier, prüfen Sie also die aktuellen, bevor Sie eine Brücke laufen lassen. Das ist die eigene Empfehlung von MeshCore für Vietnam, deshalb können die MeshCore-Repeater, die dort schon stehen, Meshbell-Meldungen tragen.
Indien865-868 MHz866.5 MHzSendezeitanteil von 1%, etwa 36 Sekunden Sendezeit pro Stunde. Bis 16 dBm. Das Funkgerät kann sich selbst nicht an eine so enge Grenze halten, die Brücke muss sich deshalb selbst rationieren. Die Gemeinschaft veröffentlicht für Indien keinen Kanal, dieser ist deshalb Meshbells eigener, gewählt abseits des am stärksten belegten Teils des Bands.
Südkorea920.9-923.3 MHz921.4 MHzKeine Begrenzung des Sendezeitanteils, aber das Funkgerät muss hören, bevor es sendet. Bis 23 dBm.
Japan920.6-928 MHz924.6 MHz · bw 125 kHzSendezeitanteil von 10% und ein Hören vor jeder Sendung. Bis 16 dBm. Die größere Bandbreite hält eine einzelne Sendung kurz genug für die japanischen Regeln.
Russland864-865 MHz864.5 MHzSendezeitanteil von 0.1%, etwa 3.6 Sekunden Sendezeit pro Stunde, es sei denn, das Funkgerät hört, bevor es sendet. Bis 16 dBm.

Wenn eine Zeile nichts anderes sagt, läuft ein Kanal mit sf7, cr 4/5 und bw 62.5 kHz. Eine Zeile, die einem MeshCore-Kanal folgt, trägt, was dieser Kanal nutzt, und darum zeigen mehrere einen anderen Spreizfaktor oder eine andere Coderate, und Japan läuft mit bw 125 kHz, um in die japanischen Regeln zu passen. Zwei Funkgeräte hören sich nur, wenn Frequenz, Bandbreite, Spreizfaktor und Coderate alle übereinstimmen.

Funkgeräte gibt es in zwei Familien, eine geschnitten für 902-928 MHz und eine für 863-870 MHz, und zusammen decken sie jede Region auf dieser Liste ab, aber Chinas Band 470 MHz braucht einen anderen Funkchip und eine andere Antenne, es ist also keine Einstellung, auf die jemand umschalten kann.

Drei Regionen sind nicht bereit. Japan, Südkorea und Russland erwarten ein Funkgerät, das hört, bevor es sendet, und die MeshCore-Firmware tut das noch nicht, diese drei bleiben deshalb aus, bis sie es tut. Eine Region trägt auch eine Leistungsobergrenze, und die Leistung ist eine eigene Einstellung am Funkgerät, den Kanal zu wechseln ist also nicht dasselbe wie die Leistung zu senken. Lesen Sie die Konfiguration Ihres Funkgeräts immer zurück, bevor Sie senden.

Eine Brücke einrichten

Eine Brücke ist ein dauerhaft eingeschalteter Knoten in der Nachbarschaft, meist ein Raspberry Pi, der die verifizierten Warnungen und die Koordinationsebene über lokales Wi-Fi trägt, damit das Telefon oder der Browser jedes Nachbarn sie ohne Mobilfunk und ohne Internet erreicht. Sie ist die zweite der zwei Verbindungen des Telefons: Bluetooth erreicht ein Taschenfunkgerät, Wi-Fi erreicht eine Brücke, und beide funktionieren ohne jedes Internet.

Das eigene WLAN der Brücke, damit ein Nachbar nichts braucht

Mit einem zweiten WLAN-Adapter betreibt die Brücke ihr eigenes offenes Netz, benannt meshbell- und dann Ihre Straße. Es ist absichtlich eine Sackgasse: es erreicht die Brücke und sonst nichts, nicht das Haus, nicht das Internet, nicht die anderen Telefone darin. Ein Nachbar braucht keine App und geht vier Schritte. Treten Sie dem WLAN bei, dessen Name mit meshbell- beginnt. Eine Seite öffnet sich von selbst, so wie ein Hotelnetz seine Anmeldeseite öffnet; tippen Sie auf Weiter. Fragt das Telefon nach dem Internet, tippen Sie auf Ohne Internet verwenden, denn dieses Netz hat absichtlich keines. Schließen Sie die Seite, öffnen Sie einen Browser und tippen Sie meshbell.lan. Richten Sie das Netz einmal ein mit sudo ./install-ap.sh --interface wlan1 --ssid meshbell-oak-st.

Wenn Sie der Gastgeber sind, ein vorbereiteter Nachbar

Das Installationsprogramm ist in der App enthalten und wird direkt von Ihrem Telefon exportiert, es wird also nichts heruntergeladen. Entpacken Sie es auf dem Pi, führen Sie das Installationsskript aus, und es gibt die Adresse aus, die Sie weitergeben. Der Knoten kommt in sich geschlossen hoch: er liefert die Koordinationsbildschirme, eine installierbare Web-App für Nachbarn mit nichts als einem Browser, einen QR-Code dieser Adresse und eine Admin-Ansicht für die Pflege. Er kündigt sich im lokalen Netz als _meshbell._tcp an, und das Suchen macht die App. Es gibt nichts von Hand einzustellen und kein Konto anzulegen.

Wenn Sie ein Nachbar sind, der noch nie von einem Mesh-Netz gehört hat

Gehen Sie in das Wi-Fi der Nachbarschaft und öffnen Sie den Tab „Nachbarschaft“. Die App sucht die Brücke von selbst und verbindet sich. Wenn die Suche eine Hilfe braucht, stellt sie die einfachen Fragen, ist das das richtige Netz und ist die Brücke wach, und bietet ein Feld für die Adresse von Hand. Wenn ein Computer die Brücke erreicht, dieses Telefon aber nicht, sind die beiden fast immer in verschiedenen Wi-Fi-Netzen.

Die Brücke liefert aus, sie entscheidet nie. Eine Brücke kann eine verifizierte Warnung weitergeben, aber sie kann sie nicht wahr machen. Signaturen werden auf Ihrem eigenen Gerät geprüft, und in einem einfachen Browser werden sie in diesem Browser geprüft. Eine übernommene oder böswillige Brücke kann Nachrichten verwerfen oder verzögern. Sie kann nie eine vertrauenswürdige fälschen. Deshalb wohnt das Vertrauensmodell auf dem Telefon und nicht auf dem Knoten.

Im Hintergrund zuhören

Das Telefon hält die Funkverbindung, während Meshbell im Hintergrund ist, und iOS kann Meshbell neu starten, um eine Verbindung zurückzugeben, nachdem die App geschlossen wurde. Drei Dinge lassen das gemeinsam funktionieren: das System bewahrt die Bluetooth-Verbindung, die App bittet darum, mit ihr wiederhergestellt zu werden, und sie erinnert sich daran, dass Sie das Funkgerät verbunden haben wollten, damit sie den Verbindungsaufbau erneut durchführen kann, den die Firmware bei jeder neuen Verbindung verlangt.

Die ehrliche Grenze davon. iOS kann die App trotzdem anhalten, und ein Begleitfunkgerät bedient ein Telefon zur selben Zeit, ein Funkgerät, das ein anderes Telefon hält, steht Ihrem also nicht zur Verfügung. Das Zuhören im Hintergrund übersteht auch kein ausgeschaltetes Telefon. Was es bedeutet, ist: eine Meldung, die eintrifft, während das Telefon in der Tasche steckt, wird ausgeliefert und nicht verpasst.

Was eine Brücke über Funk gesendet hat

Zwei Tatsachen, die man leicht für eine hält: das Funkgerät hat eine Nachricht angenommen, und die Nachricht ist tatsächlich hinausgegangen. Die erste ist das, was ein Telefon erfährt, wenn es Datenpakete an ein Begleitfunkgerät übergibt. Die zweite wird an den eigenen Sendezählern der Firmware des Funkgeräts gemessen, und die liest nur eine Brücke.

Eine Brücke führt über alles, was sie sendet, einen Nachweis: was gesendet wurde, wer es signiert hat, welche Verbindung es getragen hat, in wie viele Teile es geschnitten wurde, den Kanal, und ob die Zähler bestätigt haben, dass es die Antenne verlassen hat. Die App zeigt diese Nachweise auf dem Bildschirm Was gesendet wurde, wenn eine Brücke verbunden ist.

Auf der Seite des Telefons gibt es keinen Nachweis, und Meshbell erfindet keinen. Wenn Sie eine Meldung aus der App senden, bestätigen oder ihr widersprechen, sagt sie Ihnen, dass das Funkgerät Ihre Nachricht angenommen hat, und sagt klar, dass sie nicht bestätigen kann, dass sie gesendet wurde. Ein Datenpaket, das in die Runde geflutet wird, hat keine Empfängeradresse, deshalb quittiert es nichts. Eine Auslieferung zu behaupten wäre die schmeichelnde Antwort, nicht die wahre.

Einfacher Text von anderen Funkgeräten

MeshCore-Funkgeräte tragen gewöhnliche Textnachrichten zwischen Menschen, die Meshbell nicht nutzen. Eine Brücke kann diesen Verkehr hören, und sie hält ihn streng vom verifizierten Warnstrom getrennt. Er wird als nicht signiert gekennzeichnet, und das ist absichtlich ein anderes Wort als nicht prüfbar: eine nicht verifizierte Meldung ist ein signierter Datensatz, dessen Schlüssel dieses Gerät nicht besitzt, während einfacher Text überhaupt keine Signatur trägt.

Kanalnachrichten tragen keinen Absenderschlüssel, ein im Text eingetippter Name ist deshalb keine Identität, und Meshbell behandelt ihn nie als eine. Dieser Verkehr wird nie gespeichert, erscheint nie im verifizierten Warnstrom, zählt nie zur Bestätigung von irgendetwas und kann nie zu einer Warnung werden. Die Brücke meldet, wie viel davon sie gehört hat, und nicht mehr.

Funkgeräte, die für sich selbst signieren

Ein MeshCore-Funkgerät besitzt seinen eigenen Signaturschlüssel, und die Firmware signiert damit. Ein Brückenbetreiber kann ein Funkgerät hinterlegen, nachdem das Funkgerät nachgewiesen hat, dass es den Schlüssel besitzt, und von da an kann dieses Funkgerät eine signierte Meldung ohne jedes Telefon verfassen: ein Notrufknopf an der Tür oder ein Signalgeber, der einen Zustand meldet.

Ein Gerät signiert als Gerät. Es liefert ein Signal und erteilt nie eine Freigabe, denn ein Kasten ist keine Person, und ein Funkgerät in der Hand zu haben ist nicht dasselbe, wie den Schlüssel eines Menschen zu haben. Überall, wo die App zeigt, wer einen Datensatz signiert hat, sagt ein von einem Gerät signierter Datensatz genau das.

Ein gestohlenes Funkgerät ist ein gestohlener Schlüssel. Ein Telefonschlüssel wird vom Telefon geschützt. Der Schlüssel eines Funkgeräts wird vom Funkgerät geschützt, und das ist ein kleiner Gegenstand, der draußen lebt und vielleicht keine PIN hat. Hinterlegen Sie ein Funkgerät nur, wenn Sie für alles einstehen wollen, was es signiert, und widerrufen Sie es in dem Moment, in dem es verschwindet. Ein Widerruf hält eine Brücke davon ab, Neues von ihm anzunehmen; er nimmt nicht zurück, was schon weitergegeben wurde.

Mehr als eine Brücke

Ihr Telefon unter mehreren Brücken

In einer Nachbarschaft können am Ende mehr als eine Brücke stehen. Die App sammelt jede Brücke, die sie finden kann, bevorzugt die, die am besten antwortet, und wechselt zu einer anderen, wenn die aktuelle verstummt. Eine Adresse, die Sie selbst eingetippt haben, gewinnt immer gegen eine, die gefunden wurde.

Brücken, die miteinander verbunden sind

Zwei Brücken, die sich in einem Netz erreichen, teilen, was sie gehört haben, die Nachbarschaft nebenan kommt also dazu, ohne dass jemand etwas neu eingibt. Einer verbundenen Brücke wird von Grund auf nicht vertraut: alles, was sie übergibt, geht durch dieselbe Signaturprüfung wie alles andere, bevor es gespeichert wird, eine schlechte Partnerbrücke kann also den Speicherplatz einer Brücke verschwenden und kann einem Nachbarn nie eine falsche Meldung vorlegen.

Nachbarn verbinden Brücken auf den gewöhnlichen Wegen: ein zweiter Wi-Fi-Adapter im Pi, ein Gastnetz im Haus daneben oder ein Paar gerichteter Wi-Fi-Geräte zwischen zwei Dächern.

Brücken zu verbinden erweitert die Abdeckung, nicht die Widerstandsfähigkeit. Wi-Fi läuft über den Netzstrom, und der Netzstrom ist das Erste, was ein Notfall nimmt. Verbundene Brücken helfen an einem gewöhnlichen Tag und an dem sehr häufigen Tag, an dem das Internet weg ist, das Licht aber brennt. Sie sind kein Weg, im Stromausfall weiter zu reichen. Ohne Strom und ohne Netz weiter zu reichen, dafür ist das Funkgerät da.

Meshtastic-Funkgeräte erreichen

Meshtastic ist das andere weit verbreitete LoRa-Mesh-Netz, und die zwei Firmwares können sich über Funk selbst auf derselben Frequenz nicht hören, weil die Paketformate verschieden sind. Eine Brücke kann Meshbell-Meldungen trotzdem auf ein Meshtastic-Funkgerät tragen, über eine Verbindung, die aus dem veröffentlichten Nachrichtenformat geschrieben wurde, ohne Code aus dem Meshtastic-Projekt, und darum steckt nichts davon in der App.

Sie läuft nur auf der Brücke und ist aus, bis ein Betreiber sie einschaltet. Menschen, die die serienmäßige Meshtastic-App nutzen, sehen nichts: Meshbell läuft auf einer privaten Kanalnummer, die ihre App nicht anzeigt. Es ist ein Weg, einen Nachbarn zu erreichen, der schon ein Meshtastic-Funkgerät bei sich trägt, kein Weg, mit dem Meshtastic-Netz im Ganzen zu sprechen.

Architektur

Die Fachlogik ist rein und portierbar. Sie baut und testet sich auf einem Raspberry Pi, ohne Apple-Hardware in der Kette, sodass die Teile, die entscheiden, ob eine Nachricht vertrauenswürdig ist, laufend geprüft werden und nicht nur zur Veröffentlichung. Die iOS-App ist eine dünne Darstellungsschicht darüber.

Ehrliche Grenzen

Klar gesagt, denn ein Notfallwerkzeug, das sich überverkauft, ist gefährlich.