You are here

advanced topo map

15 posts / 0 new
Last post
kj6dzb
kj6dzb's picture
advanced topo map

-- Moved by moderator to Emcomm Applications - General forum --

Hi all, 

currently our mesh uses a rpi to generate a image with a modified python script, from the BBHSMM. Im looking to bounce some ideas off the dev group here.

I know the pyhon scrip only grabs node names and links, I know the HSMMpi project utilizes the olsrd location plugin, that plugin is not enabled in this project. So that brings me to developing an advanced topo map, one that plots node's locations on a map (G o o g l e m a p s?)  or open streetmaps, along with the link cost, LQ, NLQ, shows available routes to 0.0.0.0, and possibly some other info. 

Is any one working on a better topo map? for the aredn web UI or an external scrip? 

 

73 Mathison KJ6DZB

BAY-MESH-BRK-10-v3

AE6XE
AE6XE's picture
Mathison,  short answer is

Mathison,  short answer is yes, but spread over time and AREDN releases.   The thinking is to use SNMP and json access.  Initial configuration of both is in the current firmware (json config access in 3.15.1.0 beta4).   Darryl, K5DLQ, has worked on some google earth style pull-and-show from AREDN nodes using json.  He is traveling internationally this week, so will likely respond later when able.   Generally, we want to avoid over-using olsr to let it stay mean-n-lean to full fill its purpose of a routing protocol, particularly when there are other efficient ways to do this.

Check out:  

1) http://localnode:8080/cgi-bin/sysinfo

​2) http://localnode:8080/cgi-bin/sysinfo.json  <- check out the data fields, tells a story of where this is going.

Joe AE6XE

 

 

 

K5DLQ
K5DLQ's picture
Yes.  If you create a file:  

Yes.  If you create a file:   /etc/latlon

and put your lat on the first line and lon on the second line in decimal format...

ie.

31.113187
-94.455221

The sysinfo.json page will return it.  then, I have a Python script that polls all nodes (using sysinfo.json) and generates a KML file.  The script will detect if the lat/lon is returned, and if not, will make a call to QRZ's XML data service and it will lookup based on the node's callsign.  (it does require a dta subscription to QRZ)

The sysinfo.json does NOT yet have routing details in it (ie. who are my neighbors), but, that is planned for later.


 

kj6dzb
kj6dzb's picture
I can see what sysinfo.json

I can see what sysinfo.json returns. Location NO... Is the lat/lon returned if the pud plugin is enabled?

