Meshbell EN · FR · ES · DE · IT · PT · EL Obtenir Meshbell

À but non lucratif · Gratuit · Ne remplace pas les services d'urgence officiels

Documentation

Meshbell est un instrument d'urgence à l'échelle du quartier. La vérification est le socle, pas une fonctionnalité. Cette page dit comment, et où sont les limites.

Aperçu

Dans Meshbell, un avertissement de danger est un petit enregistrement signé. Il est nommé par le hachage de ses propres octets, signé avec une clé d'appareil, et jamais modifié. Une correction est un nouvel enregistrement qui pointe vers l'ancien, ce qui permet à un avertissement et à sa correction de voyager ensemble et permet à n'importe quel appareil de recontrôler tout ce qu'il reçoit.

Votre téléphone a deux liaisons, et aucune n'a besoin d'internet

C'est tout le modèle de connexion, et l'onglet Connexion de l'application est l'endroit où vous voyez vos deux liaisons. La troisième ligne ci-dessous n'est pas du tout une liaison du téléphone : c'est ce que les radios font entre elles, un saut plus loin.

SupportCe qu'elle atteintComment elle démarre
Bluetoothdepuis votre téléphoneUne radio de poche : un nœud LoRa compagnon dans votre sac. C'est la seule façon pour un téléphone de passer en ondes, car aucun iPhone ne contient de radio LoRa.Vous appuyez sur Connexion. Un balayage consomme de la batterie et prend un accès exclusif à la radio, alors c'est une personne qui le lance, jamais l'application.
Wi-Fidepuis votre téléphoneUne passerelle de quartier : un boîtier toujours actif sur le réseau local, qui garde l'enregistrement et le sert aux téléphones et aux navigateurs.Automatiquement au lancement. L'application cherche une passerelle sur le Wi-Fi où vous êtes, et un champ d'adresse manuel existe pour les réseaux qui bloquent la détection.
LoRade radio à radioLe long tronçon. Deux personnes prévoyantes avec des radios de poche se joignent d'un pâté de maisons à l'autre sans rien entre elles ; chaque radio supplémentaire le répète plus loin.Rien sur le téléphone ne le démarre. Votre téléphone ne parle jamais LoRa, alors ce tronçon commence dès que deux radios sont réglées sur le même canal, qu'un téléphone soit relié à l'une d'elles ou non.

Toute la chaîne, d'un bout à l'autre : votre téléphone en Bluetooth vers la radio de poche qui est dans votre sac, cette radio en LoRa d'un pâté de maisons à l'autre vers une autre radio, cette radio vers une passerelle, et la passerelle en Wi-Fi vers chaque téléphone et chaque navigateur du réseau de quartier.

Les deux liaisons alimentent un seul journal et un seul trousseau. Un enregistrement qui arrive par les ondes et un autre qui arrive par le Wi-Fi atterrissent dans le même journal et reçoivent le même contrôle. Éteindre la radio n'arrête pas la réception par la passerelle, car ce sont deux chemins séparés vers le même endroit.

Tout ce qui se trouve au-dessus du réseau est conçu pour que perdre une connexion, un serveur ou un modèle vous coûte une annotation, jamais l'alerte.

Lequel êtes-vous ?

Il y a trois façons d'être prêt, et la suite de cette page est écrite pour les trois. Trouvez la vôtre, puis lisez ses stations en premier.

Juste un téléphone
Gratuit, et suffisant pour recevoir. Vous entendez ce qu'une passerelle à portée ou une connexion internet peut vous transmettre, et rien n'est sur les ondes tant que personne près de vous n'a de radio. Lisez l'aperçu et le fonctionnement hors ligne, puis les façons de se préparer sur la page d'accueil.
Une paire de radios
Environ 30 $ chacune, une dans votre sac et une chez un voisin. C'est le long tronçon : vous vous joignez tous les deux à travers le quartier sans réseau, sans internet et sans rien entre vous, et chaque radio ajoutée par quelqu'un d'autre le répète plus loin. Lisez radios et matériel et bandes radio par région.
Un hôte de passerelle
Un seul boîtier toujours actif, ~50-80 $, qui transforme le Wi-Fi du quartier en centre de communication que n'importe quel navigateur peut rejoindre, sans application et sans compte. Lisez mettre en place une passerelle, ce qu'une passerelle a mis sur les ondes et plusieurs passerelles.

Le modèle de confiance

Meshbell garde deux questions séparées, parce que ce sont des faits différents et que les confondre est la manière dont la mauvaise information se répand.

QuestionCe qui y répondCe que cela peut dire
De quel enregistrement s'agit-il, et est-il intact ?L'adresse par contenu et le contrôle de signature, tous deux exécutés sur votre appareillié · aperçu · altéré
Qui l'a signé, et puis-je le vérifier ?Le trousseau de clés sur votre appareilvérifié · impossible de vérifier · falsifié

Le second axe est délibérément à trois valeurs. Une falsification, contrôlée par rapport à une clé que vous détenez et qui a échoué, n'est pas le même fait qu'une clé inconnue, pour laquelle il est encore impossible de vérifier qui a signé. Les réunir en un seul mot, « invalide », masquerait exactement la distinction dont une personne a besoin. Un message n'est stocké comme digne de confiance que lorsque le trousseau dit vérifié.

Vérifié directement sur les ondes, sans copie préalable

Une courte trame radio est un aperçu : un pointeur vers un enregistrement, affiché mais jamais tenu pour digne de confiance et jamais utilisé pour inventer un contenu. Un enregistrement peut aussi être envoyé en entier sous forme d'enveloppe auto-authentifiante, répartie sur plusieurs trames et réassemblée à l'arrivée. Un appareil qui n'a jamais vu l'enregistrement auparavant peut alors le reconstruire, re-dériver son adresse par contenu et contrôler sa signature, atteignant un verdict vérifié dans un quartier purement radio, sans aucun internet dans la boucle.

Les trames arrivent non authentifiées par LoRa, et les fragments d'un enregistrement découpé ne sont pas signés en transit. Seul l'enregistrement réassemblé est vérifié. Un groupe incomplet le dit et reste un aperçu.

Le pare-feu d'instructions

La seule chose qu'une application d'urgence ne doit jamais faire, c'est transformer une rumeur en ordre. Meshbell fait respecter cela dans la structure du code, pas par une discipline de relecture.

La promesse, en une ligne. L'application ne transforme jamais une rumeur en instruction, et cette phrase est une propriété du code plutôt qu'une déclaration d'intention.

La couche de coordination

Les alertes vérifiées répondent à ce qui se passe et à la question de savoir si vous pouvez vous y fier. Un quartier en situation d'urgence a aussi une logistique ordinaire : qui est recensé, où se trouve l'abri, qui a un groupe électrogène. Meshbell porte une seconde couche, délibérément séparée, pour ce travail, en natif dans l'onglet Quartier de l'application et dans un navigateur pour quiconque n'a pas l'application.

Cette couche est non vérifiée par conception. Elle n'est pas adressée par contenu, pas signée, et ne fait pas partie du canal des alertes. C'est un état partagé modifiable que les voisins écrivent et modifient, alors traitez-la comme une note scotchée sur une porte. Le pare-feu d'instructions tient toujours : rien ici ne peut s'afficher comme une instruction officielle, et le modèle de confiance ci-dessus ne régit que les alertes.

Ce qu'elle contient

SurfaceCe que c'estForme de confidentialité
Appel de sécuritéSe signaler en sécurité en une pression. Chacun voit un décompte agrégé par rapport à un total approximatif de foyers.Aucun nom, aucune adresse, aucune localisation, aucune liste nominative. Le décompte est retenu jusqu'à ce qu'une poignée de personnes se soient signalées, afin qu'un foyer isolé ne puisse pas être déduit.
Listes de ressourcesListes partagées et modifiables : abri et mise au chaud, eau et provisions, électricité et recharge, et un « qui peut aider » où l'on s'inscrit soi-même. Les éléments peuvent porter une étiquette de lieu.Toute personne sur la passerelle peut ajouter ou modifier. Inscription volontaire uniquement. Personne n'est ajouté par quelqu'un d'autre.
Tableau d'affichageDe courts messages étiquetés à un canal (info, offre, demande, question) et filtrés par ancienneté, publiés sous un nom que vous saisissez.Le nom que vous saisissez. Aucun compte, aucune identité vérifiée.
Instantané imprimableUn rendu d'une page /coord/print de l'appel, des listes et du dernier tableau, pour quand les batteries s'épuisent.Le même appel agrégé uniquement, il peut donc être scotché sans risque sur un tableau physique.

