Skip to content

Latest commit

 

History

History
66 lines (33 loc) · 1.27 KB

Treffen-2018-06-01.md

File metadata and controls

66 lines (33 loc) · 1.27 KB

Backend

  • InfluxDB als Datenbank

  • Grafana mit Datasource Plugin (Simple JSON), eigene API

  • GW-Admins fragen wegen fixer IP/App-VM (notfalls LXC, hauptsache sie hat Clientnetz)

  • Monitoring mit internen Events, evtl. Icinga2 mit REST

  • Python oder Node

  • Eigenständige Module für Sink, Access und Auth

Protokolle

  • Carbon (UDP/TCP)

  • HTTP(S) GET/POST

  • MQTT

  • Sensor ID

  • Timestamp UTC optional als Unixtime

Beispiele: sensor_123 ist sensorid

Carbon: sensor_123.(token).temperature 23 (1527861014) untstützt keine sub-ms

MQTT: { "sensor_123.temperature": 23, "sensor_123.humidity": 100, "token": "abcd", "signature": "sjnjbgsgbwoisrg", "timestamp_ms": 1527861014000 }

HTTP-GET: ?sensor_123.temperature=23&sensor_123.humidiity=100(&timestamp=0)(&timestamp_ms=1000)&token=asdf

XMPP

Für später: JSON-Batch

Authentifizierung, Autorisierung etc.

  • ACL's für Sensoren

  • Owner optional

Wahlweise keine Auth, Token Auth oder Signatur

Eigenes Submodul: Benachrichtigungen

Datenzugriff:

  • Grafana

  • REST-API

  • REST-API-Berichte

  • HTTP-Hook über Benachrichtuígungs-Modul

Events:

  • onDataSaved(SensorId) (Datenverarbeitung abgeschlossen)

  • onDataError(SensorId) (Datenverarbeitung mit Fehler abgebrochen)

  • periodically(period) (Event für periodische Checks)