meshtastic / network-management-client

A Meshtastic desktop client, allowing simple, offline deployment and administration of an ad-hoc mesh communication network. Built in Rust and TypeScript.
GNU General Public License v3.0
174 stars 14 forks source link

Dynamic heatmap showing coverage of a specific network #454

Open OE3JGW opened 7 months ago

OE3JGW commented 7 months ago

we (friends of me and myself) had an idea for a heatmap which shows the range of every node. for wifi there are apps that achieve the same, but for meshtastic i was not able to find something like that - so i got asked by AJMcQuilkin (Meshtastic Discord) to create a Issue/Feature Request here :)

i thought about it like that way:

  1. where a signal was able to get picked up (heatmap style)
  2. which of the nodes are connected to each other (lora of course, not mqtt)

Im not sure if this is really doable the way im thinking of it, but i think about coverage maps from LTE providers and stuff. The main reason for all that is to visualize the actual reach and coverage of the network and learn where the limitations are. I can see a usecase for me: i would place a node on my cars roof, drive around and the software creates the heatmap, afterwards i can see which places in my village are "deadzones" and which places are already covered by the already existing nodes in the area.

i could also see a case where you would have an official map everyone can use which lets you see existing networks, this way i could see that my ~40 nodes big network is not the only one in the area but that the other one is using different settings --> potential for binding them together if contact data are provided to the network name on the map. not sure how to decide how or when a network should be published to such a public map, but could be a great tool.

im pretty sure there is some more brainwork to do, but technically the neighbor info, mqtt and Network-Management-Client should together have everything needed.

thanks!

asjmcguire commented 7 months ago

When the "hopsaway" firmware arrives - then every packet will be tagged with how many hops it travelled to reach your node, this will make dynamically figuring out a coverage circle much easier, and does not rely on people enabling the neighbourinfo module which significantly impacts the mesh.

OE3JGW commented 7 months ago

When the "hopsaway" firmware arrives - then every packet will be tagged with how many hops it travelled to reach your node, this will make dynamically figuring out a coverage circle much easier, and does not rely on people enabling the neighbourinfo module which significantly impacts the mesh.

interesting, that would be a cleaner solution, i like that.