Autoüberwachung mit OBD und Munic

Sieht auf dem Bild aus wie Alzheimer :wink: :smiley: :smiley:

Wäre cool wenn du dein Script auch mal postest. Wie hast du das mit dem Verbrauch hinbekommen ? Das passt bei mir überhaupt nicht :0( tankfüllstand mit 2f funktioniert auch nicht.

Zuerst das Fuel Modul mit den richtigen Werten für dein PKW konfigurieren und dann eine „Campaign“ mit Fuel und eine mit „0 - Data recorded upon journey event“ starten. Wie gesagt musste aber hier zuerst das Support Team etwas mit dem Data Modul fixen. Die Campaign musste ich mehrmals starten bevor es lief. Falls Du deine Data Campaign schon vor einiger Zeit gestartet hast, versuche mal eine Neue zu starten.

Der gesamt-Verbrauch wird dann nur am Anfang und am Ende einer Fahrt geschickt. Durch die Differenz bekommst Du den Verbrauch für die Fahrt. Das liegt daran, dass bei Prepaid Karten der Datenfluss geschont werden muss. Da ich meine eigene Karte habe, durfte ich eine Anfrage stellen, um den Verbrauch öfters zu bekommen.

Das funktioniert bei mir leider auch nicht. Bei 2f bekomme ich die Antwort „No Data“. Das ist aber scheinbar eine Problem mit den meisten Fahrzeugmodellen. Der Tankfüllstand wird fast nie unterstützt. Der einzige Weg ist dann den Stand beim Tanken manuell auf 100% zu setzten und den Wert mit dem Verbrauch runter zu rechnen. Nicht sehr schön…

Ich habe aber auch mit den anderen PIDs Probleme. Welche PIDs nutzt Du und wie liest Du die Werte raus?
Ich frage z.B. die Coolant Temperatur ab und bekomme dann ein String als Antwort mit dem ich nichts anfangen kann.

Da brauch ich noch etwas Zeit. Ich habe aber hauptsächlich 2 zusätzliche Funktionalitäten eingebaut zum einordnen und aggregieren der Daten.

Hier schon mal ein Tip zum Einordnen:


function cmp($a, $b)
{
    if ($a->payload->id == $b->payload->id) {
        return 0;
    }
    return ($a->payload->id < $b->payload->id) ? -1 : 1;
}
usort($fahrzeugdaten, "cmp");

Gruß
Zapp

Zuerst das Fuel Modul mit den richtigen Werten für dein PKW konfigurieren und dann eine „Campaign“ mit Fuel und eine mit „0 - Data recorded upon journey event“ starten. Wie gesagt musste aber hier zuerst das Support Team etwas mit dem Data Modul fixen. Die Campaign musste ich mehrmals starten bevor es lief. Falls Du deine Data Campaign schon vor einiger Zeit gestartet hast, versuche mal eine Neue zu starten.

Hab ich alles gemacht. Was hast du denn da eingestellt:
> Engine displacement = Hubraum (ccm)
> Volume Efficiency = bei 70 gelassen ??

Andere PID als 2f habe ich derzeit noch nicht aktiv in Nutzung … im Moment also gar keine :0D
Kann ich mir gerne aber mal die Tage anschauen.

Bei den Campaigns lade ich jedes mal alle Module hoch. Vorher hatte ich nämlich die selben probleme wie du. Machst du das auch so?

VG

Andreas

Hallo zusammen

kam leider in letzter Zeit nicht dazu zurückzuschreiben bzw. am Skript weiterzuschreiben.
Aber super was Ihr schon gemacht habt und ich bin auf eure Skripte gespannt.

Was ich aber geschafft habe ist die Umrechnung der negativen Zahlen.
Die braucht man zwar nur für die Beschleunigungs- bzw. Kurvendaten in mG und da weiß ich noch keine brauchbare Anwendung dür die Daten. Aber vielleicht hat jemand von euch ne Idee dafür.

function twoscomp($bin) {
    $out = "";
    $mode = "init";
    for($x = strlen($bin)-1; $x >= 0; $x--) {
        if ($mode != "init")
            $out = ($bin[$x] == "0" ? "1" : "0").$out;
        else {
            if($bin[$x] == "1") {
                $out = "1".$out;
                $mode = "invert";
            }
            else
                $out = "0".$out;
        }
    }
    return $out;
}




 function basetoint($base)
{
$i= 0;

$keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
do {
$enc[$i] = strpos($keyStr, substr($base, $i, 1));
//echo decbin($enc[$i])."
";
$i++;

} while ($i < strlen($base));
 ($b=($enc[1]<<20)|($enc[2]<<14)|($enc[3]<<8)|($enc[4]<<2)|($enc[5]>>4));

 if($base[0] == "/")
       $b=bindec(twoscomp(decbin($b)))*-1;


return (($b));
}

Wie fragt Ihr denn den Collant Temperatur und weitere PIDs an?

Gruß Jannis

Volume Efficiency habe ich bei 70 gelassen, weil dazu geraten wird. Das Engine displacement habe ich anhand dieser Formel selbst errechnet. Es ist aber in der Tat der Hubraum in ccm oder mL.

Das mit den Campaigns ist mir nicht ganz klar. Da ist die online Doku nicht sehr ausführlich. Ich starte normalerweise nur eine Campaign mit dem Modul, das ich geändert habe. Das hat mit dem eOBD Modul funktioniert. Für das Fuel Modul, musste ich aber noch zusätzlich die Data Campaign neu starten. Was mich stört ist, dass Campaigns nicht gestoppt oder editiert werden können. Ich habe jetzt eine lange Liste davon und es wird langsam unübersichtlich.

@Jannis: Danke für das erweiterte Decoding.

Dafür musst Du das eOBD Scanner Modul aus dem Store holen. War bei mir kostenlos. Danach musst Du es mit deiner Box verbinden. Anweisungen gibt es hier. Dann kannst Du es in deiner Konfiguration editieren und die PIDs von 5 OBD Parametern angeben, die Du regelmäßig Pollen möchtest. Es gibt aber keine Garantie, dass die PIDs unterstützt werden. Das ist vom Fahrzeughersteller und Modell abhängig.

In der Automobil-Industrie gibt es dafür einige Anwendungen, z:B. für die Erstellung von Kurven-abhängigen Geschwindigkeitsprofilen. Das ist aber vielleicht für ein Remote-Monitoring über IPS nicht so interessant :wink:

Gruß
Zapp

Ich habe jetzt endlich nach einer Test-Fahrt und einem Vergleich mit der Anzeige am Armaturenbrett die Kodierung der Werte, die das eOBD Modul zurück liefert, herausgefunden. Die sind ganz einfach 2 mal mit base64 kodiert. Ich nehme an, dass die Box die Werte mit base64 vom CAN Bus bekommt und der Server bei Munic die Werte dann nochmal kodiert.

Die Werte der Temperaturen werden dann so entziffert:


$temperature = ord(base64_decode(base64_decode($valfields->b64_value))) - 40;

Ich lese damit die Ambient Temperature (x46) und Coolant Temperature (x05).

Gruß
Zapp

Hallo zusammen,
ich habe heute zum ersten Mal hier mitgelesen. Tolle Arbeit und vielen Dank für die Infos. Ich hab noch eine Frage dazu, die ich bis jetzt noch nicht klären konnte.
Gibt es eine Möglichkeit, dass die Munic.Box direkt zum eigenen Server sendet oder geht das nur über die Munic-Cloud?

Gruß Tomy

Servus

bevor du den teuren Dongle kaufst bedenke das NICHT alle Autos auch alle Daten rausrücken.
Die OBD II Schnittstelle ist zwar standardisiert, aber die Hersteller müssen nicht alle Daten an die Schnittstelle liefern.

So gibt mir zb. meine Citroen zwar diversen langweiligen Kram über, Kühlmitteltemperatur, Ansaugdruck und so, aber die wirklich interesannten Daten wie: zb Tankinhalt oder kmH oder Kilometerstand oder so kommen nicht.

Besser vorher mit einem 5€ Chinesen OBD Adapter checken.

Ich hatte mir das ganze mittels altem Handy ohne Cloud Kram gebaut (Daten werden zwischengespeichert und bei Ankunft im eigenen WLAN zum IPS Server geladen. War viel Arbeit, aber die Daten sind eigentlich für die Katz. Bei meinem Wagen war nix wirklich interessantes dabei. Habs drum den Prototyp auch nicht mehr weitergepflegt.
Leider empfängt das Handy GPS im Wageninneren auch nur recht mangelhaft, sonst hätte man wenigstens damit was nettes basteln können. zb. Fahrtenbuch oder so.

gruß
bb

Danke für die schnelle Antwort und die Infos.
Mir ist bewusst, dass die Fahrzeugdaten vom KFZ abhängen.
Ich dachte, vielleicht ist es möglich z.B. mittels eigener SIM Karte die Daten auf den eigenen Server umzulenken? Kann man vielleicht die Box auf den eigenen Server umprogrammieren?
Gruß Tomy

Soweit ich das bis jetzt verstanden habe, kannst Du da nichts ändern. Es geht immer nur über den Munic.box-Server als Relay zu deinem Webserver.
Ich finde das auch gar nicht so schlecht: denn so wird sichergestellt, dass keine Daten verloren gehen - auch wenn dein Webserver mal auf dem Rücken liegt.
Ich hab das jetzt seit 5 Monaten im Dauerbetrieb (ca 20Tkm gefahren) und bin mit der Stabilität wirklich sehr zufrieden

Hallo

ich hab mir so ein China Teil besorgt für ca. 60,- €
Das geht direkt auf meine Server.
Da ich keinen wert auf ständige Verfügbarkeit lege reicht mir das aus.
Zu bedenken ist nur. dass da eine SMS in einstellbaren Zeitintervall gesendet wird und das Kosten verursacht.
Über einen einfachen Befehl per SMS ist das Teil zu konfigurieren, auch die Zeitintervalle.

Vielen Dank für Eure Infos.
Ich werde mal mit einer eigenen SIM Karte ein wenig testen. Es gibt ja auch ein SDK dazu, vielleicht lässt sich damit noch was bewegen.
Ich sitze gerade am Schreibtisch und versuche gerade den Dongle mit GSM zu verbinden. Leider ohne erfolg.
Ich hatte auch schon die Box aufs Fensterbrett gelegt, aber die Status LEDs zeigen immer noch, dass keine Verbindung erfolgt ist. Ist eine Verbindung nur im Auto möglich? Habt Ihr da bereits Erfahrung gesammelt?

Gruß Tomy

Hallo,
ich habe meine Fragen mal an den Support gestellt. Wenn es jemand interessiert, kann ich hier die Antwort auch posten.

Hat jemand schon erfolgreich eine Bluetooth Verbindung zwischen Munic.Box und Handy hinbekommen?
Ich scheitere beim Passwort. Versucht habe ich „0000“ und „1234“. Kennt ihr noch andere Passwörter zu dem Dongle?

Gruß Tomy

Die Produkte sind ursprünglich für Fleet Manager gedacht und daher wird die Lösung über eine Cloud angeboten. Ich hatte irgendwo gelesen oder vom Support gehört, dass ein eigenes Hosting nur für professionelle Kunden möglich ist. Dafür ist deren Server Software und Support nötig. Für meine Anwendungen (Fahrtenbuch und Auto-tracking, Verbrauch,…) ist die Lösung optimal und läuft ganz gut.

Hast Du das Teil ohne Dataplan bestellt? Die PIN von der SIM Karte entfernt?
Wenn Du den Anweisungen hier mit der Companion Software folgst, sollte es gehen. Das hat bei mir aber auch eine Weile gedauert. Richtig ist es dann erst im Auto gelaufen.

Bluetooth ist anscheinend neu. Das gab es bei meinem Modell noch nicht. Da steht auch nichts dazu in der Doku.

Gruß
Zapp

Hallo,
Ich hab ein Dongle ohne Dataplan bestellt und funktioniert auch jetzt mit der eigenen SIM Karte.

Bluetooth scheint noch nicht unterstützt zu sein, es taucht zwar in der Spezifikation auf, wird aber sonst nicht weiter beschrieben. Die Bluetooth Geräte, die ich gesehen hatte, waren leider die vom Nachbarn. :smiley:

Bei der Demo Website von Munic wundert mich, dass der GPS-km-Stand bei 0km beginnt und der OBD-km-Stand bei +2km. Wo kommt dieser Offset her?
GPS-km und OBD-km laufen auch im Betrieb weiter auseinander, also nicht synchron (GPS: 258km; OBD: 266km), ich dachte die werden im Intervall wieder angeglichen?

Der Kraftstoffverbrauch ist auch verwirrend. Beim Fahrtbeginn OBD-Fuel: 38805 und am Ende der Fahrt OBD-Fuel: 42478. Schön mein Tank wird voller wenn ich fahre:D. Wie sind die Werte zu deuten? In der Konfiguration hab ich ein Hubraum von 1910 ml eingetragen.

Gruß Tomy

Ich nutze nur den OBD Stand. Der kommt vom Fahrzeug und sollte richtig sein. Beim GPS kann es Empfangsprobleme geben.

Wie Du selbst schreibst, handelt es sich hier um den Kraftstoffverbrauch und nicht um den Tankstand. Das ist der gesamte Verbrauch in mL seit dem der Dongle eingesteckt wurde (siehe hier). Den Tankstand bekommst Du theoretisch nur über das eOBD Modul über eine Fahrzeug-spezifische OBD PID (bei mir x2F). Da kommt aber beim Großteil der Fahrzeuge nichts raus.

Gruß
Zapp

Danke für den Tipp, jetzt leuchtet es auch ein.
Gruß Tomy

Moin in die Runde,

sorry das ich das Thema noch mal hoch hole.

Im gesammten läuft alles mit dem Dongel. Soweit so gut.

Nun bekomme ich jedoch ein neues Auto und würde es auch gerne auch da wieder einbauen. Bei der Gelegenheit würde ich gerne die aktuelle Firmeware einspielen und ggf. ein Reset machen, das der KM Zähler wieder bei Null anfängt.

Nur finde ich keine Anleitung - Wie?

Hat jemand hier, schon mal ein Update gemacht?

Danke für die Unterstützung,

dzvo

Es gibt dazu ne eigene SW die du auf der Munic-Seite herunterladen kannst. Installierst du diese auf dem PC und hängst den Dongle an kann der Update sofern vorhanden los gehen. Ich habe eher ein sehr altes Teilchen HW da heisst es eh immer das es kein update gibt dafür.

Wie list du aus… mit dem Webhook oder der REST?