Ffmap-d3

Aus Freifunk Köln, Bonn und Umgebung
Zur Navigation springen Zur Suche springen

Work in progress


ffmap-d3 erzeugt einen Knotengraphen (Abb. 1), eine Nodekarte (Abb. 2) und eine Statusübersicht (Abb. 3).

Original ffmap-d3 Input

ffmap-d3 benötigt eine 'nodes.json'. Diese sieht in etwa so aus:

{
  "meta": { "timestamp": "2013-05-04T17:53:00"}, // Wann die Datei generiert wurde. - erscheint oben als Uhrzeit
  "links": [ 				          // Eine Linie zwischen zwei Nodes.
   {"target": 43, 			          // Start,  
    "source": 1, 			          // Ende des Links -> Indizces in die Liste -> Start bei 0
    "quality": "TT", 		                  // "Ganz vage defininiert." -> Entweder Text, oder 1-2 floating Zahlen. 
					          // Der Durchschnitt entspricht der Farbe des Links. Nur ein Feld: Dünne Linie
					          // TT -> Es ist ein Client
					          // Jeder CLient wird auch als Node im Array "nodes" aufgeführt.
    "type": "client",   	                  // Client oder VPN . Ist einer der beiden Nodes ein Client, dann Client link
					          // Ist ein Link ein Gateway, dann Gateway-Link
    "id": "66:70:02:5c:2c:31-8e:8f:e7:e6:5e:f2"  // Braucht die Karte für die auto-update funktion - 
						  // Was ist bei mehreren Links zwischen gleichen Nodes? -> Aktuell Reduce-Funktion -> Wird auf einen Link reduziert.
	}, 
 ],
 "nodes": [					  // Liste aller Nodes. 
  {
	"name": "SN 1",                           // Name des Nodes
	"flags": {				  // Zustand des Nodes (online, gateway, client, vpn (nicht verwendet)) 
		"online": false, 
		"gateway": false, 
		"client": false}, 
	"id": "f4:ec:38:9d:7d:c2",               // Eindeutig um den Knoten identifizieren zu können.
	"macs": "f4:ec:38:9d:7d:c2",             // Comma seperated List aller macs
	"geo": [50.9956, 7.02981]                // Geokoordinaten (lat, long)
	}
]

Derzeitiges JSON-Format bei FF-KBU

{
    "meta": { "timestamp": "2013-05-04T17:53:00"}, // Wann die Datei generiert wurde. - erscheint oben als Uhrzeit
    "nodes": {                                     // Liste aller Nodes
        "[nodeid]": {                              // Eindeutig um den Knoten identifizieren zu können.
            "clients": 3,                          // Anzahl Clients an diesem Node
            "macs"   : "maca, macb"                // MACs des Nodes (wlan, mesh-vpn, etc)
            "name"   : "[NAME]",                    // Name des Nodes
            "links"  : {                           // Liste aller Links
                "[nodeid]": {                      // Nodeid des link-Ziels
                    "type"   : null | vpn,         // links zu nodes: null, links zu vpns: vpn
                    "quality": 1.000               // link-quali
                }, ...
            }
            "flags"  : {
                "client"  : true | false,                  // eig nutzlos
                "gateway" : true | false,                  // ist node im batman-adv - Gateway modus?
                "online"  : true | false                   // ist der Node online?
            }
            "geo"    : [50.9956, 7.02981],         // Geokoordinaten (lat, long)
        }, ...
    }
}

Links