ELM327 (WiFi) dongle ile 2013 Opel Astra J 1.6 (A16XER, benzin + Landi Renzo Omegas EVO LPG) üzerinde canlı veri kaydı, arıza kodu okuma ve sensör teşhisi yapan Python betikleri.
Neden yazıldı: Araç iki yakıtta da zengin karışım (P0172) ve katalizör verimi (P0420) kodu veriyordu. Ustanın aletine güvenmek yerine sonucu ölçmek istedim — LPG beyninin protokolü kapalı ama OBD-II açık ve standart. Lambda sensörü fizikseldir: hangi yakıtla çalışıldığından bağımsız olarak egzozdaki gerçek karışımı gösterir.
Yalnız standart kütüphane kullanılır (socket, argparse, csv). Dongle'a TCP ile bağlanır
(varsayılan 192.168.0.10:35000).
| Dosya | Ne yapar |
|---|---|
obd_kayit.py |
Canlı veri kaydı → CSV: devir, hız, su sıcaklığı, yük, MAP, gaz kelebeği, STFT/LTFT, O2 voltajı, lambda, emme havası. --hata kayıtlı/bekleyen/kalıcı DTC + donmuş kare; --sil kodları siler (açık onay ister). |
obd_analiz.py |
Benzin ve LPG kayıtlarını karşılaştırır. Önce lambdaya bakar (salınıyor mu, tek tarafa mı yapışık), sonra yakıt düzeltmelerine — LPG modunda benzin beyni emülasyona girdiği için düzeltmeler donabilir. |
obd_sensor_testi.py |
Araç dururken ön/arka oksijen sensörü, MAP ve su sıcaklığı testi. Ön sensör mü yanlış söylüyor, yoksa gerçekten fazla yakıt mı giriyor — arka sensör (katalizör sonrası) bunu ayırır. |
can_dinle.py |
ELM327 ile CAN hattını üç fazda dinler (sakin / tekerlek yukarı / tekerlek aşağı), yalnız 2. ve 3. fazda görülen (ID, veri) çiftlerini listeler. Direksiyon tekerleği mesajını bulmak için. Yalnız dinler (ATCSM1), hatta hiçbir şey göndermez. |
obd_sahte_elm.py |
Dongle olmadan test için sahte ELM327 TCP sunucusu: echo kapalı, > ile biten cevaplar, desteklenmeyen PID'e NO DATA. --senaryo (normal, zengin, donmus, sensor-yalan, enjektor, katalizor) ile analiz ve teşhis betiklerinin hükmünü sınar. |
# Mac/telefon dongle'ın WiFi ağına bağlı, motor çalışıyor, araç duruyor
python3 obd_kayit.py --hata
python3 obd_kayit.py --yakit benzin --sure 300 --etiket rolanti
python3 obd_analiz.py
# Dongle olmadan
python3 obd_sahte_elm.py --senaryo zengin &
python3 obd_kayit.py --host 127.0.0.1 --yakit benzin --sure 30Kayıtlar ~/.rumi/obd-kayit/ altına yazılır. ornek-kayit/ gerçek araçtan üç örnek içerir:
teşhis dökümü (P0172 + P0420, donmuş kare LTFT −30,5), soğuk motor rölanti kaydı ve sıcak sensör testi.
Kayıt yalnız araç dururken alınır; sürüş sırasında dongle ile uğraşılmaz. Marş anında dongle takılı bırakılmaz.
Alperen Kocakaplan — @Pharex38