Wiki - Freifunk Pinneberg

Freies WLAN im Kreis Pinneberg

Benutzer-Werkzeuge

Webseiten-Werkzeuge


meshviewer

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
meshviewer [07.12.2015 15:03] – [Frontend] havelockmeshviewer [14.12.2023 15:23] (aktuell) – [Backend] havelock
Zeile 6: Zeile 6:
 Folglich muß das Backendprogramm auf einem Rechner laufen, der Teil Folglich muß das Backendprogramm auf einem Rechner laufen, der Teil
 des Meshs ist. des Meshs ist.
-Das Backend schreibt die Daten in drei JSON-Dateien, welche sinnvollerweise+Das Backend schreibt die Daten in drei [[meshviewer_json|JSON-Dateien]], welche sinnvollerweise
 in einem Datenverzeichnis abgelegt werden. In den Dateien ist beispielsweise in einem Datenverzeichnis abgelegt werden. In den Dateien ist beispielsweise
 das erste Auftauchen eines Knotens vermerkt: das erste Auftauchen eines Knotens vermerkt:
-  * ''graph.json'' 
   * ''nodelist.json'' - Kurze Knotenliste   * ''nodelist.json'' - Kurze Knotenliste
   * ''nodes.json'' - Detaildaten zu den einzelnen Knoten   * ''nodes.json'' - Detaildaten zu den einzelnen Knoten
 +  * ''graph.json'' - Beschreibung der Verbindungen der Knoten untereinander
 +  * ''blacklist.json'' - Korrekturmöglichkeit für Knoten, die die Karte "sprengen"
  
 Werden die Dateien gelöscht, beginnt man ganz von vorne, d.h. alle  Werden die Dateien gelöscht, beginnt man ganz von vorne, d.h. alle 
Zeile 20: Zeile 21:
 | {{:icon-location.png?nolink|}} | Koordinaten sind vorhanden, Knoten wird auf der Karte angezeigt | | {{:icon-location.png?nolink|}} | Koordinaten sind vorhanden, Knoten wird auf der Karte angezeigt |
 | {{:icon-car.png?nolink|}} | Mobiler Knoten (role=mobile) | | {{:icon-car.png?nolink|}} | Mobiler Knoten (role=mobile) |
 +| {{:icon-clock.png?nolink|}} | Temporärer Knoten z.B. nur tagsüber verfügbar (role=temp) |
 | {{:icon-planet.png?nolink|}} | VPN Offloader (role=offloader) | | {{:icon-planet.png?nolink|}} | VPN Offloader (role=offloader) |
 | {{:icon-flask.png?nolink|}} | Testknoten (role=test) | | {{:icon-flask.png?nolink|}} | Testknoten (role=test) |
 | {{:icon-earth.png?nolink|}} | Gateway | | {{:icon-earth.png?nolink|}} | Gateway |
 +| {{:icon-gear.png?nolink|}} | Knoten für Dienste (Server) |
  
  
 ===== Backend ===== ===== Backend =====
-Das Backend heißt ''ffmap-backend'', das Pinneberger Programm ist zu finden unter: [[https://github.com/freifunk-pinneberg/ffmap-backend]]+Das Backend heißt ''ffmap-backend'', das Pinneberger Programm ist zu finden unter: [[https://git.pinneberg.freifunk.net/thooge/ffmap-backend]] 
 + 
 +Abhängigkeiten von Programmen 
 +  * ''batctl'' 
 +  * ''alfred-json'' 
 +  * ''batadv-vis''
  
 Voraussetzung für den Betrieb: Voraussetzung für den Betrieb:
 <code> <code>
-aptitude install python3 python3-networkx rrdtool+aptitude install python3 python3-networkx python-configparser rrdtool
 </code> </code>
  
Zeile 53: Zeile 61:
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  
-*/1 * * * * root /usr/local/bin/ffmap-backend/backend.py -d /var/lib/ffmap/mapdata -a /etc/ffmap/aliases.json --with-rrd+*/1 * * * * root /usr/local/bin/ffmap-pi/backend.py -d /var/lib/ffmap/mapdata --with-rrd
 </file> </file>
  
Zeile 88: Zeile 96:
 ===== Frontend ===== ===== Frontend =====
  
-Wir benutzen die Version des Frontends mit einigen kleinen eigenen Änderungen.+Wir benutzen die Version des Frontends mit einigen kleinen eigenen Änderungen. 
 +Die Quellen befinden sich unter: https://github.com/ffnord/meshviewer
  
-  aptitude install nodejs npm ruby-sass +  aptitude install nodejs nodejs-legacy npm ruby-sass
- +
-Abhängigkeiten +
-  * batctl +
-  * alfred-json +
-  * batadv-vis+
  
 <code> <code>
 git clone https://github.com/ffnord/meshviewer.git git clone https://github.com/ffnord/meshviewer.git
 cd meshviewer cd meshviewer
 +git checkout v4
 npm install npm install
 npm install bower grunt-cli npm install bower grunt-cli
 node_modules/.bin/bower install node_modules/.bin/bower install
 +ln -s /var/lib/ffmap/mapdata data
 </code> </code>
  
Zeile 117: Zeile 123:
 </code> </code>
  
 +  cp config.json.example config.json
 +  
 +Config.json bearbeiten
 +  
 TODO RESTORE TODO RESTORE
 +
 +TODO Wenn es keinen Knoten mit Koordinaten gibt, dann wird die Leaflet-Karte nicht angezeigt
 +
 +<WRAP center round info>
 +Wenn die JSON-Dateien von  einem anderen Server geladen werden, so 
 +muß dieser einen zusätzlichen Antwortheader einbauen. Für Lighttpd ist das 
 +z.B.: ''setenv.add-response-header = ( "Access-Control-Allow-Origin" => "*" )''
 +</WRAP>
 +
 +==== Alternativinstallation ====
 +
 +Ohne den ganzen NodeJS-Plunder.
 +Es werden soweit es geht Pakete des Betriebssystems verwendet,
 +Siehe dazu auch den Helgoländer Meshviewer.
 +
 +<code>
 +apt-get install libjs-moment libjs-d3 libjs-requirejs libjs-es6-shim
 +</code>
 +
 +
 +==== Statistik ====
 +
 +  aptitude install php-gd php-rrd
 +
 +Die Statistiken sind im Unterverzeichnis ''stats'' zu finden.
 +
  
  
meshviewer.1449496986.txt.gz · Zuletzt geändert: 07.12.2015 15:03 von havelock