FFHTopo

Aus Freifunk Halle
Wechseln zu: Navigation, Suche

FFHTopo ist eine Software, die es ermöglicht, OLSR- und B.A.T.M.A.N.- basierte vermaschte Netze, deren Knoten die Freifunk Firmware verwenden, mit Hilfe von offenen Karten-APIs grafisch darzustellen.

Das FFHTopo von Freifunk Halle dient als arbeitende Demonstrationsversion.

Allgemeine Hinweise

Der FFHTopo-Synchronisierungsdienst ermittelt in regelmäßigen Abständen verschiedene Informationen über Knoten im Freifunknetz und speichert diese in einer Datenbank zwischen. Dies umfasst z.B. Geokoordinaten oder verwendete Hardware. Diese Informationen werden von der FFHTopo-Benutzeroberfläche bei Bedarf über einen Server abgefragt und mit aktuellen Informationen aus der derzeitigen Netztopologie erweitert, die dann schließlich in eine geographischen Karte ausgegeben werden. Die Kartenposition wird anhand der vom Knoteninhaber auf der Kontaktseite angegebenen Koordinaten ermittelt oder falls keine Koordinaten angegeben sind, wird versucht mittels Geocoding die vom Benutzer unter Standort angegebene Adresse in Koordinaten aufzulösen, schlägt auch dies fehl wird der Knoten ignoriert.

Browserunterstützung

Google Maps Ansicht

System Browser / Version Status Anmerkungen
Debian sid Iceweasel 2.0.0.6 funktioniert ohne Probleme
Debian sid Opera 9.2.3 funktioniert ohne Probleme
Debian sid Konqueror 3.5.7 funktioniert bis auf Kleinigkeiten Topographiekontext: Es ist nicht möglich gesetzte eigene Punkte zu entfernen
Kubuntu 7.04 Konqueror funktioniert nicht
Kubuntu 8.04 Konqueror 3.5.9 funktioniert JavaScript sagt "Ein Skript auf dieser Seite behindert die HTML-Darstellung. Wird die Ausführung fortgesetzt, werden evtl. auch andere Programme beeinträchtigt. ..."
Kubuntu 8.04 Firefox 3 funktioniert Vektorberechnung geht nicht mit jedem Knoten. OLSR-Kanten anzeigen geht SUPERSCHNELL.
Windows XP Internet Explorer 7 funktioniert
Windows XP Internet Explorer 6 funktioniert
Windows XP Firefox 2.0.0.6 funktioniert
Windows XP Opera 9.23 funktioniert

Virtual Earth Ansicht

System Browser / Version Status Anmerkungen
Debian sid Iceweasel 2.0.0.6 funktioniert getarnt als "Firefox"
Debian sid Opera 9.2.3 funktioniert teilweise getarnt als "Firefox", sämtliche Linien werden nicht angezeigt
Debian sid Konqueror 3.5.7 funktioniert nicht
Kubuntu 8.04 Konqueror 3.5.9 funktioniert teilweise Karte sicht- und bewegbar, zoombarbar, aber keine Legende oder Knoten oder Kanten dargestellt
Kubuntu 8.04 Firefox 3 funktioniert
Windows XP Internet Explorer 7 funktioniert
Windows XP Internet Explorer 6 funktioniert
Windows XP Firefox 2.0.0.6 funktioniert
Windows XP Opera 9.23 funktioniert nicht

Kartenkontext: Topographie

Dieser Kontext zeigt die aktuelle Topographie des Netzes an. Die Verbindungsinformationen sind dabei beim Abrufen in Echtzeit; die Koordinaten, verwendeter Funkkanal, Hardware und Übertragungsrate werden aus der Datenbank gelesen.

Legende

Die Farbe der Knotensymbole gibt dessen Status an:

  • gelb: inaktiv, nicht erreichbar aus dem aktuellen Hauptnetz
  • grün: aktiv und verbunden
  • blau: aktiv, verbunden und stellt einen Internetzugang
  • schwarz: eigene Punkte

Die Farbe der Verbindungslinien gibt den Verbindungstyp an:

  • rot, grün: Funkverbindungen über OLSR oder B.A.T.M.A.N. (die Deckkraft der Linien gibt dabei Aufschluss über die Verbindungsqualität)
  • blau: virtuelle Tunnelverbindungen (die Knoten sind über das Internet miteinander verbunden)

Eigene Punkte

