Proprietärer 2-Draht-Bus, Botschaften manipulieren/ändern
Geizhals » Forum » Programmierung » Proprietärer 2-Draht-Bus, Botschaften manipulieren/ändern (13 Beiträge, 550 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login | Registrierung ]
Proprietärer 2-Draht-Bus, Botschaften manipulieren/ändern
06.02.2017 21:50:08
Ich habe 5 Geräte an einem offensichtlich proprietären 2-Draht-Bus.

Die für mich relevanten Botschaften/Telegramme habe ich bereits entschlüsselt.

Ich möchte zumindest eine der Botschaften von einem der Geräte abhängig von ihrem Inhalt verändern, d.h. die "richtige" Botschaft entfallen lassen und durch eine veränderte Botschaft ersetzen.
(Konkret, aber vereinfacht: Wenn 1 von 3 bestimmten Bits gesetzt ist, möchte ich abhängig von der Uhrzeit zusätzlich ein weiteres der beiden nicht gesetzten Bits setzen.)

Ich habe mir überlegt, die Busleitung aufzutrennen und ein selbst programmiertes Gateway dazwischenzuhängen. Das Gateway kopiert die Botschaften der 4 unveränderten Geräte auf den anderen Bus bzw. es liest die Botschaften von dem 1 Gerät, dessen Inhalt ich manchmal verändern will, ein und schreibt die veränderten Botschaften auf den Bus der 4 unveränderten Geräte.

Hier noch einige Infos, die ich über die Geräte/Botschaften habe und für relevant erachte:

Alle 5 Geräte senden permanent in immer der gleichen Reihenfolge am Bus eine "Standard"-Botschaft (enthält als Daten vmtl. irgendeine Seriennummer/Typ o.ä.). Danach kommt noch irgendeine weitere "Abschluss-Botschaft". Wer die sendet weiss ich nicht.
Wenn ein Gerät Daten übertragen will, sendet es anstatt der "Standard"-Botschaft seine "Daten"-Botschaft. Diese "Daten"-Botschaft wird nur 1x versendet, wenn sich der Inhalt ggü. der zuletzt gesendeten "Daten"-Botschaft ändert.
Beim Hochfahren des Bus findet offenbar irgendeine Initialisierung statt, bei der die IDs der Geräte (in meinem Fall 0x00-0x04 bzw. 0xF0 für den Abschluss) vergeben werden. Dabei scheint es keine Priorität zu geben, die IDs scheinen "zufällig". Wird ein Gerät abgeklemmt und wieder angeklemmt, hat es u.U. eine andere ID als vorher. Trotzdem funktioniert der Gesamtverbund problemlos.

Wie gehe ich das am Besten an?

Mein Hauptproblem scheint das richtige Timing zu sein. Wie schaffe ich es, immer die gleiche Reihenfolge einzuhalten?

Bisher habe ich nur mit HTerm "mitgelauscht" und dann die Botschaften entschlüsselt.
Ein Sendeversucht mit HTerm hat keine Reaktion verursacht, sie ist nichtmal bei den "gesendeten Botschaften" aufgeschienen.

BMW 320d E90: Spritmonitor.de
Yamaha FZ6-S Fazer: Spritmonitor.de
Antworten PM Alle Chronologisch
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Auf ABGB §1330 Abs. 2 wird ausdrücklich hingewiesen.

Copyright © 1997-2017 Preisvergleich Internet Services AG