New Release which improves large mesh handling. See the video at: https://cloud.dougwalker.us/s/mePDAPkgTMTj7CE. There are a few new buttons, but the main ones are Grid (rearranges the nodes into a grid pattern and colors them by callsign) and Settings (brings up the network settings which let's you play with the physics settings). It should help you organize large networks to some extend. Again, see the video for an example. I don't think there is a "one-size-fits-all" process to this. It kind of feels like processing astrophotography. Try something and see how it acts. But it's definitely an iterative process to get to something usable. There is one feature that is clearly mandatory, and that is to support multi-selection and adjusting positions. (NOTE: In the settings panel, check Interactions->multiselect. Then ctrl-click on multiple nodes. IF you have physics enabled, you CAN crtl+click-drag to move ALL the selected nodes. If physics is not enabled then it just moves the one node. Unfortunately for large networks the framerate is so bad that trying to interact with the network is painful.) Easy enough to enable multi-selection, but when you try to move a node it just moves that single node (unless physics is enabled). I'm not sure how difficult that is going to be to add in so I thought I would put this up some people could play with it some. It may need both translation of groups and rotation, but we'll see.
The Github repository is located at: https://github.com/captainwasabi/topologrjs
Enjoy.
I am pleased to announce the initial public release of Topologr. This was a fun project which was inspired by the topology DOT file perl script. More of a modern take. The documentation is still a bit of a work in progress, but it should be enough to get the software installed and running on a mesh connected computer.
I have tested this on an RPi 3 and Ubuntu 20.04, but there is no particular reason that it wouldn't work on other OSs that support node.js. I expect the installation instructions will vary quite a bit to run on Windows.
This has also only been tested on our local mesh. I don't believe there should be any problems, but let me know if there are.
Finally, the localnode.local.mesh this is connected to has to be running a version of the firmware that supports the json APIs or it will fail.
The Github repository is located at: https://github.com/captainwasabi/topologrjs
Thank you,
73
WA1KRD
Nice and useful program Doug!
I'm curious if a possible enhancement could be to have the services seen in the left side show up as hyperlinks?
I suppose that could lead to all kinds of other possible enhancements such as creating a list of such hyperlinks, and more. :)
- Mike
I'm sure this is doable. Please enter it as an issue on the Github repository.
I know little about the Pi, but the installation instructions worked fine and I had it running in no time.
Richard ko0ooo
I agree. This has already proven to be a very useful tool.
- Mike
really like the updated version.. especially the CLEAR POS button...
below is a screen shot showing our fragile network between the north and south ends of Vegas... it's interesting to CLEAR POS every few minutes and watch the link quality change. and how more islands are formed when tunnels are removed.
thanks again for a great program
Richard ko0ooo
Doug
It looks like there is something wrong with the services data that is being returned. Something like there is a service that doesn't have a hostname.
What version of the Aredn firmware are you running?
Use this link to download a more instrumented app.js file. rename the current file app.js.old (just to be safe) and replace it with the one in the zip file. once you have restarted the app, the first url to go to is http://10.95.109.100:3001/debug/debug This sets the log level to debug, so it's going to dump out a LOT of information. The result of that link should be a blank page with "debug" displayed on it. Then go to http://10.95.109.100:3001/
Send me all the infomation it dumps out. Preferably in a comment to this issue on github: https://github.com/captainwasabi/topologrjs/issues/22. Or you could attach it as a txt file to a reply here.
Thanks,
Doug
As before, the result is that the web server crashes so I'm not able to get to port 3001.
Orv
However, even if it does work, with > 1000 nodes that have names, and I don't know how many that don't, you are probably going to run into the same problem as the other poster that just had >265 nodes. It's gonna just be a tangle that I need to be able to export and import into an offline viewer to see what is going on. Theoretically vis-network should be able to handle it.
try zooming out, (roll the mouse wheel towards you with the cursor in the network panel.then hit ClearAll. Will, that work, I doubt it really. I thinik the "fix" at least currently will be to just start moving nodes out of the tangle and arrange them yourself. The canvas is infinitly zoomable so you should have plenty of room.
Although this spawns another idea, have a way to import and export the network (without querying the localnode for the data). This would help debug this kind of thing.
Thanks,
Doug
try zooming out, (roll the mouse wheel towards you with the cursor in the network panel.then hit ClearAll. Will, that work NO!
I thinik the "fix" at least currently will be to just start moving nodes out of the tangle and arrange them yourself. Moving 250 nodes manually by hand is unrealistic!
Yeah, I didn't think that would work.
I don't see a lot of arden networks that are that large. I put in an issue on github to implement an offiline viewer and export network button. It shouldn't be that bad.
There are two reasons I agree that moving them by hand is not realistic. First is that it is a lot. While it wouldn't take that long realistically, he second issue is performance. It animates the network pane while you are dragging a node around, and with that big of a network it would just be painful.
I'll reply here when a drop with that feature is available.
Thanks,
Doug
Thanks!
I have had the same problem and I have taken the time (many Hours) and untangled the mess. It is not fun but you learn a lot about your mesh network in doing so. I now have a nearly working map and some cleanup to do.
This app is a very good start to something exciting to add to our tool kit.
Wes Larson
KF7BWS
Very cool! Thanks for the useful new tool. For all the container fans out there, I ran up a Dockerfile and Docker Compose file so you can run topologr in a Docker swarm. Unpack the attached .tgz file in the topologrjs folder and type the following commands:
docker build -t topologrjs .
docker stack deploy --compose-file topologrjs.yml topologrjs
(This assumes you already have a Docker swarm running. Lots of Web pages on how to do that.)
Mike KQ9P
Followed install instructions
https://github.com/captainwasabi/topologrjs/
to here:
gelmce@nc8q-mesh-server:~/projects/topologrjs $ npm install
node: /lib/arm-linux-gnueabihf/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.25' not found (required by node)
node: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.28' not found (required by node)
gelmce@nc8q-mesh-server:~/projects/topologrjs $
-----
Is my
gelmce@nc8q-mesh-server:~/projects/topologrjs $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux" VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=raspbian ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
gelmce@nc8q-mesh-server:~/projects/topologrjs $
Not new enough?
Chuck
What are the restults of `node -v` and `npm -v`
gelmce@nc8q-mesh-server:~/Downloads $ node -v
node: /lib/arm-linux-gnueabihf/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.25' not found (required by node)
node: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.28' not found (required by node)
gelmce@nc8q-mesh-server:~/Downloads $ npm -v
node: /lib/arm-linux-gnueabihf/libm.so.6: version `GLIBC_2.27' not found (required by node)
node: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.25' not found (required by node)
node: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.28' not found (required by node)
gelmce@nc8q-mesh-server:~/Downloads $
gelmce@nc8q-mesh-server:~/Downloads $ ldd --version
ldd (Debian GLIBC 2.24-11+deb9u4) 2.24
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
gelmce@nc8q-mesh-server:~/Downloads $
73, Chuck
if you pi has been updated, then yes I think the version of the os that you are running is too old. I don't see anyone recommending installing a new version of glibc on top of an older one (ro vice versa) because it's a key component of a lot of system files and the likelyhood of breaking your whole OS is very high.
Jose
K3YAB