Meshtastic: Sending Neighbor Info over LoRa

Here’s how to send your Neighbor Info over LoRa and into https://meshtastic.liamcottle.net

The Neighbor Info module sends information about your node’s 0-hop neighbors (direct connections). Although only informative, it is useful to see which nodes connect to each other.

Since Meshtastic version 2.5.13 you can no longer send Neighbor Info to the default public channel (ie: LongFast, ShortFast, etc). This change was to limit the amount of traffic being broadcast over the default channel. This means that by default only MQTT uplinking nodes will show their neighbors on a map, and only in the “heard” direction.

This will allow your your non internet connected nodes to send their Neighbor Info to an internet onnected node which can then uplink it to a map.

IMPORTANT CONSIDERATIONS – READ FIRST!

  • If you do this to a lot of nodes, it will generate a lot of LoRa traffic that grows exponentially with node count.
    • It uses a channel, not direct messaging, so make up your own channel name and encryption key to minimise the number of nodes broadcasting all of their neighbor info to each other. This could be taken one step further by “partitioning” nodes (with different channel names and keys) around their nearest MQTT connected node. Or just use a reasonable hop limit
    • It’s NOT a good idea to do this on LongFast.
  • The MQTT connected node uplinking to the map will send everything unencrypted
    • If you have other private channels for chatting, do NOT put these channels into your MQTT connected node – The data has to be sent to the mapping service unencrypted and the MQTT encryption setting is global for the node
  • The LoRa frequency slot number is determined by a hash of the name of the primary channel
    • When you change your primary channel and click save, the LoRa frequency slot will probably change
    • Once you have “forced” and saved the frequency slot, it will no longer change with changes to the primary channel name
  • Telemetry data is transmitted over the Primary channel
    • Sensor data will no longer be public
    • Nodeinfo packets are not transmitted regularly. They are only transmitted in response to packets
      • (I need to investigate this further)

Create a new primary channel

Remember that the LoRa frequency slot may change when you apply this change

Enable Neighbor Info

STEPS FOR MQTT UPLINKING NODES

Your MQTT uplinking node needs the Primary channel set up as above. You need to setup Neighbor Info, but you shouldn’t enable Transmit Over LoRa as this node can simply send it’s own data over MQTT.

You need to turn off “Encryption enabled” so that data from your new Primary channel is sent to the map unencrypted. As above in the important considerations (that you read!), this will also mean that data from any other private channels will ALSO be uplinked in the plain to your MQTT server.

WAIT

The default Neighbor Info time is 21600 seconds (6 hours), so it will take at least 6 hours for your Neighbor info data to show on the map. Remember that this only shows the neighbors that your nodes heard. To see which nodes heard you, they also need to enable Neighbor info.

About the Author: John

Leave a Reply

Your email address will not be published. Required fields are marked *