aspern.mobil LAB DATAhub
How To
Was ist der DATAhub?
Der DATAhub ist eine digitale, öffentlich zugängliche Daten-Sammelstelle. Hier können Sie die
Temperatur- und Lautstärkemessungen unserer Sensorboxen
nachschauen. Auch Feinstaubmessungen mittels unserem Pocobo
gehören zu den Daten des DATAhubs.
Neben diesen, von uns gemessenen Werten, ermöglichen wir aber auch das Erkunden von externen, öffentlichen Daten, wie zum Beispiel
Open Governmental Data (OGD) oder der GeoSphere Austria
Auf unserem DATAhub können Sie sich
interaktiv durch die aufgezeichneten und zur Verfügung gestellten Messungen klicken.
So können Sie beispielsweise die Werte an bestimmten Tagen betrachten oder sich einen Überblick über den
Temperatur- sowie Lärmverlauf in einem gewählten Zeitraum verschaffen. Eine große Karte ermöglicht das
Navigieren zwischen den aktuellen sowie ehemaligen Messungen. Diverse Filtermöglichkeiten helfen den
Datenpool entsprechend individueller Anforderungen anzupassen. Außerdem können Sie sich zusätzliche
Informationen wie Fahrradwege, das Wiener Baumkataster oder die Werte der öffentlichen Messtationen
einblenden lassen.
Ziel unseres DATAhubs ist einerseits eine Testumgebung für unsere eigenen Umweltsensoren und die Umweltsensoren unserer Projektpartner:innen zu schaffen. Über die offene API können prinzipiell alle an citizen Science interessierten Organisationen und Personen, mit Bezug zur Messung von Umweltdaten, Messungen in unseren DATAhub einspeisen. Darüber hinaus soll der DATAhub in Zukunft eine Webplattform werden, die ein engmaschiges Netzwerk an Umweltdaten unterstützt und dadurch wichtige Informationen für die Stadtplanung und die Gestaltung freundlicher, gesunder und lebenswerten öffentlicher Räume bietet. Bei der Entwicklung unserer eigenen Umweltsensoren achten wir besonders auf den Nutzungskontext und die Lebensrealitäten der Nutzer:innen und gestalten die Geräte so, dass sie in alltäglichen Situationen, quasi nebenbei, eingesetzt werden können. So kann jeder, ohne großen Aufwand, zur Messung von Umweltdaten beitragen.
Der DATAhub wird laufend weiterentwickelt. Dabei achten wir darauf offene Schnittstellen anzubieten, sodass möglichst viele interessierte Nutzer:innen und Organisationen Daten beitragen können. Weiters legen wir großen Wert auf eine verständliche und sinnvolle Darstellung der Messwerte und bieten zusätzlich zu den gemessen Werten auch Hintergrundinformationen zu den Messgrößen an. Dies unterstützt die Bewusstseinsbildung hinsichtlich eines nachhaltigeren persönlichen Lebensstils und über die Lebensqualität in öffentlichen Räumen.
Die Messwerte des DATAhubs werden durch einfach zugängliche, kostengünstige technische Komponenten erzeugt. Die Messungen erfolgen vorwiegend durch engagierte Bürger:innen, die unsere Umweltsensoren in ihrem Umfeld einsetzen. Daher können die gemessenen Daten durch Einflüsse betreffend die Montage und Handhabung der Umweltsensoren beeinflusst werden. Darüber hinaus sind diese kostengünstigen Sensoren in der Regel nicht geeicht und können Ungenauigkeiten, Falschwerte und Verzerrungen aufweisen. Als Vergleichswerte bieten wir daher zusätzlich die entsprechenden Daten der offiziellen Messtationen am DATAhub an.
Sie können mitwirken!
Die API des DATAhubs ermöglicht es externen Personen und Instituten, Sensordaten an unseren DATAhub zu senden, diese hier zu sammeln
und bei Bedarf als GeoJSON zu exportieren. Hierbei erhält jede Datenquelle einen eindeutig identifizierenden Token.
Die folgende Dokumentation beschreibt die Endpunkte zur Datenübertragung, die erforderlichen Parameter sowie die Exportfunktionen.
• Authentifizierung via JSON Web Token
Zur Authentifizierung der Datenquelle ist es erforderlich einen
JSON Web Token mitzuschicken. Diesen bekommen Sie von uns zugeschickt,
nachdem eine passende Datenquelle am Server angelegt wurde.
Zum beantragen eines solchen Tokens schicken Sie uns gerne eine Mail an mert.usul@mobillab.wien
Für jede Anfrage an die REST-API muss dann dieser Token auch als Teil
der URL gesendet werden
curl
-X POST
-d '{"type": "Feature", "geometry": {"type": "Point", "coordinates": [100.0, 0.0]}, "properties": {"Temperature": [24.5, "°C"], "Noise": [100.0, "dB"], "timestamp": "1617140798000" }'
https://aml.media.tuwien.ac.at:11312/api/sensordata/<token>

