liamcottle / meshtastic-map Goto Github PK
View Code? Open in Web Editor NEWA map of all Meshtastic nodes heard via MQTT.
Home Page: https://meshtastic.liamcottle.net
License: MIT License
A map of all Meshtastic nodes heard via MQTT.
Home Page: https://meshtastic.liamcottle.net
License: MIT License
for nodes with fw 2.3+ which don't have neighborinfo enabled, implicit neighbors will be the ones with hop_limit==hop_start
The route trace uses the packets to and from data in the header plus the payload that contains additional participants.
So a packet can be sent From: A To: Z asking for a route.
{ From:A To:Z }
Seen by B and "repeated".
{ From:A To:Z Route: [B] }
Seen by C and repeated.
{ From:A To:Z Route: [B,C] }
Seen by Z and so Z replies.
{ From:Z To:A Route: [B,C] }
Repeated without change. across the network.
{ From:Z To:A Route: [B,C] }
Seen by A.
So the route is an outgoing route. But this is a reply so the route starts with the "To" recipient, then the payload and ended at the from recipient.
(To)A [ B , C ] (From) Z
A->B->C->Z
This is called "2 Hops"
A -hop-> B -hop-> C -Rx-> z
So a 2 hop route has a payload of two nodes and a total of four participants in the route. (Plus a gateway node, which is typically just an observer.)
Very very confusing!
I think you are completely missing the "to" field. This is usually to "all", a special node ID.
I had the Neighbor Info Module enabled on a node I kept in my car. Nodes found while driving are not true direct neighbors when I get home. Can we have the ability to reset or have the Neighbor Info expire?
Feature request:
Save the map position, so when refreshing the entire page, it doesn't reset to a globe view. You could add a maximum saved zoom level so it won't be zoomed in too much, maybe max zoom level of 10 or something.
Two new nodes: Heltec-V3 and WisBlock both with latest FW.
Heltec is Client with Neighbors turned On, WisBlock is Router_Client.
Heltec displays on Map but no Neighbors are showing up that saw Heltec or that Heltec saw.
Heltec connected to MQTT server, WisBlock is not.
Assumed Heltec would find WisBlock even with Neighbors off since both on FW 2.3+
No change even with WisBlock Neighbors On.
Great Map, BTW - good job!
When nodes are stacked on each other, as noted it's hard to click in to see a node beneath to see details, could calculate if they are within 10meters of each other for example?
Can tell there is more then one node here due to having "Heard" enabled on another node and you still have a blue line next to it.
An another mapping/visual tool I use - https://lukeprior.github.io/nbn-upgrade-map/?suburb=mount-barker&state=SA&commit=main
When there's more then one location there it displays a number on the dot, and when click spreads them out and can click on the individual marker for details.
Hey @liamcottle, first I wanted to say, awesome project! Was able to get it and running very quickly.
I'm working on a Docker compose implantation right now and had a few quick questions:
Do mqtt.js
and index.js
need to interact with each other in any way? or is it all just mqtt.js
writing to DB, and index.js
displaying results? (trying to determine if they can be run as separate containers, and if so, any ports that need to be opened between them)
Is there any interest in a PR to this repo for a Docker image built off of GitHub Actions and associated docs/docker-compose.yml
?
Same as 2, but a Kubernetes Helm chart
I understand the implications of merging 2 and 3 into this repo; it becomes 'official supported'. If thats something you're not ready to take on (I'm happy to help on an as-available), totally understand.
Either way, thanks for the awesome contribution to the Meshtastic ecosystem!
Having duplicate neighbor lines add's complexity to the view.
Can these be collapsed where the to/from are from the same nodes.
Example
Perhaps light blue where heard is only seen one way, dark blue where it's heard both ways, and the hover box shows both info boxes as one box showing both paths?
Alternatively when clicking on the line it splits the lines out into the green/red seen/heard colors? or green/red arrows on the end or similiar?
yes.
Hi,
Ideas for the sidebar. I think it's getting really long, even on a 1440p screen.
Here is what I suggest:
The separator could be a line, comma, table, etc.
Thanks
Hello
Just a small issue in the pop-up of a waypoint: It seams that 360 is added to it. Position on the map is fine.
I grabbed the MQTT packet for that one:
{"channel":0,"from":3663091580,"hops_away":0,"id":4292587810,"payload":{"description":"Great viewpoint","expire":2147483647,"id":4292587809,"latitude_i":468602396,"locked_to":0,"longitude_i":75258635,"name":"Chutzen"},"sender":"!da56577c","timestamp":1711963987,"to":4294967295,"type":"position"}
Thanks for the great map ! I did not understand Neighbours yet.
+1 for your "claim" feature in the readme
After claiming a node, an easy way to add more detail is by uploading the YAML config file, gotten via meshtastic --export-config
.
This would parse the settings and provide details that can't be gotten via mesh transport, such as module configs.
The MapReport
packet contains the number of online local nodes of a certain node. Since when using map reporting nodes in your mesh that do not have MQTT uplink enabled will not be shown, it would be nice to have the MQTT gateway report how many other nodes one can expect in the area.
Really nice map BTW!
Greetings from an area with a growing mesh who are big fans of your work.
We currently have people cycling and hiking around the city to try and make their first connection to a node, and some dedicated people looking at planning links between well-positioned solar power nodes.
One feature that would be helpful to both of these types of users is a display option that limits the nodes displayed by node Role. As the number of nodes grow, we think having the option to choose to display, for example, just ROUTER / ROUTER_CLIENT and exclude CLIENT will give us a nice clean map so we can help the people who want to work with the more 'fixed'/'permanent' nodes.
Initial impressions was that this might best be done in the layers widget.
Open to any and all discussion :)
When refreshing the page, the neighbors checkbox is always cleared for me. Not sure if it's a browser issue.
Also, if I select a node then select view neighbors, either "We heard" or "Heard us", then click the X to close that overlay, the neighbors are always unselected. The neighbors selection should go back to what was selected before.
Hello Liam and readers
I created a waypoint about 4 weeks ago. It is still visible on the (your) map. But in Android I could not set an expiration date. Since then I wiped the data of the Meshtastic app and now I am not able to edit or delete this waypoint anymore. (ID 4292587809) Also I think there is no persistence MQTT entry for that. So now it only exists in your database or am I wrong ? Any idea how I could edit or delete this waypoint now ?
I am grateful for tips.
Feature request:
Remember options like Neighbors shown, Waypoints, etc. on the map.
Currently those options are not persisted over website refreshes.
The voltage graph min could be set to minimum of 3.2v and all measurements. The maximum to the maximum of 4.2 volts and all measurements. The voltage and battery % would look then look similar. (I don't think they follow each other in all cases and the relationship may not be linear)
At the time of writing min v looked to be 0v and the voltage graph was difficult to see as the line was only at the top.
The site currently requests about 2 dozen device images that don't exist each time the site loads. There could be a check to make sure the image exists before trying to load the image.
Or we can add a placeholder image for each device type.
I guess there already is one, but not sure how that is generated.
Why does it store node data so long?
Do you have an opt out process?
Really is limited value to anything more than a day old.
First of all, thank you for your great work. I'm a thankful every day user of the map.
Back in the day's I've looked at APRS. Some of the bigger APRS sites (https://aprs.fi) do offer tracking of a station automatically. This way you can backtrack where the node has been. It will plot its route by dots and colored lines.
Perhaps this could be a useful option to have on your map?
I do have some requests:
As per email, it would be great to be able to see more detail of the node voltages etc by way of more detailed graphs. Thanks!
Bug:
If I click elsewhere, then click back on the node, I can click the button.
I tried on Edge and Chrome, it might work elsewhere?
If a node participates in a trace route then this is provide trace route info for that node.This also provides an incoming route, not just an outgoing one.
Also the route discovery packets contain passive route information. (Ignoring the destination)
So a routing layer on the map could be added to show incoming and outgoing routes to a selected node. Including routes the node participated in and route discovery that the node participated in, even if the route was not discovered.
Or a new layer could just display all hops deduced from any route data as a line.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.