Observer avec MCtoMQTT¶
MCtoMQTT lit les paquets d’une radio MeshCore connectée par USB et les publie à partir d’un hôte Linux ou macOS qui reste en fonction.
Cette méthode vous convient-elle?¶
L’outil d’assistance peut aussi configurer meshcore-packet-capture pour un
compagnon relié par BLE, liaison série ou TCP.
Avant de commencer¶
| Exigence | Vérification |
|---|---|
| Radio | La journalisation des paquets fonctionne par USB et les paramètres du réseau local sont exacts |
| Hôte | Linux ou macOS pour meshcoretomqtt; Windows est pris en charge uniquement pour la capture d’un compagnon |
| Accès | Vous pouvez lire la configuration actuelle et redémarrer le service |
| Emplacement | Un véritable code d’emplacement à trois lettres |
| Outils | curl, un afficheur de texte et systemctl sous Linux |
Examinez le script avant de l’exécuter
Ces outils d’assistance ne sont liés ni à une version précise ni à une somme de contrôle. Téléchargez-les et examinez-les avant de les exécuter. L’option --no-restart écrit quand même des fichiers; ce n’est pas une simulation.
Fichiers à examiner :
Ce qui sera modifié¶
Sur un hôte à liaison série, l’outil :
- écrit
/etc/mctomqtt/config.d/20-meshcore-ca.toml; - crée une copie horodatée
.bak.<timestamp>si ce fichier existe; - ajoute les points de terminaison principal et de secours de MeshCore Canada ainsi que le code d’emplacement;
- redémarre
mctomqtt, sauf si l’option--no-restartest utilisée.
Pour la capture d’un compagnon, il met à jour
~/.meshcore-packet-capture/.env.local, crée une sauvegarde horodatée,
configure les emplacements 1 et 2, désactive les emplacements 3 à 6 et peut
redémarrer le service de capture.
Les options d’installation téléchargent et exécutent des programmes d’installation distincts provenant des projets d’origine. Ne les utilisez pas avant d’avoir aussi examiné le programme nommé.
Configuration¶
1. Télécharger et examiner l’outil¶
workdir="$(mktemp -d)"
curl -fsSLo "$workdir/add-meshcore-ca-broker.sh" https://meshcore.ca/analyzer/scripts/add-meshcore-ca-broker.sh
less "$workdir/add-meshcore-ca-broker.sh"
Vérifiez l’URL source, les chemins modifiés, les hôtes des points de terminaison, le comportement de sauvegarde et le comportement de redémarrage. Conservez le fichier pour le reste de la configuration.
2. Écrire sans redémarrer¶
Remplacez YOW par le véritable code d’emplacement le plus près de
l’observateur :
bash "$workdir/add-meshcore-ca-broker.sh" --device serial-host --iata YOW --no-restart
L’outil valide la forme du code, rejette XXX, affiche un avertissement pour
les codes absents de sa courte liste et indique les chemins modifiés et
sauvegardés.
3. Examiner le résultat¶
sudo sed -n '1,220p' /etc/mctomqtt/config.d/20-meshcore-ca.toml
Confirmez que :
- le code d’emplacement est exact;
- l’hôte principal et son audience sont
mqtt1.meshcore.ca; - l’hôte de secours et son audience sont
mqtt2.meshcore.ca; - le port est
443, le transport est WebSockets et la validation TLS est activée.
Ne collez pas le fichier complet dans un billet public sans l’avoir examiné.
4. Redémarrer volontairement¶
sudo systemctl restart mctomqtt
sudo systemctl status mctomqtt --no-pager
Le service devrait demeurer actif sans erreurs TLS ou d’authentification répétées.
Exécuter directement après l’examen¶
Après avoir examiné la version actuellement publiée de l’outil, vous pouvez exécuter directement ce même fichier :
bash <(curl -fsSL https://meshcore.ca/analyzer/scripts/add-meshcore-ca-broker.sh) --device serial-host --iata YOW
La méthode de téléchargement présentée plus haut facilite l’examen et la récupération.
Nouvelle installation¶
L’option --install-mctomqtt télécharge et exécute le programme d’installation
du projet meshcoretomqtt. Examinez d’abord ce programme, puis ajoutez
l’option :
bash "$workdir/add-meshcore-ca-broker.sh" --device serial-host --iata YOW --install-mctomqtt
Le programme d’installation du projet d’origine contrôle le choix du port série et les modifications de paquets. Il n’est lié ici ni à une version ni à une somme de contrôle.
Capture d’un compagnon¶
Réglez d’abord la radio du compagnon selon les paramètres du réseau maillé local.
Examinez le même outil Bash, puis exécutez :
bash "$workdir/add-meshcore-ca-broker.sh" --device companion --iata YOW --no-restart
Examinez ~/.meshcore-packet-capture/.env.local, puis redémarrez votre
processus de capture.
Téléchargez et examinez l’outil avant de l’exécuter :
$helper = Join-Path $env:TEMP "add-meshcore-ca-packetcapture-broker.ps1"
Invoke-WebRequest https://meshcore.ca/analyzer/scripts/add-meshcore-ca-packetcapture-broker.ps1 -OutFile $helper
Get-Content $helper
powershell -NoProfile -ExecutionPolicy Bypass -File $helper -Iata YOW
L’outil PowerShell modifie
%USERPROFILE%\.meshcore-packet-capture\.env.local et crée une sauvegarde.
Son option d’installation facultative exécute un programme d’installation
provenant d’un autre projet; examinez-le d’abord.
Il n’existe pas de programme d’installation Windows documenté pour
meshcoretomqtt dans le cas d’un hôte série de journalisation des paquets.
Ce que vous devriez voir¶
Le service demeure actif, le point de terminaison principal se connecte et son nombre de paquets change lorsque la radio capte du trafic à proximité.
Vérifier dans CoreScope¶
- Confirmez que le service demeure actif.
- Trouvez l’observateur dans CoreScope Observers.
- Attendez de l’activité normale à proximité.
- Confirmez la présence d’un paquet récent dans CoreScope Packets.
Terminez avec Vérifier votre observateur. Un service en fonction ou une connexion au courtier ne confirme pas que les paquets se sont rendus à CoreScope.
Récupération¶
Utilisez le chemin exact de la sauvegarde affiché par l’outil.
Si un fichier de configuration complémentaire pour l’hôte série existait déjà :
sudo cp -- '/etc/mctomqtt/config.d/20-meshcore-ca.toml.bak.<timestamp>' '/etc/mctomqtt/config.d/20-meshcore-ca.toml'
sudo systemctl restart mctomqtt
Si l’outil a créé un nouveau fichier complémentaire et qu’aucun fichier n’existait auparavant :
sudo rm -- '/etc/mctomqtt/config.d/20-meshcore-ca.toml'
sudo systemctl restart mctomqtt
Pour la capture d’un compagnon, restaurez la sauvegarde
.env.local.bak.<timestamp> indiquée par-dessus .env.local, conservez ses
permissions, puis redémarrez le processus de capture.
L’outil ne désinstalle pas les logiciels ajoutés par une option d’installation externe. Utilisez la procédure de désinstallation vérifiée du projet d’origine.
Si la vérification échoue¶
Consultez le dépannage. Partagez uniquement un court état de service caviardé et la liste des chemins modifiés.