Kısaca
- Fark, temel OBD2'de değil çok-çerçeveli mesajlarda ve akış kontrolünde ortaya çıkar.
- CarCoding'in adaptör profil veritabanındaki 52 kayıttan 16'sı akış kontrolü komutunu (
ATCFC1) kabul etmiyor olarak işaretli — en yaygın tek kusur bu. - “ELM327 v1.5” yazan cihaz kesinlikle klondur: ELM Electronics 1.5 diye bir sürüm hiç yayımlamadı.
- iPhone kullanıyorsanız BLE şart; klasik Bluetooth (SPP) dongle'lar iOS'ta çalışmaz.
- Sürüm yazısına değil davranışa bakın:
ATI,ATRV,ATDP,ATCFC1ile üç dakikada test edebilirsiniz.
“Hepsi aynı ELM327” neden doğru değil
Orijinal ELM327, ELM Electronics'in ürettiği ve belgelediği bir mikrodenetleyici yazılımıdır. Piyasadaki ucuz dongle'ların büyük kısmı bu yazılımın kopyalanmış ya da yeniden yazılmış bir sürümünü çalıştırır. Kopyacılar en çok kullanılan komutları taklit eder; nadir kullanılanları eksik, hatalı ya da hiç uygulamaz.
Sonuç şudur: motor arıza kodu okuma (03) ve canlı veri (01) neredeyse her dongle'da çalışır. Çünkü bu işlemler tek CAN çerçevesine sığar. Aşağıdakiler ise sığmaz:
- VIN okuma (
09 02) — yanıt 17 karakterdir, tek çerçeveye sığmaz - Modül/ECU listesi ve gelişmiş tanı — UDS yanıtları uzundur
- Kodlama/konfigürasyon okuma — bazı bloklar yüzlerce byte'tır
Bu işlemler ISO-TP (ISO 15765-2) protokolüne girer: veri birden çok CAN çerçevesine bölünür ve alıcı, göndericiye “devam et, şu hızda gönder” anlamına gelen bir akış kontrolü (flow control) çerçevesi yollar. Adaptörün bu çerçeveyi doğru üretebilmesi gerekir. Üretemezse yanıt ilk parçadan sonra kesilir.
Ne kadar yaygın? Ölçtüğümüz sayılar
CarCoding, adaptör davranışlarını “quirk” bayraklarıyla saklar ve bağlanır bağlanmaz buna göre kendini ayarlar. Bugün veritabanında 52 kayıt var (biri “otomatik tespit” sözde profili). İşaretli sapmaların dağılımı:
| Davranış sapması | Profil | Pratikte ne bozulur |
|---|---|---|
noATCFC1 | 16 | Akış kontrolü ayarlanamıyor → uzun yanıtlar (VIN, modül listesi) yarım kalıyor |
noLongFrames | 7 | 7 byte üzerindeki çok-çerçeveli yanıtlar güvenilir gelmiyor |
slowFlowControl | 4 | Çerçeveler arasında ek gecikme gerekiyor, yoksa veri kayboluyor |
kLineFlaky | 3 | ISO 9141 / KWP otomatik protokol algılaması tutmuyor, protokol elle seçilmeli |
dropsAfterIdle | 3 | ~30 sn sessizlikte bağlantı düşüyor; keep-alive gerekiyor |
truncatesAt256 | 2 | Yanıt 256 byte'tan sonra kesiliyor |
slowATZ | 2 | Reset sonrası hazır olma süresi uzun; erken komut kayboluyor |
crashesOn1003 | 1 | UDS genişletilmiş oturum isteğinde adaptör kilitleniyor/resetleniyor |
needsExtraATZ | 1 | Tek reset yetmiyor, iki kez göndermek gerekiyor |
Dikkat çeken şey dağılımın rastgele olmaması: sapmalar belirli BLE modülleri etrafında kümeleniyor. HM-10/CC2541, BT05 ve ZS-040 modülü lehimlenmiş jenerik dongle'lar listenin çoğunu tek başına topluyor — bazıları dört sapmayı birden taşıyor. Yani “ucuz olan bazen sorun çıkarır” değil, “belirli bir donanım ailesi öngörülebilir biçimde sorun çıkarır”.
Akış kontrolü neden bu kadar önemli: somut bir ölçüm
Kendi canlı araç testimizde, bir BMW gövde modülünden veri okurken adaptöre gönderdiğimiz akış kontrolü çerçevesindeki BlockSize alanını 3'ten 0'a çektik. Aynı istek, aynı araç, aynı adaptör: yanıt 23 byte'tan 125 byte'a çıktı. Öncesinde veri “yok” değildi — kesiliyordu ve yazılım tarafında “eksik yanıt” gibi görünüyordu.
Bunu neden anlatıyoruz: akış kontrolünü ayarlayabildiğiniz bir adaptörle bu bir parametre sorunudur, çözülür. Ayarlayamayan bir adaptörde ise duvara çarparsınız ve genellikle suçu araca ya da uygulamaya atarsınız.
Üç dakikada klon testi
Kutunun üzerindeki yazıya değil cihazın verdiği yanıtlara bakın. CarCoding'in “Bağlantı Testi” ekranı tam olarak bu dört adımı çalıştırır; terminal uygulamasıyla da elle yapabilirsiniz.
| Komut | Ne sorar | Nasıl yorumlanır |
|---|---|---|
ATI |
Yonga / firmware sürümü | “ELM327 v1.5” = klon. ELM Electronics'in yayımladığı sürümler arasında 1.5 yoktur (…1.3a, 1.4b, 2.0, 2.1, 2.2). “v2.1” yazması ise orijinal olduğunu kanıtlamaz; klonların çoğu sürüm dizesini kopyalar. |
ATRV |
Akü gerilimi | Kontak açıkken 12–14,5 V bekleyin. 10 V altı ya da hiç yanıt yoksa soket/besleme sorunu vardır; adaptörü suçlamadan önce burayı çözün. |
ATDP |
Algılanan OBD protokolü | Protokol adı gelmeli (ör. ISO 15765-4 CAN 11/500). Sürekli “AUTO” veya boş dönüyorsa protokol algılaması tutmuyordur. |
ATCFC1 |
Akış kontrolü açılabiliyor mu | OK gelmeli. ? veya ERROR gelirse adaptör akış kontrolünü yönetemiyor demektir — uzun yanıtlarda sorun yaşarsınız. |
Bir adım daha ileri gitmek isterseniz: 09 02 (VIN) gönderin. VIN 17 karakter tam geliyorsa çok-çerçeveli okuma çalışıyor demektir. Yarım geliyor veya NO DATA dönüyorsa akış kontrolü tarafında bir şey eksiktir.
BLE mi, klasik Bluetooth mu, Wi-Fi mi?
Bu, marka tercihinden önce gelen bir karardır ve telefonunuz belirler:
- iPhone / iPad: iOS, MFi programı dışındaki cihazlarla klasik Bluetooth seri profili (SPP) üzerinden konuşamaz. Bu yüzden iOS'ta klasik Bluetooth OBD2 dongle'ları çalışmaz. Geriye BLE (Bluetooth Low Energy) ve Wi-Fi kalır.
- Android: klasik Bluetooth da BLE de mümkündür, ama BLE modern uygulamaların varsayılanıdır.
- Wi-Fi adaptörler: telefon kendi Wi-Fi'ını adaptöre bağlamak zorunda kalır, bu sırada mobil veriyle çakışma ve otomatik ağ değiştirme sorunları çıkar.
CarCoding şu an BLE üzerinden çalışan ELM327 tabanlı adaptörleri destekler; Wi-Fi adaptörler ve yalnızca klasik Bluetooth (SPP) kullanan eski modeller desteklenmez. Satın almadan önce ilanda “BLE” veya “Bluetooth 4.0/5.0” ibaresini arayın — sadece “Bluetooth” yazması genellikle klasik SPP demektir.
Satın alma kontrol listesi
- Yonga ailesi ilanda yazıyor mu? STN tabanlı ürünler akış kontrolü ve uzun çerçevelerde sorun çıkarmaz; veritabanımızda bu ürünlerin hiçbirinde işaretli sapma yok. Yeni nesil RP2040 tabanlı vLinker modelleri de aynı şekilde temiz.
- “v1.5” ibaresi var mı? Ürün görselinde ya da açıklamada geçiyorsa klondur. Temel kod okuma için yeterli olabilir, gelişmiş işlevler için değil.
- BLE mi? iPhone kullanıyorsanız pazarlıksız şart.
- İade politikası var mı? Adaptör davranışı ancak araçta ölçülür. Yukarıdaki dört komutluk testi ilk gün yapın; sorun çıkarsa iade penceresi henüz açıkken görün.
- Sürekli takılı bırakmayın. Bazı dongle'lar araç uykudayken uyanık kalır ve aküyü yavaşça boşaltır. Veritabanımızda üç profil, boşta kalınca bağlantıyı düşürüyor olarak işaretli — bu da aynı uyku/uyanma davranışının bir yan ürünü.
Peki klonum var, ne yapabilirim?
Çoğu durumda çöpe atmanız gerekmez. Yazılım tarafında telafi mümkündür ve CarCoding bunu otomatik yapar: adaptör ATCFC1'i reddettiğinde uygulama bunu bağlantı anında algılar, akış kontrolü gerektiren yolu bırakıp alternatif okuma stratejilerine geçer. Örneğin VIN için tek bir yöntem yerine sırayla beş farklı strateji dener — yayın isteğiyle başlar, yanıt gelmezse motor ECU'suna doğrudan adreslenir, en sonunda 29-bit adresli ağır ticari düzenine kadar gider.
Bunun bedeli hızdır: her başarısız strateji zaman alır, tarama uzar. Ve telafi her şeyi kurtarmaz — uzun konfigürasyon bloklarının okunması gibi işlerde donanım sınırı sınırdır.
Elinizdeki adaptörü ölçün
CarCoding, bağlanır bağlanmaz yonga sürümünü, akü gerilimini ve algılanan protokolü gösterir; akış kontrolü desteklenmiyorsa bunu size söyler ve otomatik olarak alternatif yola geçer. Uygulamayı indirmek ücretsizdir.
Bazı gelişmiş özellikler uygulama içi satın alma gerektirir.