Code source wiki de Meshtastic
Modifié par john le 2026/09/20 13:15
Afficher les derniers auteurs
| author | version | line-number | content |
|---|---|---|---|
| 1 | Nœud Meshtastic LoRa : le Raspberry Pi fait partie du réseau maillé Meshtastic grâce à un module radio SX1262 branché en SPI. Rôle ##CLIENT_MUTE## : il envoie et reçoit ses propres messages sans relayer ceux des autres nœuds. Il se gère par une interface web et en ligne de commande. | ||
| 2 | |||
| 3 | == Matériel == | ||
| 4 | |||
| 5 | |=Élément|=Valeur | ||
| 6 | |Module radio|HAT Waveshare SX126X (puce SX1262) | ||
| 7 | |Connexion|SPI, ##/dev/spidev0.0## | ||
| 8 | |Logiciel|meshtasticd (Meshtastic natif pour Linux), service systemd | ||
| 9 | |Version de meshtasticd (sept. 2026)|2.7.26 | ||
| 10 | |Rôle|##CLIENT_MUTE## | ||
| 11 | |||
| 12 | Activation du SPI dans ##/boot/firmware/config.txt## : | ||
| 13 | |||
| 14 | {{code language="ini"}} | ||
| 15 | dtparam=spi=on | ||
| 16 | dtoverlay=spi0-0cs | ||
| 17 | {{/code}} | ||
| 18 | |||
| 19 | == Installation == | ||
| 20 | |||
| 21 | Paquet ##meshtasticd## du dépôt Meshtastic sur openSUSE Build Service, canal ##beta## (versions stables du projet), pour Debian 13 : | ||
| 22 | |||
| 23 | {{code language="bash"}} | ||
| 24 | echo 'deb http://download.opensuse.org/repositories/network:/Meshtastic:/beta/Debian_13/ /' | sudo tee /etc/apt/sources.list.d/network:Meshtastic:beta.list | ||
| 25 | curl -fsSL https://download.opensuse.org/repositories/network:Meshtastic:beta/Debian_13/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/network_Meshtastic_beta.gpg > /dev/null | ||
| 26 | sudo apt update | ||
| 27 | sudo apt install meshtasticd | ||
| 28 | {{/code}} | ||
| 29 | |||
| 30 | == Configuration == | ||
| 31 | |||
| 32 | La configuration de base est dans ##/etc/meshtasticd/config.yaml##. Les réglages propres à cette installation sont dans ##/etc/meshtasticd/config.d/## : ces fichiers ne sont pas écrasés par les mises à jour du paquet. Les profils de modules fournis par le projet sont dans ##/etc/meshtasticd/available.d/##. | ||
| 33 | |||
| 34 | ##99-lora.yaml## : | ||
| 35 | |||
| 36 | {{code language="yaml"}} | ||
| 37 | Lora: | ||
| 38 | Module: sx1262 # Waveshare SX126X XXXM | ||
| 39 | DIO2_AS_RF_SWITCH: true | ||
| 40 | CS: 21 | ||
| 41 | IRQ: 16 | ||
| 42 | Busy: 20 | ||
| 43 | Reset: 18 | ||
| 44 | SX126X_ANT_SW: 6 | ||
| 45 | {{/code}} | ||
| 46 | |||
| 47 | ##98-webserver.yaml## : | ||
| 48 | |||
| 49 | {{code language="yaml"}} | ||
| 50 | Webserver: | ||
| 51 | Port: 443 | ||
| 52 | RootPath: /usr/share/meshtasticd/web | ||
| 53 | {{/code}} | ||
| 54 | |||
| 55 | Le YAML est sensible à l'indentation. Après toute modification : | ||
| 56 | |||
| 57 | {{code language="bash"}} | ||
| 58 | sudo systemctl restart meshtasticd | ||
| 59 | {{/code}} | ||
| 60 | |||
| 61 | == Accès == | ||
| 62 | |||
| 63 | |=Accès|=Adresse | ||
| 64 | |Interface web|##https:~/~/<IP_RASPBERRY>## (port 443) | ||
| 65 | |API, clients et ligne de commande|Port TCP 4403 | ||
| 66 | |||
| 67 | Pas de Bluetooth : il n'est pas pris en charge par meshtasticd sous Linux. Les applications mobiles se connectent en réseau (TCP). | ||
| 68 | |||
| 69 | == Ligne de commande == | ||
| 70 | |||
| 71 | Client ##meshtastic##, installé avec pipx : | ||
| 72 | |||
| 73 | {{code language="bash"}} | ||
| 74 | meshtastic --host localhost --info # état du nœud, canaux, réglages | ||
| 75 | meshtastic --host localhost --nodes # nœuds entendus sur le réseau | ||
| 76 | meshtastic --host localhost --sendtext "<MESSAGE>" | ||
| 77 | {{/code}} | ||
| 78 | |||
| 79 | == Rôle du nœud == | ||
| 80 | |||
| 81 | |=Rôle|=Comportement | ||
| 82 | |##CLIENT##|Envoie, reçoit et relaie les messages des autres nœuds | ||
| 83 | |##CLIENT_MUTE##|Envoie et reçoit, ne relaie pas (rôle actuel) | ||
| 84 | |##ROUTER##|Relais prioritaire, pour un nœud bien placé et toujours allumé | ||
| 85 | |||
| 86 | {{code language="bash"}} | ||
| 87 | meshtastic --host localhost --set device.role CLIENT_MUTE | ||
| 88 | {{/code}} | ||
| 89 | |||
| 90 | Le nœud redémarre pour appliquer un changement de rôle. | ||
| 91 | |||
| 92 | == Données et sauvegarde == | ||
| 93 | |||
| 94 | L'identité et les réglages radio du nœud (région, canaux, clés) sont dans ##/var/lib/meshtasticd/.portduino/default/prefs/##. Le Raspberry Pi n'étant pas sauvegardé par Plakar (il héberge le dépôt), exporter la configuration après chaque changement et la ranger ailleurs : | ||
| 95 | |||
| 96 | {{code language="bash"}} | ||
| 97 | meshtastic --host localhost --export-config > meshtastic-config.yaml | ||
| 98 | {{/code}} | ||
| 99 | |||
| 100 | Ce fichier contient les clés des canaux : le conserver comme un secret. |