Telemetrie-Dashboard im Morelo Palace

  • Hallo zusammen,

    wir hatten das Thema Dashboard ja bereits in anderen Threads gestreift und ich hatte ja zugesagt, mein Projekt kurz zu skizzieren:





    Vorbemerkung


    Die neue CerboGX von Victron Electronics und die Supersense Sensoren von Comworks sind eine gute Basis für noch mehr ;)

    Ein Linux-Server, eine IoT Software, die richtigen Schnittstellen, eine Datenbank, etwas Javascript und ein HTTP-Server. Tatsächlich lässt sich mit diesen Zutaten ein fahrzeugspezifisches Dashboard bauen. Ob man so etwas wirklich braucht? Auf keinen Fall! Ich will das gar nicht diskutieren. Ich mache das, weil es mir Spaß macht. Das Konzept teile ich gerne. Es gibt bestimmt noch mehr so bekloppte wie mich 8o .Wer sich für ein eigenes Projekt inspiriert fühlt, dem sei jedoch gesagt dass tiefergehende Linux-Kenntnisse, sowie Erfahrungen mit ioBroker und Javascript unabdingbar sind. Ich möchte unbedingt vorausschicken, dass dies ein sehr spezielles Thema für Spezialisten ist.


    Die Basis


    Die Hardware-Anforderungen an einen Linux-Server im Wohnmobil sind etwas spezieller. Eine 12-16 V Stromversorgung ist von Vorteil. Leistungsfähig soll der Server sein, weil auf ihm node.js, der ioBroker, die Influx Datenbank und natürlich der HTTP Server flüssig laufen sollen. Meine Empfehlung ist hier der ODROID N2 Einplatinencomputer. Er erfüllt mit seinen sechs Prozessorkernen und seiner 12 Volt Spannungversorgung schon mal die wesentlichen Anforderungen. Was den ODROID von anderen Computern dieser Art unterscheidet, ist seine Eigenschaft das Betriebssystem von einem internen Flash-Speicher zu laden. Das macht ihn robust und äußerst ausfallsicher. Andere Einplatinenrechner laden ihr Betriebssystem von einer SD-Speicherkarte. Das geht oft nicht lange gut, weil diese Speichermedien nicht für häufiges Schreiben geeignet sind. Plötzliche Stromausfälle sind für den ODROID auch kein Problem und der Energieverbrauch ist fulminant niedrig; also genau das Richtige für das Wohnmobil!


    Ich empfehle als Software-Fundament die aktuellen LTE Versionen von Ubuntu (derzeit 20.04 LTE). Und weil das Linux headless, also ohne Monitor und Tastatur werkelt muss es auch nicht die Desktop Version sein. Die Minimalversion ist also ausreichend und wird über ssh mittels Terminalprogramm administriert.


    Wenn das Ubuntu auf dem ODROID läuft, kann mit der Installation der erforderlichen Services begonnen werden. Das geht recht flott. Wir benötigen InfluxDB und ioBroker. Node.js wird bei der Installation von ioBroker automatisch mit installiert. Das war es auch schon fürs Erste. Alle anderen Komponenten die benötigt werden, können später über die Admin-Oberfläche des ioBroker installiert werden.


    IoBroker


    Wie der Name schon nahelegt, ist ioBroker eine Plattform um die unterschiedlichsten IoT Applikationen anzubinden und deren Daten beliebig untereinander auszutauschen. Für fast alle gängigen Technologieplattformen gibt es sogenannte ioBroker-Adapter. Diese erlauben einen Zugriff auf die Daten dieser Applikationen über den ioBroker. Und das nicht nur lesend, sondern oft auch schreibend. Über den ioBroker lassen sich also die Register der über den Adapter ansprechbaren Technologie auslesen und gegebenenfalls auch schreiben. Damit lassen sich kleine wie große IoT Szenarien realisieren. Das alleine ist schon ein sehr mächtiges Werkzeug, doch ioBroker hat noch zwei weitere sehr mächtige Eigenschaften: Eine integrierte Javascript Engine welche mittels node.js serverseitige Dienste bereitstellt. Javascript wird also nicht ausschließlich im Browser des Endgeräts verarbeitet, sondern auch serverseitig. Das ist dann sehr nützlich, wenn man sich verändernde Daten im Browser in Echtzeit anzeigen will, ohne die Seite neu aufzubauen. Womit wir beim weiteren Werkzeug von ioBroker wären. Ein Visualisierungseditor. Mit dem ioBroker Adapter „vis“ lassen sich auf relativ einfache Weise HTTP-Dashboards erstellen und editieren, mit denen z.B. Telemetriedaten forlaufend aktualisiert werden.


    Die Adapter


    Damit ist das Projekt eigentlich schon vollständig skizziert. Was noch bleibt, sind die richtigen Adapter um Zugriff auf die relevanten Daten des Dashboards zu erhalten.


    # InfluxDB

    Die Datenbank InfluxDB hatten wir ja bereits auf dem Ubuntu-Server installiert. Unter ioBroker gibt es einen gleichnamigen Adapter, der für jedes Datum (in ioBroker Objekt genannt) die Möglichkeit mitbringt, die sich verändernden Daten in einer Datenbank abzulegen. Das eröffnet überhaupt erst die Möglichkeit, die Echtzeitdaten historisch auszuwerten. Da ist der Fantasie keine Grenze gesetzt.


    #Modbus

    Der Modbus Adapter ermöglicht schließlich den Zugriff auf alle Modbus Register des CerboGX. IP-Adresse des CerboGX im Modbus Adapter eintragen und schwups, schon können alle Register des CerboGX ausgelesen, über vis visualisiert und mittels InfluxDB historisch ausgewertet werden. Hierzu gehören sämtliche an den CerboGX angeschlossenen Victron Geräte wie Wechselrichter, Messshunts am Akku, Solarregler und – über die Tankeingänge und den angebundenen Supersense Sensoren mittels der neuen Multiconverter – eben auch die Füllstände der Wasser- u. Gastanks.


    Es gibt unzählige Adapter mit denen sich nach eigenem Gusto weitere Informationen in Echtzeit auf das Dashboard zaubern lassen. Was noch fehlt kann mit den Javascript Werkzeugen selbst erstellt werden.




  • Das wär genau die richtige Spielerei für mich - top :thumbup: :thumbup: :thumbup:. Danke für die Idee & Beschreibung!


    Meine Frau wird mich für verrückt erklären =O :saint: - aber sie kennt das ja von diversen anderen Projekten wie unserer Haussteuerung ... 😂


    Grüße

    Manfred

  • Heiko,

    Habe ich gelesen, dass Sie jetzt die Supersense-Tankschnittstellen haben, die den Cerbo versorgen? Einen tollen Überblick über Ihr Projekt Ich freue mich auf Ihre stabile Veröffentlichung. ;)

    2019 Morelo Palace Liner 88LB SLO with slide out on MB chassis

  • Großes Kino, Heiko.


    Das schreit förmlich nach einer eingehenderen Diskussion beim nächsten Treffen.


    Ralf

    Glaube nicht alles, was du hörst
    Sage nicht alles, was du willst und
    Tue nicht alles, was du magst
    (M.Luther)


    Aus einem verzagten Arsch kommt kein fröhlicher Furz (M.Luther)


    Better to remain silent and be thought a fool than to speak out and remove all doubt
    (A. Lincoln)

  • Da sag ich jetzt nix zu,


    braucht Man(N) das? eher nein aber es befriedigt den Spieltrieb,

    zumindest ein wenig unterwegs.

    Das ist genauso wie zu hause, da braucht man auch kein Dashboard aber auf der Couch das licht dimmen,

    hmmm das hat was.


    Ich bin dabei wenns ums umsetzen geht. warte nur noch aufs neue Auto


    vG Dieter