Arden lists it in bbhn-4 package but not enabled!. The HSMMpi project enables it. (i dont have a node up right now( I can do that if needed) 

good idea to pole from QRZ ! That dont work here, The node should know its location, via user input. ( the other option in the hsmmpi project is to pole GPSD) now I know that is not something i would even suggest for the Arden. Altho there is gps on ubuquity hardware, and usb ports! I would just just defined it. But if some one is mobile, it could be useful.  Consider it...  

#!/usr/bin/perl
  use strict;
  use warnings;
   
  use Net::GPSD3;
  my $host=shift || undef;
  my $port=shift || undef;
   
  my $lock_file = '/var/run/read_gps_coordinates.lock';
  `touch $lock_file`;
  my $gpsd=Net::GPSD3->new(host=>$host, port=>$port); #default host port as undef
   
   
  $gpsd->addHandler(\&tpv);
  $gpsd->watch;
  unlink '/var/run/read_gps_coordinates.lock' or warn "Could not unlink $lock_file: $!";
   
  sub tpv {
  my $tpv=shift;
  return unless $tpv->class eq "TPV";
   
  # have observed cases where the tpv structure is missing these fields, bail
  if ((0 == length($tpv->lat // '')) || (0 == length($tpv->lon // ''))) {
  unlink '/var/run/read_gps_coordinates.lock' or warn "Could not unlink $lock_file: $!";
  exit -1;
  }
   
  open(COORDS, '>/var/run/latlong-input-olsrd') or die "Cannot open file for write";
  printf COORDS "%s,%s", $tpv->lat, $tpv->lon;
  close(COORDS);
  unlink '/var/run/read_gps_coordinates.lock' or warn "Could not unlink $lock_file: $!";
  exit 0;
  }

credit : https://github.com/urlgrey/hsmm-pi

Broadcast it with the plug in.

http://texas.funkfeuer.at/doxygen/html/namespaceorg_1_1olsr_1_1plugin_1_1pud.html   

Im so interested in how Darryl, K5DLQ has done??? 

 

73 Mathison kj6dzb  

 

 

K5DLQ
K5DLQ's picture
again, right now, there is no

again, right now, there is no UI to capture the lat/lon info.  (future)

if you create a file:  /etc/latlon

and put your node's LAT (on line 1) and LON (on line 2) in it, the sysinfo.json will return those values.  No need to clutter OLSR with broadcasting that info.

From there, you can externally call each node's sysinfo.json and derive that info and build whatever you need for mapping purposes.

 

 

w6bi
w6bi's picture
Darryl, is your script

Darryl, is your script available someplace for download?
Thanks!
Orv

kj6dzb
kj6dzb's picture
Any update?
Any update?
K5DLQ
K5DLQ's picture
There's active work on this
There's active work on this at the moment to simplify the install/use.  Stay tuned.
 
K7FPV
I'm working on a google maps

I'm working on a google maps based meshmap. You can see a demo of where it is at for my mesh here:

http://laytonwestdistrict.net:8081/meshmap

Still pretty crude but a work in progress. It relies on a new plugin to olsr that will be in the next AREDN release. Also requires Lat / Lon to be configured in the node which is also on the UI in the next release.

It handles co-located nodes so click on the K7FPV one and it will expand out the other nodes at the same location.

kj6dzb
kj6dzb's picture
Nice start! Is the code being

Nice start! Is the code being discussed in the dev forum? I would like to contribute to the UX. There are a few thing I would like to contribute. Im noticing that the JSON gives back CH# so color coding the FRZ of each on the links and link states. Floating key and labels...  

To make use of the google's api here it will need to work off LINE. I know that google maps for android has started cashing maps. But I dont see (but maybe some one dose) I dont see a way around the google's TOS. mabey that's why Xastir never started using google maps! or bundle a GEE server some place, I know its not going to fit on a node..

http://stackoverflow.com/questions/6109369/how-to-cache-google-map-tiles-for-offline-usage

https://support.google.com/earthenterprise/answer/6078457?hl=en

Mabey We could reach out to GOOGLE for a grant!!.
https://www.youtube.com/watch?v=bv6eVTlfRcM

Wb6tae runs a ECOM incident database. I dont know how standard the DB is to pole it for maping the data. Mabey there is discussion of DB standardization.  

Our mesh here is a little more fluid, services and propagation, and Im looking for a map to monitor the mesh. 

73 for now kj6dzb

K6AH
K6AH's picture
Value of Off-line Maps

"...To make use of the google's api here it will need to work off LINE...."

Not trying to stifle enthusiasm here, but I'd question the value of off-line maps for network management purposes.  It seems from a network management perspective, once you have your nodes located and their Lat/Lon configured, a schematic representation fulfills our offline requirements.  Help me understand your requirement.  I know it would cool, but is there more to it?

There is however justification at the served agency-level.  Gene, WB9COY, has written a useful map-based CERT application for capturing damage assessments.  It wouldn't be nearly as effective without offline maps.  But this is all done off-node driven by served agency requirements.  If this is the context of your comments, then I'll try to stir Gene up and you can meet up with him in the CERT ACE forum.

Perhaps an argument could be made to build it as an infrastructure service, for anyone to use, which would make map-based applications easier to build and deploy.

Andre, K6AH
 

KG6JEI
Field deployments might be
Field deployments might be one, where the infrastructure for the core nodes is there, but observing the field nodes would be related (though don't think many of us will take the time to put in coordinates for a field deployment)
Also the Google License is part of the question to ask (you can't keep the maps on a firewalled network they have to be open to the public)

I can think of a time where I'm going out in the field and might want to know what is around me at that time from an aiming standpoint (again depends on users entering details of course) and wanting to aim to better connected nodes during a disaster to ensure a quality link.

This thread also didn't start as a NMS thread either IIRC
K6AH
K6AH's picture
A good point on pointing

WADR, Conrad, it was about managing nodes and the network.  Matt said: "So that brings me to developing an advanced topo map, one that plots node's locations... along with the link cost, LQ, NLQ, shows available routes to 0.0.0.0, and possibly some other info."

I do think you have a point on pointing. I routinely use the Google-based satellite images in RadioMobile to assist in aiming nodes.

On the subject of offline-use licensing... I'm quite certain Gene's application uses StreetMaps.
 

K5DLQ
K5DLQ's picture
It's entirely possible to
It's entirely possible to build an OpenStreetMap server that is completely independent of the internet.  I had done this before as a PoC.  It's definitely and off-node process and does occasionally need internet (which can be provided with a multi-nic server) to download map updates.

Sounds like a great project for someone to take on and build a VM (VMWare or VirtualBox) that is easily deployable to a server on the mesh(es).

 
kj6dzb
kj6dzb's picture
Ka6h your right the map need
Ka6h your right the map need work off line! So the normal Google maps api doesn't permit this! take 40min and watch the video I linked above.

The guys in the video go portable with there map. It looks to be completely possible for information to be reported back to the map server from a node, the plug in would need to report it via Json. See the the demo that maps Walmart growth in different ways. Just like the demo the map could map collect json from the nodes or the server could have information sent to it to map, there are pros and cons to both ways.

It could be up to individual agencies need to host a GEE server with an off line map. The GEE server and map need to be collocated on the local.mesh. Im interested in this approach. The Maps for each Geografical area? So each area needs to have a map-tiles captured so it can be served up locally or each area is captured into a single larger map-tile file thats shared to local agencies to host on local.mesh. along with standard maps that interact with the new plugin or just pole from the json message each node send. Im about to bring up a gateway at the university and could host, on a limited basis a map server accessible via TUNNEL. If we go down this path...

If a Arden say ok I will not stop until we get Google to donate some GEE keys for use!.
https://www.youtube.com/watch?v=bv6eVTlfRcM

73 Mathison

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer