Monitoring Lösung / Backend für den Tüftler

OP #6530125
Lesenswert?

Hallo zusammen,

da ich beruflich mit dem Thema zu tun habe und diese Dinge spannend und 
nützlich finde, wollte ich in die Runde fragen, ob Interesse an einem 
Portal besteht, welches Daten beliebiger Geräte aufzeichnen kann. Es 
werden Schnittstellen wie zB MQTT und eine REST Api angeboten. Über 
diese können Daten gesendet werden und dann über das Portal abgerufen 
werden.

Damit lassen sich dann Überwachungslösungen realisieren, ohne dass man 
sich um den Backend-Teil kümmern muss. Ich selbst verwende so ein System 
beispielsweise, um die Temperaturen an unserem Ferienhaus auf Island zu 
überwachen. Es lassen sich Alarme einrichten, so dass ich eine Email / 
SMS bekomme, wenn zB die Heizung ausfällt oder die Temperaturen unter 
bestimmte Schwellen fallen.

Es geht darum dem Tüftler die Arbeit abzunehmen, selbst irgendwelche 
MQTT Broker aufzusetzen / sich um Grafana etc zu kümmern. Das Ganze 
sieht dann so wie im Screenshot aus.

Falls es interessant ist, würde ich diese Lösung für den 
Consumer-Bereich anbieten.

Viele Grüße
Alex
Angehängte Dateien:
OP #6530717
Lesenswert?

Ich würde als Nächstes die Infrastruktur aufsetzen und verfügbar machen.

Mir geht es hier darum einfach in eine Diskussion einzusteigen und zu 
verstehen, ob Bedarf an solch einer Lösung besteht. Falls ja, investiere 
ich gerne meine Zeit und stelle das zur Verfügung.

Mir geht es nicht darum, damit reich zu werden - ich habe einfach Spaß 
an diesen Dingen, mache es beruflich und könnte es parallel dazu für den 
Hobbygebrauch privat anbieten. Wenn meine Serverkosten gedeckt sind, ich 
ein paar Bier davon kaufen kann und die Leute glücklich sind, hat man 
eine Win-Win Situation.
Persönliche Seite #6530829
Lesenswert?

Hallo Alex,
das klingt gut. Ich bin derzeit an einem Projekt, wo ein autonomes 
Wasserfahrzeug (irgendwo draußen auf See) in Intervallen einen Datensatz 
zu Position und Zustand unterschiedlicher Sensoren über APRS sendet. 
Mittels einer APRS-IS to MQTT Bridge könnten diese dann prima über deine 
Lösung visualisiert werden, ohne dass wir uns um das Backend kümmern 
müßten.
Gruß Joe
OP #6533282
Lesenswert?

Die Anmeldung ist freigeschaltet. In der aktuellen Testphase ist das 
Ganze kostenlos.

Portal ist erreichbar über https://datahub.010102.de

Ablauf is wie folgt:

1) Anmelden bzw registrieren
2) Ein Device anlegen (zB Kessel)
3) Sensoren anlegen (Temperatur, Leistung). Bei nur einem vorhandenen 
Device werden Sensoren automatisch zum Device zugeordnet
4) Unter dem Device rechts oben "Actions" --> "Sensor Config". Dort sind 
nun alle zugeordneten Sensoren zu sehen. Wenn man auf "How to transmit 
data" klickt, öffnet sich unter jedem Sensor eine Erklärung, wie man die 
Daten übermitteln muss.

Datenübermittlung über REST

In diesem Fall muss ein X-AUTH-TOKEN in den Request Header geschrieben 
werden und der Wert mit einem POST Request an die URL aus der 
Beschreibung gesendet werden. Der X-AUTH-TOKEN identifiziert den User - 
also einfach aus der Info-Box rauskopieren. Dieser Token is pro User 
einmalig.

Die Url setzt sich immer gleich zusammen:
https://datahub.010102.de/uv1/api/sensor/{sensorId}/measurement
Der Payload ist der Sensorwert: { "value":12567 } (json).
content-type muss application/json sein


Datenübermittlung über MQTT

Hier eine MQTT Verbindung mit den Daten aus dem Info-Fenster herstellen. 
Benutzername und Passwort sind die Zugangsdaten aus der Portalanmeldung.
Client-ID muss die Device-ID sein. Diese findet man raus, wenn man das 
Device bearbeitet (EDIT) - dort die ID kopieren.

Der Topic an den die Daten gesendet werden müssen, setzt sich immer 
gleich zusammen: device/{deviceId}/rawdata

Der payload setzt sich so zusammen: {"value": 5.0, "sensor_id": 
"b7747dc9-18f5-451c-8ca3-5ec69c723e3b"} die SensorID ist hier ein 
Beispiel - die korrekte ID steht dann bei jedem Sensor in der Übersicht 
dabei

5) Wenn nun Daten gesendet werden, kann man unter Actions-->Dashboards 
sich schöne Dashboards zusammenklicken und speichern. Diese erscheinen 
dann bei dem Device.

Wenn was unklar ist - gerne fragen.
Persönliche Seite #6534538
Lesenswert?

Hi,

ich habe eine simples in Python geschrieben, welches Messwerte zu 
Datahub senden sollte. Vom Datahub bekomme ich eine 200 zurück.
1
import requests
2

3
auth_token="<auth token>"
4

5
'''
6
header = {
7
  "X-AUTH-TOKEN": auth_token
8
}
9
'''
10
header = {"X-AUTH-TOKEN": auth_token, "Content-Type": "application/json"}
11

12
data = {
13
  "value": 42,
14
}
15
data = json.dumps(data)
16

17
url = 'http://datahub.010102.de/uv1/api/sensor/<sensor-id>/measurement'
18
response = requests.post(url, json=data, headers=header)
19
print(response)

Hat jemand eine Idee, warum das Skript nicht geht?

Vielen Dank
tr0ll
Persönliche Seite #6537305
Lesenswert?

Cyblord -. schrieb:
> Mit einer Quelldatei als TXT? Das neue Jahr fängt für die Arduinos wohl
> auch nicht besser an als das Alte geendet hat.

Etwas weniger Überheblichkeit würde auch im neuen Jahr gut ankommen ;-)
Es ist einfach ein textbasierter Quelltext. Ob *.TXT oder *.FUK oder 
*.### ist ja wohl egal. Vor 40 Jahren habe ich PL1 oder Fortran auf 
Lochkarten geschrieben. Gestern habe ich ihn in eine Textdatei kopiert - 
wo ist dein Problem?
Persönliche Seite #6537344
Lesenswert?

Cyblord -. schrieb:
> Hahaha und heute machst du "Maker-Schüler-Arduino-Quatsch" und postet
> Quelltext im TXT Format. Oh das wäre mir peinlich.

Das darf dir gerne peinlich sein, mir ist es das nicht. Mir ging es um 
den Versuch einen MQTT Brocker schnell und ohne viel Aufwand 
anzusprechen um ihn für einen späteren Einsatz zu testen – nicht mehr 
und nicht weniger.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren