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
:
Bearbeitet durch User
Filth _. schrieb: > wollte ich in die Runde fragen, ob Interesse an einem Portal besteht... Ja, besteht. Wie nun weiter?
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.
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
Hallo Joe, genau an diese Zielgruppe dachte ich: diejenigen, die die Hardware haben aber sich die Zeit sparen wollen, da noch am Backend rumzufummeln. Ich werde in Kürze eine erste Arbeitsversion veröffentlichen. Viele Grüße Alex
Der Grundaufbau ist schon mal da. Ich würde gerne mit 1-2 Usern die Grundfunktionen testen - gerne per PN.
Filth _. schrieb: > Ich würde gerne mit 1-2 Usern die > Grundfunktionen testen - gerne per PN. Hi, ich würde gerne „mittesten“. Vielen Dank tr0ll
Wie schon oben gesagt, ich würde es nach meinen Möglichkeiten testen. Joe
Hi Joe, ich richte Dir ebenfalls einen Zugang ein und melde mich die Tage. Viele Grüße Alex
@Joe schreibe mir bitte an meine Mailadresse alxtbk@gmail.com, ich brauche deine Emailadresse für den Account. Grüße Alex
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.
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
Die 42 ist aber im Backend angekommen, sieht man auch im Chart. Passt die Zeit?
Filth _. schrieb: > Die 42 ist aber im Backend angekommen, sieht man auch im Chart. > Passt > die Zeit? Im Backend ist nichts angekommen.
Ich schaue mir das gleich an. Sieht eigentlich alles richtig aus.
Die Url ist falsch, du musst https:// statt http:// verwenden. Eigentlich bekommst du da auch einen 301 response code zurück - zumindest ist es im chrome rest plugin so.
Filth _. schrieb: > Die Url ist falsch, du musst https:// statt http:// verwenden. Mit Https ging es auch nicht.
Gerade das Script ausprobiert, das muss so aussehen, dann klappt es: data = { "value": 666 } url = 'https://datahub.010102.de/uv1/api/sensor/<sensorid>/measurement'; response = requests.post(url, data, headers=header) print(response)
Vielen Dank, irgendwie hab ich Vergessen ein “,“ zu löschen.
:
Bearbeitet durch User
Das Komma ist nicht das Problem - diese Zeile muss weg: data = json.dumps(data) und dafür direkt so posten: response = requests.post(url, data, headers=header)
:
Bearbeitet durch User
Jetzt kann ich keine neuen Devices mehr anlegen. Fehler siehe anhang.
Ich habe gesehen, dass ich da Quatsch zu Deinem Python script geschrieben habe. Hier ist die vollständige und korrekte Version: https://github.com/filthz/datahub-examples/blob/main/submit_data.py
:
Bearbeitet durch User
Filth _. schrieb: > Ich habe gesehen, dass ich da Quatsch zu Deinem Python script > geschrieben habe. > > Hier ist die vollständige und korrekte Version: > > https://github.com/filthz/datahub-examples/blob/main/submit_data.py Vielen Dank, jetzt geht es.
Die Inbetriebnahme war für mich doch mit einigen Hürden verbunden, danke Alex für die Hilfe! Anbei mal ein lauffähiger Arduino Sketch für einen ESP8266 mit einem DHT11 Sensor für Temperatur und Luftfeuchte. Damit sollte der Einstieg vielleicht leichter fallen ;-) Gruß Joe
Joe G. schrieb: > Anbei mal ein lauffähiger Arduino Sketch für einen ESP8266 mit einem > DHT11 Sensor für Temperatur und Luftfeuchte. Damit sollte der Einstieg > vielleicht leichter fallen ;-) Mit einer Quelldatei als TXT? Das neue Jahr fängt für die Arduinos wohl auch nicht besser an als das Alte geendet hat.
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?
Joe G. schrieb: > Vor 40 Jahren habe ich PL1 oder Fortran auf > Lochkarten geschrieben. Gestern habe ich ihn in eine Textdatei kopiert - > wo ist dein Problem? Hahaha und heute machst du "Maker-Schüler-Arduino-Quatsch" und postet Quelltext im TXT Format. Oh das wäre mir peinlich.
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.