Passer au contenu

Bitcoin accepté au paiement  |  Expédié depuis Montréal, QC, Canada  |  Soutien expert depuis 2016

Référence des champs MeshPacket et Data de Meshtastic : l’enveloppe radio des paquets

Réponse rapide

Le MeshPacket est l’enveloppe radio de chaque message Meshtastic. Il transporte les numéros de nœud de l’expéditeur (from) et du destinataire (to), le channel, un id unique, la charge utile (octets encrypted bruts sur les ondes, ou un sous-message Data decoded une fois qu’un nœud possédant la bonne clé le déchiffre), les champs de routage (hop_limit, hop_start, want_ack, next_hop) et les métadonnées de réception (rx_snr, rx_rssi). Le sous-message Data transporte ensuite le portnum (quelle application) et le payload. Chaque champ ci-dessous est tiré mot à mot de mesh.proto.

Télécharger le CSV Télécharger le JSON API REST →

L’enveloppe radio des paquets Meshtastic, transcrite mot à mot depuis meshtastic/protobufs → mesh.proto (MeshPacket + Data, en date du 2026-07-21). Les numéros de champ et les types sont exacts; les lignes du tableau et les fichiers de données restent en anglais parce qu’ils indexent le fichier source anglais. Le comportement de routage et de chiffrement est volontairement laissé aux pages spécialisées liées plutôt que reformulé ici; aucune valeur RF/fréquence/puissance n’apparaît sur une référence protobuf.

MessageGroupeChampTypeRôle (en anglais — littéral)
MeshPacket Addressing from 1 fixed32 The sending node number. The crypto implementation also uses this field.
MeshPacket Addressing to 2 fixed32 The immediate destination. 4,294,967,295 (max uint32) means the packet is a broadcast on the channel; any other value is a direct message to that specific node.
MeshPacket Addressing channel 3 uint32 Index into the secondary-channels table the packet was sent/received on; unset means the primary channel. Deep inside the router (while the payload is encrypted) this field instead holds the channel hash. It is a local concept, meaningless to send between nodes.
MeshPacket Addressing id 6 fixed32 A unique ID for this packet, used by the flooding algorithm. Always 0 for no-ack or non-broadcast packets; otherwise unique on a per-sender basis.
MeshPacket Payload (oneof) decoded 4 Data The decoded payload (a Data sub-message). Present only once a node with the correct key has decrypted the packet — software outside the mesh radios only ever sees this form.
MeshPacket Payload (oneof) encrypted 5 bytes The encrypted payload bytes, as the packet travels over the air before decryption.
MeshPacket Routing hop_limit 9 uint32 Hops remaining before the packet is dropped — decrements at each relay (managed-flood routing).
MeshPacket Routing want_ack 10 bool Request that the destination return an acknowledgement for this packet.
MeshPacket Routing priority 11 Priority Transmit-queue priority (UNSET/MIN/BACKGROUND/DEFAULT/RELIABLE/RESPONSE/HIGH/ALERT/ACK/MAX). Internal only — never sent over the air; it orders the local priority queue so acks and routing go out before background traffic.
MeshPacket Routing via_mqtt 14 bool Set when the packet arrived (or is going) via an MQTT connection rather than the LoRa radio.
MeshPacket Routing hop_start 15 uint32 The original hop_limit at send time, so a receiver can compute how many hops the packet actually took.
MeshPacket Routing next_hop 18 uint32 The next-hop node (last byte of the node number) used by next-hop routing.
MeshPacket Routing relay_node 19 uint32 The relay node (last byte of the node number) that forwarded this packet.
MeshPacket Routing tx_after 20 uint32 Requests that the node delay transmission of this packet by this many seconds.
MeshPacket Routing transport_mechanism 21 TransportMechanism Which transport the packet arrived over: INTERNAL, LORA (+ALT1/ALT2/ALT3), MQTT, MULTICAST_UDP, API or UNICAST_UDP.
MeshPacket Crypto public_key 16 bytes The sender public key, used for PKC (public-key) encrypted direct messages.
MeshPacket Crypto pki_encrypted 17 bool True when the packet was encrypted with PKC (per-node public-key) rather than a shared channel PSK.
MeshPacket Crypto xeddsa_signed 22 bool True when the packet carries an XEdDSA signature.
MeshPacket Receive metadata rx_time 7 fixed32 The timestamp (seconds) at which the packet was received.
MeshPacket Receive metadata rx_snr 8 float The measured signal-to-noise ratio of the received packet.
MeshPacket Receive metadata rx_rssi 12 int32 The measured received signal strength (RSSI) of the packet, in dBm.
Data Data payload portnum 1 PortNum Which application the payload is for — the PortNum enum (see the PortNum registry). Formerly named "typ".
Data Data payload payload 2 bytes The application payload bytes.
Data Data payload want_response 3 bool Ask the recipient to respond in kind (e.g. reply with its own position). On a broadcast this yields many replies.
Data Data payload dest 4 fixed32 The destination node address, filled in by the mesh radio software; RouteDiscovery and multihop-routing messages populate it.
Data Data payload source 5 fixed32 The original sender address, populated only for reliable multihop packets (to keep packets small).
Data Data payload request_id 6 fixed32 The original message ID this message reports failure/response on (routing or response messages). Formerly original_id.
Data Data payload reply_id 7 fixed32 If set, this message is a reply to a previously sent message with this ID.
Data Data payload emoji 8 fixed32 When set, the payload should be treated as an emoji reaction (e.g. a heart or thumbs-up) to a message.
Data Data payload bitfield 9 uint32 (optional) Bitfield of extra flags; the first use indicates the user approves uploading this packet to MQTT.
Data Data payload xeddsa_signature 10 bytes The XEdDSA signature over the payload.

Comment le paquet s’assemble

  • Adressagefrom/to sont des numéros de nœud; un to de 4,294,967,295 est une diffusion sur le canal, toute autre valeur un message direct. id rend chaque paquet unique pour l’algorithme d’inondation.
  • Charge utile — sur les ondes, la charge utile est constituée d’octets encrypted; un nœud avec la bonne PSK de canal ou clé PKC la déchiffre en sous-message Data decoded, que les applications lisent réellement.
  • Routagehop_limit décroît à chaque relais (routage par inondation gérée, en anglais); hop_start permet au récepteur de savoir combien de sauts ont été utilisés; next_hop/relay_node servent au routage au prochain saut.
  • Chiffrementpki_encrypted + public_key marquent les messages directs à clé publique (PKC); détails sur la page chiffrement (en anglais).
  • Métadonnées de réceptionrx_snr et rx_rssi (dBm) sont fixés localement quand un nœud entend le paquet; ils ne voyagent jamais sur les ondes.

Pages reliées

Registre des PortNum Meshtastic (en anglais — le champ portnum de cette enveloppe) · Modèle de chiffrement PSK/PKC (en anglais) · Réglages régionaux LoRa (en anglais) · Référence Store & Forward · Balise Bitcoin via Meshtastic · Pôle mesh souverain (en français).

Crédit : les messages MeshPacket et Data sont définis et maintenus par le projet Meshtastic dans meshtastic/protobufs (GPL-3.0). Cette page est un index daté, lisible par les humains et les machines, de ce fichier.