Opennet API: Unterschied zwischen den Versionen

Aus Opennet
Wechseln zu: Navigation, Suche
(Geronimo v2 von "Geronimo" verschoben)
 
(Hinweis auf http-Abruf von ondataservice-Daten)
 
(11 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
Die Opennet API (Geronimo v2) bietet Statusdaten des Mesh-Netzwerks und Meta-Daten der lokalen Communities basierend auf verschiedenen Quellen mittels einer REST-API an. Der Vorgänger dieses Diensts war [[Geronimo/v1|Geronimo v1]].
 +
 
== Überblick ==
 
== Überblick ==
* Vorgedanken und Funktionsumfang: [[Geronimo/Planungv2]]
+
* Vorgedanken und Funktionsumfang: [[Geronimo/v2/Planung]]
 
* [https://dev.on-i.de/query?status=accepted&status=assigned&status=new&status=reopened&component=on_geronimo&col=id&col=summary&col=status&col=type&col=priority&col=milestone&col=component&desc=1&order=status Tickets]
 
* [https://dev.on-i.de/query?status=accepted&status=assigned&status=new&status=reopened&component=on_geronimo&col=id&col=summary&col=status&col=type&col=priority&col=milestone&col=component&desc=1&order=status Tickets]
* URL: https://api.opennet-initiative.de/api/v1/accesspoint/
+
URLs für einen Node:
 +
* https://api.opennet-initiative.de/api/v1/accesspoint/192.168.1.11
 +
* https://api.opennet-initiative.de/api/v1/accesspoint/192.168.1.11/links
  
=== Datenquellen ===
+
Für alle Nodes:
 +
* https://api.opennet-initiative.de/api/v1/accesspoint/
 +
* https://api.opennet-initiative.de/api/v1/link
 +
* https://api.opennet-initiative.de/api/v1/interface
 +
 
 +
Filtern nach AP-Status, z.B. "online" (alternativ "flapping")
 +
* https://map.opennet-initiative.de/api/v1/accesspoint/?status=online&data_format=geojson&in_bbox=10.314788818359373,53.72027890176105,14.860382080078127,54.29969774594346
 +
 
 +
Für JSON-Format  ?format=json anhängen, z.B.:
 +
* https://api.opennet-initiative.de/api/v1/accesspoint/192.168.1.11?format=json
 +
 
 +
Für GeoJSON  ?format=geojson, z.B. alle Links im GeoJSON Format:
 +
* https://map.opennet-initiative.de/api/v1/link/?data_format=geojson&in_bbox=10.314788818359373,53.72027890176105,14.860382080078127,54.29969774594346
 +
 
 +
== Datenquellen ==
 
* Wiki: AP-Liste mit Besitzern und Positionen
 
* Wiki: AP-Liste mit Besitzern und Positionen
* [[Ondataservice]]: (Hardware, Firmware, Systemzustand, Netzwerkschnittstellen
+
* [[Ondataservice]]: Hardware, Firmware, Systemzustand, Netzwerkschnittstellen
 +
** derselbe Datensatz ist auch via [[Ondataservice#Alternativer_HTTP-Abruf|HTTP-Abruf]] verfügbar (erfordert eine manuelle Anpassung für Firmware bis 0.5.4)
 
* [[OLSR]]: Links, Qualität, "lastseen"-Zeitstempel
 
* [[OLSR]]: Links, Qualität, "lastseen"-Zeitstempel
 
* manuell gepflegte Liste von Regionen für [[Freifunk API]]
 
* manuell gepflegte Liste von Regionen für [[Freifunk API]]
  
=== Funktionsumfang ===
+
== Funktionsumfang ==
 
* Zusammenfassung verschiedener Datenquelle
 
* Zusammenfassung verschiedener Datenquelle
 
* aktuelle Zustände von Accesspoints und Links ausliefern
 
* aktuelle Zustände von Accesspoints und Links ausliefern
 
* Metadaten für die [[Freifunk API]] ausliefern
 
* Metadaten für die [[Freifunk API]] ausliefern
  
=== Architektur ===
+
== Architektur ==
 
* Django-Anwendung liefert Daten via REST-Framework aus (inkl. Unterstützung für Geodaten - z.B. Bounding-Box-Limitierung von Abfragen)
 
* Django-Anwendung liefert Daten via REST-Framework aus (inkl. Unterstützung für Geodaten - z.B. Bounding-Box-Limitierung von Abfragen)
 
* Import von Daten aus den verschiedenen Quellen via cron-Jobs
 
* Import von Daten aus den verschiedenen Quellen via cron-Jobs
 +
 +
== Entwicklung ==
 +
* [http://dev.opennet-initiative.de/browser/on_geronimo git-Repository] auschecken: <tt>git clone https://dev.opennet-initiative.de/git/on_geronimo</tt>
 +
* Dienst lokal starten: <tt>python3 manage.py runserver</tt>
 +
* Daten importieren (manuell):
 +
** python3 manage.py import_wiki
 +
** python3 manage.py import_olsr http://192.168.2.76:2006/
 +
** python3 manage.py import_ondataservice examples/ondataservice.db
 +
* API abfragen (z.B. Browser oder curl): http://localhost:8000/api/v1/accesspoint/
 +
* Release erstellen: <tt>make release-(major|minor|patch)</tt>
 +
* deb-Paket bauen: <tt>make dist-deb</tt>
 +
* deb-Paket bauen und auf einem Server installieren: <tt>make deploy-deb-remote DEPLOY_TARGET=root@example.on</tt>
 +
 +
== Installation ==
 +
* deb-Paket installieren (zuvor eventuell manuell erstellen - siehe oben)
 +
* den Anweisungen aus der Datei <tt>/usr/share/doc/on-geronimo-api/README.Debian</tt> folgen

Aktuelle Version vom 13. April 2019, 13:15 Uhr

Die Opennet API (Geronimo v2) bietet Statusdaten des Mesh-Netzwerks und Meta-Daten der lokalen Communities basierend auf verschiedenen Quellen mittels einer REST-API an. Der Vorgänger dieses Diensts war Geronimo v1.

Inhaltsverzeichnis

[Bearbeiten] Überblick

URLs für einen Node:

Für alle Nodes:

Filtern nach AP-Status, z.B. "online" (alternativ "flapping")

Für JSON-Format  ?format=json anhängen, z.B.:

Für GeoJSON  ?format=geojson, z.B. alle Links im GeoJSON Format:

[Bearbeiten] Datenquellen

  • Wiki: AP-Liste mit Besitzern und Positionen
  • Ondataservice: Hardware, Firmware, Systemzustand, Netzwerkschnittstellen
    • derselbe Datensatz ist auch via HTTP-Abruf verfügbar (erfordert eine manuelle Anpassung für Firmware bis 0.5.4)
  • OLSR: Links, Qualität, "lastseen"-Zeitstempel
  • manuell gepflegte Liste von Regionen für Freifunk API

[Bearbeiten] Funktionsumfang

  • Zusammenfassung verschiedener Datenquelle
  • aktuelle Zustände von Accesspoints und Links ausliefern
  • Metadaten für die Freifunk API ausliefern

[Bearbeiten] Architektur

  • Django-Anwendung liefert Daten via REST-Framework aus (inkl. Unterstützung für Geodaten - z.B. Bounding-Box-Limitierung von Abfragen)
  • Import von Daten aus den verschiedenen Quellen via cron-Jobs

[Bearbeiten] Entwicklung

[Bearbeiten] Installation

  • deb-Paket installieren (zuvor eventuell manuell erstellen - siehe oben)
  • den Anweisungen aus der Datei /usr/share/doc/on-geronimo-api/README.Debian folgen
Meine Werkzeuge
Namensräume

Varianten
Aktionen
Start
Opennet
Kommunikation
Karten
Werkzeuge