Opennet API: Unterschied zwischen den Versionen
Erscheinungsbild
Inhalt gelöscht Inhalt hinzugefügt
Leo (Diskussion | Beiträge) →Überblick: mehr Links mit Beispielen |
|||
| Zeile 12: | Zeile 12: | ||
* https://api.opennet-initiative.de/api/v1/link |
* https://api.opennet-initiative.de/api/v1/link |
||
* https://api.opennet-initiative.de/api/v1/interface |
* 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.: |
Für JSON-Format ?format=json anhängen, z.B.: |
||
* https://api.opennet-initiative.de/api/v1/accesspoint/192.168.1.11?format=json |
* 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 == |
== Datenquellen == |
||
Version vom 24. Februar 2019, 19:14 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.
Überblick
- Vorgedanken und Funktionsumfang: Geronimo/v2/Planung
- Tickets
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
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")
Für JSON-Format ?format=json anhängen, z.B.:
Für GeoJSON ?format=geojson, z.B. alle Links im GeoJSON Format:
Datenquellen
- Wiki: AP-Liste mit Besitzern und Positionen
- Ondataservice: Hardware, Firmware, Systemzustand, Netzwerkschnittstellen
- OLSR: Links, Qualität, "lastseen"-Zeitstempel
- manuell gepflegte Liste von Regionen für Freifunk API
Funktionsumfang
- Zusammenfassung verschiedener Datenquelle
- aktuelle Zustände von Accesspoints und Links ausliefern
- Metadaten für die Freifunk API ausliefern
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
Entwicklung
- git-Repository auschecken: git clone git@dev.on-i.de:on_geronimo.git
- Dienst lokal starten: python3 manage.py runserver
- Daten importieren (manuell):
- python3 manage.py import_olsr
- python3 manage.py import_wiki
- python3 manage.py import_ondataservice ONDATASERVICE_DB_DATEI
- API abfragen (z.B. Browser oder curl): http://localhost:8000/api/v1/accesspoint/
- Release erstellen: make release-(major|minor|patch)
- deb-Paket bauen: make dist-deb
- deb-Paket bauen und auf einem Server installieren: make deploy-deb-remote DEPLOY_TARGET=root@example.on
Installation
- deb-Paket installieren (zuvor eventuell manuell erstellen - siehe oben)
- den Anweisungen aus der Datei /usr/share/doc/on-geronimo-api/README.Debian folgen