Packet source tracking

Hi everyone,

i was wondering if could be possible to understand wich is the source node of a message. Looking inside the packet I understood that the hoplimit decreases if the packet is repeated but I’ve not found how to understand who is the repeater of that message. Me and a group of friends are setting up a big mesh and could be helpfull to know wich is the packet route in order to optimize repearers nodes.

here below the link of the live mesh map
http://imeshmap.iz1kga.it/?since=12

Regards
Manuel

5 Likes

hmm - yeah - I’ve been wanting this too. It is easy to add (and it will be backwards compatible) can you put in a bug for meshtastic-device?

But due to the cost (increasing size of packets when most people don’t need it), I think I’ll use a new setting to allow optionally turning this on. Something like ‘add_history_when_routing’. The new (variable sized array) in the packet will be called ‘history’.

I won’t be adding this soon (I need to get some other stuff done first), but in a few weeks.

6 Likes

woah cool map! how are you generating it?

Thanks kevin this is very cool! I’ll put in the bug.

Hi, each node that contributes to the map has to be connected to a Raspberry or something similar, then there is a software that gets the updates an generate a local Dashboard.

http://37.179.210.220:5000/public

This software push also received nodes information to an mqtt broker.

There is another service that gets the pushed information from the brocker and stores in a SQL db and then some php and JavaScript and i have the map.

For the sw running on Raspberry you can take a look here:

for the service i’ve not a repo for now, i’ll create it
Regards

4 Likes

@iz1kga this looks amazing! if i’m understanding correctly the node that’s connected to pi will also push all data from received nodes?

think that answers it.

1 Like

Hi @jobionekabnoi

the pi push the content of interface.nodes dict node by node:

on MQTT the result is:

one received node content:
for topic receivedNodes/!c4fc6a04:

{“num”: 3304876548, “user”: {“id”: “!c4fc6a04”, “longName”: “KGA_test_6a04”, “shortName”: “KG_”, “macaddr”: “JArE/GoE”}, “position”: {“latitudeI”: 450373418, “longitudeI”: 76457739, “time”: 1615107904, “latitude”: 45.0373418, “longitude”: 7.6457739}}

On server side I have an MQTT client that gets information and puts in a SQL db, then the map is rendered from that.

Regards

2 Likes


Hey @iz1kga Great job on this and thanks for sharing! I have 3 nodes in my mesh and only one node connected to the pi. I can see the nodes in the “hopinfo” topic, but it’s only listing my connected node in the “recievedNodes” topic. Is this the expected behavior? Or should all discovered nodes via mesh will be listed as well?

Still leaning to code…

1 Like

Hi @jobionekabnoi,

I’m still learning to code to :slight_smile: . This is the expected behaviour as I intended to use it. The result is this map: https://imeshmap.iz1kga.it/

To generate it I have one script running in my server as backend that gets mqtt messages and stores data in a MySql DB, and a php + js web page that gets data from DB and renders the map.

If you want I’m appy to share those two files: https://imeshmap.iz1kga.it/MeshMap.zip

I’ll try to do something better in the near future.

regards
Manuel

3 Likes

@iz1kga Based on your map, the nodes look like they are as much as 20 km apart. How are they physically sited? Are there physical towers above the plain?

1 Like

Hi, sorry for delay (too much work).

We have one node at 1400 m and most of communication pass through it.
The other nodes have different installations. Some on the house roof some on a desk.

Regards

1 Like