Eigene Punkte können zum Zwecke der Koordinatenbestimmung oder Vektorberechnungen zu anderen Punkten durch einen Doppelklick auf die Karte hinzugefügt werden. Durch einen Doppelklick auf einen eigenen Punkt wird dieser wieder entfernt. Eigene Punkte bleiben nur lokal bis zum Schließen von Meshtrack erhalten.


Kartenkontext: Internetzugang

Dieser Kontext zeigt die Internetversorgung der einzelnen Knoten zum Zeitpunkt der letzten Synchroniserung an. Die Verbindungslinien stellen dabei keine echten Funkverbindungen dar, sondern jeder Knoten ist mit jeweils dem Knoten verbunden, über den er Internetzugang erhält.


Hinweis: Es ist möglich, dass für einige Knoten zu bestimmten Zeiten keine Verbindungen zu Internetversorgern angezeigt wird. Dies heißt nicht unbedingt, dass diese keinen Internetzugang haben, sondern kann auch durch nicht erfasste Zwischenknoten (deren Betreiber möglicherweise weder Koordinaten noch Adressinformationen hinterlegt haben) verursacht werden.

Hinweise für Knotenbetreiber im Freifunknetz Halle

Der Synchronisationszyklus findet im Moment alle 15 Minuten statt. Es steht jeweils das Protokoll der letzten Synchronisation zur Verfügung.

Bitte gebt eure Geokoordinaten auf der Kontaktseite im entsprechenden Feld in dezimaler Schreibweise in der Form: Länge;Breite an um erfasst zu werden. Wenn ihr den genauen Knotenstandort nicht auf der öffentlichen Karte angeben wollt, so gebt bitte zumindest unter Standort den Namen eurer Straße ein, damit wir den Knoten zumindest ungefähr geographisch erfassen und einordnen können.

Die Koordinaten eines Punktes auf der Karte könnt ihr durch Doppelklick auf die Karte anzeigen lassen, zoomt vorher bitte möglichst nah heran und nutzt die Hybrid / Satelliten Bilder um euere Knotenposition auszuwählen.

Hinweis: Die Koordinatenbestimmung über die Vogelperspektive von Virtual Earth ist aus bisher unbekannten Gründen nicht möglich.


Hinweise für Administratoren / Entwickler

FFHTopo ist freie Software unter der GNU GPL v3. Jeder kann diese Software benutzen oder an ihrer Weiterentwicklung mitwirken.

Geplante Features

  • Kontext Routenverfolgung: Eine grafische, animierte Routenverfolgung von einen Punkt des Netzes zu einem anderen
  • Kontext Hardware: Unterscheidung der Netzknoten nach verwendeter Hardware
  • Kontext Funkfrequenzen: Unterscheidung der Knoten / Verbindungen nach 2.4 GHz / 5 GHz bzw. verwendetem Funkkanal
  • URL-Verarbeitung zum automatischen Auswählen eines Kontextes, einer bestimmten Karteneinstellung und/oder eines Symbols über URL-Parameter

Allgemeine Struktur

Server-Backend

Das Backend ist in der Programmiersprache Python geschrieben und umfasst:

  • FFHTopo-Klassen: allgemeine Klassen zur Datensammlung und Verarbeitung
  • Synchronisierungsdienst: analysiert das Netz und speichert Knotendaten in der Datenbank
  • JSON-Server: Stellt Netzinformationen aus der Datenbank und der aktuellen Topologie zur Verarbeitung durch das Frontend

Client-Frontend

Das Frontend ist eine JavaScript-Anwendung, die aus folgenden Teilen besteht:

  • Kartenabstraktionsbibliothek: stellt eine gemeinsame Schnittstelle zu verschienenden Karten APIs (Client-Backends) her
  • Kartenkontextverwaltung: stellt allgemeine Ausgabefunktionen zur Verfügung und verwaltet verschiedene unabhängiger Unterprogramme "Kartenkontexte"

Bekannte Probleme

Virtual Earth API

  • Es ist anscheinend nicht möglich Events jeglicher DOM-Knoten innerhalb eines karteninternen Infofensters abzufangen (dadurch funktionieren Vektorberechnung und Linkverfolgung mit dieser API nicht)
  • In der Vogelperspektive gibt es Probleme mit dem Abfangen von Doppelklickevents auf die Karte (dadurch ist es nicht möglich im Topographie-Kontext in der Vogelperspektive eigene Punkte zu erstellen)

Download

svn export https://svn.midlink.org/ffhtopo