Pourquoi elle est tenue à l'écart

Mêler des notes de voisins modifiables à un journal d'alertes signé et en ajout seul briserait les deux. La mémoire de coordination est donc une chose à part : uniquement en réseau local, modifiable, et servie par la passerelle à côté du flux vérifié plutôt qu'à l'intérieur. Un opérateur détient un jeton d'administration pour l'entretien, par exemple effacer des données de test ou élaguer un tableau qui déborde, et les routes d'administration échouent en se fermant sans lui. Publier et se signaler ne demandent aucune justification d'identité. Les deux couches partagent un écran, jamais une frontière de confiance.

Fonctionnement hors ligne

La dégradation est l'état attendu, pas une erreur. Quand une voie de données est coupée, Meshbell sert les dernières données valides connues étiquetées avec leur ancienneté, « il y a 40 minutes », plutôt qu'un vide à l'apparence assurée. Le niveau sans modèle, un vieux téléphone sans rien d'astucieux dessus, est un niveau de produit à part entière. Une application d'urgence qui ne fonctionne que sur le matériel le plus récent laisse tomber les personnes les plus susceptibles d'en avoir besoin.

La réception continue quand Meshbell est en arrière-plan, et iOS peut le relancer pour lui rendre une connexion radio après sa fermeture. Voyez l'écoute en arrière-plan pour ce que cela couvre et ce que cela ne couvre pas. Il n'a jamais écouté quand le téléphone est éteint, et il ne prétendra pas le faire.

Radios et matériel

Meshbell fonctionne sur votre téléphone seul. Les radios étendent sa portée quand le réseau est coupé. Un réseau maillé de quartier se construit à partir de matériel LoRa bon marché et prêt à l'emploi, exécutant le micrologiciel ouvert MeshCore.

ÉlémentCoûtRôle
Une radio LoRa compagnon, par exemple un nœud Heltec~30 $Votre téléphone s'y appaire par Bluetooth pour envoyer et entendre des bulletins. Une compagnon sert un téléphone à la fois. Si un autre téléphone ou une autre application la retient, le vôtre vous le dit clairement au lieu de tourner dans le vide.
D'autres radios dans le quartier~30 $ chacuneChacune est un saut, et chacune répète un enregistrement une fois puis s'arrête pour que les ondes restent dégagées. Trois ou plus amorcent une vraie portée multi-sauts d'un pâté de maisons à l'autre et par-dessus les crêtes.
Une passerelle toujours active, en général un Raspberry Pi~50-80 $Garde un journal durable et le sert sur le Wi-Fi local sur le port 4190. Elle utilisera un lien montant internet quand il en existe un, et elle n'en a besoin d'aucun.

Réglages radio pour les États-Unis. Le banc de référence de Meshbell fonctionne à 910.525 MHz, bw 62.5 kHz, sf7, cr 4/5, à l'intérieur de la bande libre de licence 902-928 MHz, avec une enveloppe de liaison compagnon de 172 B. Relisez toujours la configuration de votre radio avant d'émettre. La valeur par défaut de la région peut être une bande que vous n'êtes pas autorisé à utiliser.

Bandes radio par région

Votre téléphone ne contient aucune radio LoRa, il ne touche donc jamais à la bande. C'est le micrologiciel de la radio qui détient ce réglage. Meshbell relit l'accord de la radio à la connexion, l'affiche, et dit clairement quand la radio n'est pas sur le canal utilisé par votre région.

910.525 MHz est la station nord-américaine. Chaque région ci-dessous a son propre canal, placé à l'intérieur de la bande libre de licence que cette région autorise. Quand la communauté MeshCore publie un canal recommandé pour un pays, Meshbell reprend ce canal et ses réglages à l'identique, si bien que les répéteurs MeshCore déjà en place là-bas peuvent relayer les bulletins Meshbell. Quand la communauté n'en publie aucun, Meshbell choisit un canal qui reste à l'écart de la partie la plus chargée de la bande.