Der Server überprüft dann den Token, und liest aus dem Token die Datenquellen-ID aus und kann somit die
Nachricht der richtigen Datenquelle zuordnen.
• Daten senden
/api/sensordata/<token>
Dieser Endpunkt nimmt ReadingPoint Daten entgegen. Der Token, den Sie von uns bekommen, kann als Teil der
URL mitgegeben werden. Dabei muss der GeoJSON-Body der
Nachricht
folgendem Schema folgen:
{
"type": "Feature",
"geometry": {
"type": "<Geometrie-Typ>",
"coordinates": [<Longitude>, <Latitude>]
},
"properties": {
"<Reading name>": [<Reading value>, "<Reading unit>"],
...,
"timestamp": "<POSIX timestamp> in ms"
}
}

D.h. es kann z.B. so aussehen:
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [100.0, 0.0]
},
"properties": {
"Temperature": [24.5, "°C"],
"Noise": [100.0, "dB"],
"Geruch": ["Blumig", ""],
"timestamp": "1617142473000"
}
}

Falls ein Gerät keine POSIX timestamp erstellen kann, ist es auch möglich, einen emtpy string zu senden,
dann wird die Zeit des Emfpangs am Server als timestamp verwendet.
• Status senden
/api/sensorstatus/<token>
Dieser Endpunkt erlaubt es Geräten, Informationen über ihren Status zu senden:
Batteriestand in Prozent und Millivolt, ob ein GPS fix erfolgen konnte und ob das Gerät sich
herunterfährt und damit offline geht. Der Token kann wie oben beschrieben als Teil der URL oder
im Header mitgegeben werden.
Default, wenn alles gut ist, reicht folgende Nachricht aus:
{
"battery": 0.85,
"millivolt": 123.5
}

wenn die batterie niedrig ist als signal, dass die box offline geht (0 fuer false)
{
"battery": 0.05,
"millivolt": 3.5,
"online": 0
}

gleichsam das, falls es kein GPS-signal gibt:
{
"battery": 0.85,
"millivolt": 123.5,
"gps_fix": 0
}

• Daten exportieren
/api/datasource/<source_id>
Mit der DataSource ID können über diesen Endpunkt alle Daten zu dieser
DataSource abgerufen werden, um z.B. ein Dashboard damit zu betreiben. Die DataSource ID bekommen
Sie auch von uns, zusammen mit dem Token, zugeschickt. Die Daten werden im Folgenden Format exportiert:
{
"source_id": 3,
"source_name": "Sensorbox 6",
"description": "+430123456789; MM; v1.0",
"battery_level": null,
"battery_millivolt": null,
"gps_fix": false,
"online": false,
"reading_points": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
16.344734,
48.223747
]
},
"properties": {
"Temperature (°C)": 15.74,
"Timestamp": "2021-03-31 00:04:25.600797"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
16.344734,
48.223747
]
},
"properties": {
"Noise (dB)": 46,
"Timestamp": "2021-03-31 00:04:25.600797"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
16.344734,
48.223747
]
},
"properties": {
"Temperature (°C)": 14.78,
"Timestamp": "2021-03-31 00:24:25.738378"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
16.344734,
48.223747
]
},
"properties": {
"Noise (dB)": 48,
"Timestamp": "2021-03-31 00:24:25.738378"
}
}
]
}
}
