Ich habe mir mal wieder ein kleines Hobbyprojekt auferlegt.
Ziel ist es, mir eine eigene Multimediaoberfläche im Star Trek Stil (LCARS) zu bauen. Eingebaut wird das ganze im Doppel-DIN Schacht meines Kfz (Subaru BRZ, BJ. 2016).
Ich möchte auch weiterhin einige Live Werte meines Kfz über die OBD Schnittstelle auslesen. Dabei ist mir inzwischen bewusst wie das mit dem CAN BUS funktioniert. Ich schicke einen Request und das entsprechende Steuergerät antwortet.
Folgende Werte möchte ich dann auf meiner eigenen Oberfläche darstellen (Balkendiagramme usw.):
-
- Außentemperatur (°C)
- verbleibende Treibstoffmenge (%)
- Motoröltemperatur (°C)
Am OBD Port meines Kfz steckt ein OBDII Bluetooth Modul, dass bereits mit einer Android App aus dem Playstore wunderbar zusammenarbeitet und ich bekomme auch die oben genannten Werte ausgelesen. Also grundsätzlich funktionell.
Ich habe dann den OBD Adapter mit meinem PC verbunden. Registriert hat sich der Dongle auf COM4. Habe mir eine kleine Test GUI geschrieben, die mir serielle Kommunikation ermöglicht. An der Stelle habe ich jetzt mein Problem. Wenn ich das Ganze mit Putty steuere, bekomme ich entsprechend korrekte Antworten zurück. Gebe ich beispielsweise den Befehl "ATZ" ein bekomme ich die ELM Version zurückgeliefert. Mache ich das mit meinem Tool, dann bekomme ich nur "?>". Wenn ich jedoch mit einem COM Port Emulator zwei Ports paare und schicke in Putty etwas los, kommt es in meinem Tool ohne Probleme an.
Anbei meine Methoden zum Senden und Empfangen:
private void btn_send_Click(object sender, EventArgs e)
{
if (port.IsOpen == true) port.Write(txt_send.Text);
else txt_receive.AppendText(DateTime.Now.ToLongTimeString() + " - Port ist nicht geöffnet!\r\n");
}
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
var serialPort = (SerialPort)sender;
var data = serialPort.ReadExisting();
txt_receive.AppendText(DateTime.Now.ToLongTimeString() + " - " + data + "\r\n");
}
Anbei habe ich noch einen Screenshot um zu verdeutlichen was ich meine. Wäre über einen Denkanstoß sehr dankbar.
VG
trekki