RégionBandeCanal MeshbellCycle d'utilisation ou écoute avant émission
États-Unis et Canada902-928 MHz910.525 MHzAucune limite de cycle d'utilisation, une passerelle peut donc émettre aussi souvent qu'il le faut. Jusqu'à 36 dBm, antenne comprise. C'est la recommandation de MeshCore elle-même pour les États-Unis et le Canada, les répéteurs MeshCore déjà en place ici peuvent donc relayer les bulletins Meshbell.
Europe et Royaume-Uni869.4-869.65 MHz869.618 MHz · sf8 · cr 4/8Cycle d'utilisation de 10%, soit environ six minutes d'émission par heure. Jusqu'à 29 dBm. Le Royaume-Uni applique les mêmes limites, il n'y a donc pas de réglage distinct pour lui. C'est la recommandation de MeshCore elle-même pour l'Europe et le Royaume-Uni, les répéteurs MeshCore déjà en place ici peuvent donc relayer les bulletins Meshbell.
République tchèque869.4-869.65 MHz869.432 MHzLe même cycle d'utilisation de 10% et le même plafond de 29 dBm qu'en Europe, sur un canal qui lui est propre. C'est la recommandation de MeshCore elle-même pour la République tchèque, les répéteurs MeshCore déjà en place là-bas peuvent donc relayer les bulletins Meshbell.
Pays-Bas869.4-869.65 MHz869.618 MHzLe même cycle d'utilisation de 10% et le même plafond de 29 dBm qu'en Europe. C'est la recommandation de MeshCore elle-même pour les Pays-Bas, les répéteurs MeshCore déjà en place là-bas peuvent donc relayer les bulletins Meshbell. Ce canal partage la fréquence européenne mais garde les valeurs par défaut sf7 et cr 4/5, les deux ne s'entendent donc pas, même sur la même fréquence.
Portugal869.4-869.65 MHz869.618 MHz · cr 4/6Le même cycle d'utilisation de 10% et le même plafond de 29 dBm qu'en Europe. C'est la recommandation de MeshCore elle-même pour le Portugal, les répéteurs MeshCore déjà en place là-bas peuvent donc relayer les bulletins Meshbell. Ce canal partage la fréquence européenne mais fonctionne en sf7 et cr 4/6, les deux ne s'entendent donc pas, même sur la même fréquence.
Australie915-928 MHz916.575 MHz · cr 4/8Aucune limite de cycle d'utilisation. Jusqu'à 30 dBm. Ici la bande commence à 915 MHz, le canal nord-américain n'y est donc pas légal. C'est la recommandation de MeshCore elle-même pour l'Australie, les répéteurs MeshCore déjà en place là-bas peuvent donc relayer les bulletins Meshbell.
Nouvelle-Zélande915-928 MHz917.375 MHzAucune limite de cycle d'utilisation. Jusqu'à 30 dBm. Ici aussi la bande commence à 915 MHz, le canal nord-américain n'y est donc pas légal. C'est la recommandation de MeshCore elle-même pour la Nouvelle-Zélande, les répéteurs MeshCore déjà en place là-bas peuvent donc relayer les bulletins Meshbell.
Brésil915-928 MHz923.125 MHz · sf8 · cr 4/8Aucune limite de cycle d'utilisation. Jusqu'à 30 dBm. C'est la recommandation de MeshCore elle-même pour le Brésil, les répéteurs MeshCore déjà en place là-bas peuvent donc relayer les bulletins Meshbell.
Asie du Sud-Est920-923 MHz921.875 MHzCycle d'utilisation de 10% dans le pays le plus strict du groupe. Jusqu'à 17 dBm. Un seul réglage groupé pour la Thaïlande, Singapour, la Malaisie et l'Indonésie, vérifiez donc votre propre pays avant de laisser une passerelle en marche. La communauté ne publie aucun canal pour ces pays, celui-ci est donc propre à Meshbell, choisi à l'écart de la partie la plus chargée de la fenêtre.
Viêt Nam920-923 MHz920.25 MHz · sf8Cycle d'utilisation de 10%. Jusqu'à 17 dBm, et les règles bougent ici, vérifiez donc celles en vigueur avant de laisser une passerelle en marche. C'est la recommandation de MeshCore elle-même pour le Viêt Nam, les répéteurs MeshCore déjà en place là-bas peuvent donc relayer les bulletins Meshbell.
Inde865-868 MHz866.5 MHzCycle d'utilisation de 1%, soit environ 36 secondes d'émission par heure. Jusqu'à 16 dBm. La radio ne peut pas se tenir seule à une limite aussi serrée, c'est donc à la passerelle de se rationner. La communauté ne publie aucun canal pour l'Inde, celui-ci est donc propre à Meshbell, choisi à l'écart de la partie la plus chargée de la bande.
Corée du Sud920.9-923.3 MHz921.4 MHzAucune limite de cycle d'utilisation, mais la radio doit écouter avant d'émettre. Jusqu'à 23 dBm.
Japon920.6-928 MHz924.6 MHz · bw 125 kHzCycle d'utilisation de 10% et une écoute avant chaque émission. Jusqu'à 16 dBm. C'est la largeur de bande plus grande qui garde une émission assez courte pour les règles japonaises.
Russie864-865 MHz864.5 MHzCycle d'utilisation de 0.1%, soit environ 3.6 secondes d'émission par heure, sauf si la radio écoute avant d'émettre. Jusqu'à 16 dBm.

Sauf mention contraire dans la ligne, un canal fonctionne en sf7, cr 4/5 et bw 62.5 kHz. Une ligne qui suit un canal MeshCore reprend les valeurs de ce canal, c'est pourquoi plusieurs affichent un autre facteur d'étalement ou un autre taux de codage, et le Japon fonctionne en bw 125 kHz pour tenir dans les règles japonaises. Deux radios ne s'entendent que si la fréquence, la largeur de bande, le facteur d'étalement et le taux de codage correspondent tous.

Les radios existent en deux familles, l'une taillée pour 902-928 MHz et l'autre pour 863-870 MHz, et à elles deux elles couvrent toutes les régions de cette liste, mais la bande 470 MHz de la Chine demande une autre puce radio et une autre antenne, ce n'est donc pas un réglage vers lequel on peut basculer.

Trois régions ne sont pas prêtes. Le Japon, la Corée du Sud et la Russie attendent une radio qui écoute avant d'émettre, et le micrologiciel MeshCore ne le fait pas encore, ces trois régions restent donc désactivées jusqu'à ce qu'il le fasse. Une région porte aussi un plafond de puissance, et la puissance est un réglage distinct sur la radio, changer de canal n'est donc pas baisser la puissance. Relisez toujours la configuration de votre radio avant d'émettre.

Mettre en place une passerelle

Une passerelle est un nœud toujours actif dans le quartier, en général un Raspberry Pi, qui porte le flux vérifié et la couche de coordination sur le Wi-Fi local pour que le téléphone ou le navigateur de chaque voisin puisse les atteindre sans réseau et sans internet. C'est la seconde des deux liaisons du téléphone : le Bluetooth atteint une radio de poche, le Wi-Fi atteint une passerelle, et l'une comme l'autre fonctionne sans aucun internet.

Le Wi-Fi de la passerelle, pour que le voisin n'ait rien à faire

Avec un second adaptateur Wi-Fi, la passerelle diffuse son propre réseau ouvert, nommé meshbell- suivi du nom de votre rue. C'est une impasse voulue : il atteint la passerelle et rien d'autre, ni la maison, ni Internet, ni les autres téléphones qui s'y trouvent. Le voisin n'a besoin d'aucune application et suit quatre étapes. Se connecter au Wi-Fi dont le nom commence par meshbell-. Une page s'ouvre toute seule, comme le réseau d'un hôtel ouvre sa page de connexion ; touchez Continuer. Si le téléphone pose une question sur Internet, touchez Utiliser sans Internet, car ce réseau n'en a pas, volontairement. Si vous fermez cette page, ouvrez un navigateur et tapez meshbell.lan. Installez le réseau une fois avec sudo ./install-ap.sh --interface wlan1 --ssid meshbell-oak-st.

Si vous êtes l'hôte, un voisin prévoyant

L'installateur est livré dans l'application et s'exporte directement depuis votre téléphone, il n'y a donc rien à télécharger. Décompressez-le sur le Pi, lancez le script d'installation, et il affiche l'adresse à distribuer. Le nœud démarre autonome : il sert les écrans de coordination, une application web installable pour les voisins qui n'ont que le navigateur, un QR code de cette adresse, et une vue d'administration pour l'entretien. Il s'annonce sur le réseau local sous _meshbell._tcp, et c'est l'application qui fait la recherche. Il n'y a rien à configurer à la main et aucun compte à créer.

Si vous êtes un voisin qui n'a jamais entendu parler d'un réseau maillé

Rejoignez le Wi-Fi du quartier et ouvrez l'onglet Quartier. L'application cherche la passerelle toute seule et s'y connecte. Quand la détection a besoin d'un coup de main, elle pose les questions simples, est-ce le bon réseau et la passerelle est-elle éveillée, et propose un champ d'adresse manuel. Si un ordinateur atteint la passerelle mais que ce téléphone n'y arrive pas, les deux sont presque toujours sur des réseaux Wi-Fi différents.

La passerelle achemine, elle ne décide jamais. Une passerelle peut faire suivre une alerte vérifiée, mais elle ne peut pas la rendre vraie. Les signatures sont contrôlées sur votre propre appareil, et dans un simple navigateur elles sont contrôlées dans ce navigateur. Une passerelle compromise ou malveillante peut abandonner ou retarder des messages. Elle ne peut jamais en falsifier un digne de confiance. C'est pourquoi le modèle de confiance vit sur le téléphone et pas sur le nœud.

Écoute en arrière-plan

Le téléphone garde la liaison radio quand Meshbell est en arrière-plan, et iOS peut relancer Meshbell pour lui rendre une connexion après la fermeture de l'application. Trois choses jouent ensemble : le système conserve la connexion Bluetooth, l'application demande à être restaurée avec elle, et elle se souvient que vous vouliez la radio connectée, ce qui lui permet de refaire la poignée de main que le micrologiciel exige à chaque nouvelle connexion.

La limite, dite franchement. iOS peut tout de même arrêter l'application, et une radio compagnon sert un téléphone à la fois : une radio que retient un autre téléphone n'est pas disponible pour le vôtre. L'écoute en arrière-plan ne survit pas non plus à un téléphone éteint. Ce qu'elle change, c'est qu'un bulletin qui arrive alors que le téléphone est dans une poche est bien reçu au lieu d'être manqué.

Ce qu'une passerelle a mis sur les ondes

Deux faits qu'on prend facilement pour un seul : la radio a accepté un message, et le message est réellement parti. Le premier est ce qu'apprend un téléphone quand il remet des trames à une radio compagnon. Le second se mesure sur les compteurs d'émission du micrologiciel de la radio, et seule une passerelle les lit.

Une passerelle garde un reçu pour tout ce qu'elle émet : ce qui est parti, qui l'a signé, quelle liaison l'a porté, en combien de morceaux il a été découpé, le canal, et si les compteurs ont confirmé qu'il a quitté l'antenne. L'application montre ces reçus sur l'écran Ce qui est parti quand une passerelle est connectée.

Il n'y a pas de reçu côté téléphone, et Meshbell n'en invente pas. Quand vous envoyez votre propre signalement, ou que vous confirmez ou contestez celui d'un voisin depuis l'application, elle vous dit que la radio a accepté votre message, et elle dit clairement qu'elle ne peut pas confirmer que c'est passé sur les ondes. Un paquet diffusé à la volée n'a aucun destinataire, rien ne vient donc en accuser réception. Annoncer une livraison serait la réponse flatteuse, pas la vraie.

Texte ordinaire d'autres radios

Les radios MeshCore transportent des messages texte ordinaires entre des personnes qui ne font pas tourner Meshbell. Une passerelle peut entendre ce trafic, et elle le tient strictement à l'écart du flux vérifié. Il est marqué non signé, un mot volontairement différent de « impossible de vérifier qui a signé » : un bulletin non vérifié est un enregistrement signé dont cet appareil ne détient pas la clé, tandis que du texte ordinaire ne porte aucune signature du tout.

Les messages de canal ne portent aucune clé d'expéditeur : un nom saisi dans le corps du message n'est pas une identité, et Meshbell ne le prend jamais pour une identité. Ce trafic n'est jamais enregistré, n'apparaît jamais dans le flux vérifié, ne compte jamais pour corroborer quoi que ce soit, et ne peut jamais devenir une alerte. La passerelle indique quelle quantité elle en a entendue, et rien de plus.

