Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
technik:yanic_meshviewer [24.10.2019 - 18:37] – nrb | technik:yanic_meshviewer [19.10.2024 - 22:17] (aktuell) – nrb | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Yanic & Meshviewer | + | ====== Yanic & Meshviewer ====== |
- | <WRAP center round alert 60%> | + | Wir betreiben fuer unsere Karte eine Yanic-Installation auf ffs03. Wir benutzen als Datenbank fuer Yanic influxdb und als Karte meshviewer. |
- | Dies sind interne technische Infos, die ein normaler Nutzer nie braucht. | + | |
- | </ | + | |
+ | ===== Yanic ===== | ||
- | unter Debian 10 | + | Yanic sammelt in unserem Netz die respondd-Daten von allen Nodes ein. Sie werden dann in folgenden Formaten zur Verfuegung gestellt: |
- | ===== Yanic ===== | + | * in der influxdb fuer Statistiken im Grafana und auf der Karte |
+ | * fuer die Karte (Meshviewer) als JSON | ||
+ | * die rohen eingesammelten Daten als so genannte raw.json (nur mit Authentifizierung) | ||
+ | * fuer den FFS-Monitor | ||
+ | * fuer das Konvertierskript auf yanic | ||
- | dafuer | + | ==== URLs ==== |
+ | |||
+ | ^ URL ^ Zweck ^ generiert von ^ | ||
+ | | https:// | ||
+ | | https:// | ||
+ | | https:// | ||
+ | | https:// | ||
+ | | https:// | ||
+ | | https:// | ||
+ | | https:// | ||
+ | | https:// | ||
+ | |||
+ | ==== Konvertierskript ==== | ||
+ | |||
+ | Aus historischen Gruenden™ | ||
+ | |||
+ | Ja, das muesste mal™ jemand aufraeumen. | ||
- | Damit der Yanic hinter einem normalen Gluon-Node respondd-Requests schicken kann, braucht man: | ||
- | < | ||
===== Meshviewer ===== | ===== Meshviewer ===== | ||
Zeile 25: | Zeile 42: | ||
- dann landet eine Application unter build | - dann landet eine Application unter build | ||
+ | Eine Buildumgebung fuer Meshviewer liegt auf ffs-yanic01 unter / | ||
+ | |||
+ | In der meshviewer Config haben wir fuer das Segment und die PLZ benutzerdefinierte Felder hinterlegt. Die interessanten Codezeilen sind: | ||
+ | <code javascript> | ||
+ | { | ||
+ | ' | ||
+ | ' | ||
+ | var seg = null | ||
+ | d.addresses.forEach(function(addr) { | ||
+ | if (addr.startsWith(" | ||
+ | addr_split = addr.split(":" | ||
+ | if (addr_split.length > 2) { | ||
+ | seg = addr_split[2].replace(" | ||
+ | } | ||
+ | } | ||
+ | }) | ||
+ | if (!seg) { | ||
+ | return "?" | ||
+ | } | ||
+ | return seg | ||
+ | } | ||
+ | }, | ||
+ | { | ||
+ | ' | ||
+ | ' | ||
+ | if (d.custom_fields && d.custom_fields.zip) { | ||
+ | return d.custom_fields.zip | ||
+ | } | ||
+ | return "?" | ||
+ | } | ||
+ | }, | ||
+ | </ | ||