Radios qui signent d'elles-mêmes

Une radio MeshCore détient sa propre clé de signature, et le micrologiciel signe avec elle. Un opérateur de passerelle peut enrôler une radio, après que la radio a prouvé qu'elle détient la clé, et dès lors cette radio peut émettre elle-même un bulletin signé sans qu'aucun téléphone n'intervienne : un bouton d'alerte près de la porte, ou une balise qui signale un état.

Un appareil signe en tant qu'appareil. C'est un signal, jamais une approbation, parce qu'un boîtier n'est pas une personne et que détenir une radio n'est pas la même chose que détenir la clé de quelqu'un. Partout où l'application montre qui a signé un enregistrement, un enregistrement signé par un appareil le dit.

Une radio volée est une clé volée. La clé d'un téléphone est protégée par le téléphone. La clé d'une radio est protégée par la radio, un petit objet qui vit dehors et qui peut n'avoir aucun code PIN. N'enrôlez une radio que si vous êtes prêt à assumer tout ce qu'elle signera, et révoquez-la dès l'instant où elle disparaît. La révocation empêche une passerelle d'accepter quoi que ce soit de nouveau venant d'elle ; elle ne retire pas ce qui a déjà été transmis.

Plusieurs passerelles

Votre téléphone parmi plusieurs passerelles

Un quartier peut finir avec plus d'une passerelle. L'application rassemble toutes les passerelles qu'elle parvient à détecter, préfère celle qui répond le mieux, et passe à une autre quand celle en cours se tait. Une adresse que vous avez saisie vous-même l'emporte toujours sur une adresse détectée.

Des passerelles liées entre elles

Deux passerelles qui se joignent sur un réseau partagent ce qu'elles ont entendu, un quartier voisin rejoint donc l'ensemble sans que personne ne resaisisse quoi que ce soit. Une passerelle liée n'est pas de confiance, par conception : tout ce qu'elle transmet passe par le même contrôle de signature que le reste avant d'être enregistré, si bien qu'une passerelle liée malveillante peut gaspiller l'espace disque de la vôtre et ne peut jamais mettre un faux bulletin devant un voisin.

Les voisins relient les passerelles par les moyens ordinaires : un deuxième adaptateur Wi-Fi dans le Pi, un réseau invité chez la maison d'à côté, ou une paire d'antennes Wi-Fi directionnelles entre deux toits.

Lier des passerelles ajoute de la couverture, pas de la résilience. Le Wi-Fi fonctionne sur le courant du secteur, et le courant du secteur est la première chose qu'une urgence emporte. Des passerelles liées aident un jour ordinaire, et le jour très courant où internet est coupé mais où les lumières restent allumées. Ce n'est pas un moyen de porter plus loin pendant une panne de courant. Porter plus loin sans courant et sans réseau, c'est à cela que sert la radio.

Joindre les radios Meshtastic

Meshtastic est l'autre réseau maillé LoRa largement utilisé, et les deux micrologiciels ne s'entendent pas sur les ondes, même sur la même fréquence, parce que les formats de paquets diffèrent. Une passerelle peut malgré tout porter des bulletins Meshbell jusqu'à une radio Meshtastic, par une liaison écrite à partir du format de message publié et sans aucun code du projet Meshtastic, ce qui explique qu'il n'y en ait rien dans l'application.

Cela fonctionne uniquement sur la passerelle, et c'est désactivé jusqu'à ce qu'un opérateur l'active. Les personnes qui utilisent l'application Meshtastic d'origine ne voient rien : Meshbell passe par un numéro de canal privé que leur application n'affiche pas. C'est un moyen de joindre un voisin qui porte déjà une radio Meshtastic, pas un moyen de parler au réseau Meshtastic dans son ensemble.

Architecture

La logique métier est pure et portable. Elle se compile et se teste sur un Raspberry Pi sans aucun matériel Apple dans la boucle, de sorte que les parties qui décident si un message est digne de confiance sont vérifiées en continu plutôt qu'à la seule publication. L'application iOS n'est qu'un mince moteur de rendu par-dessus.

Limites assumées

Énoncées franchement, parce qu'un outil d'urgence qui se survend est dangereux.