OBD Araç verileri
Uyumlu bir Bluetooth adaptörü aracılığıyla araç tarafından sağlanan devir sayısını, soğutma suyu sıcaklığını, yağ sıcaklığını, yakıtı ve diğer parametreleri okuyun. Bu makalede okuma koşulları, parametre konfigürasyonu, veri güncellemesi ve aletlerde ve gezilerde okumaların kullanımına ilişkin kurallar açıklanmaktadır.
Araç parametreleri ve okuma sonuçları
OBD araç kontrolörü tarafından sağlanan verileri okumak için kullanılır. ECU olarak da adlandırılan araç kontrolörü motor, şanzıman ve diğer sistemlerden sorumludur; CapDrive, adaptör aracılığıyla bu denetleyicilere istekler gönderir ve alınan verileri okumalara dönüştürür.
Uygulamadaki bir "parametre", motor hızı (RPM), soğutma suyu sıcaklığı veya durum gibi okunacak ve görüntülenecek bir veri parçasıdır. Okuma isteklerini, dönüştürme formüllerini ve birimleri içerir. Sayısal parametreler sayılar, ilerleme veya eğriler için kullanılabilir; durum parametreleri metin eşleme yoluyla D, P vb. olarak görüntülenebilir.
Örneğin, soğutucu sıcaklığı parametresi, A veri baytını elde etmek için 0105 isteği kullanılarak elde edilebilir ve A - 40'ye göre dönüştürülebilir. Döndürülen baytın ondalık değeri 123 ise sonuç 83 °C olur. Kullanılabilir okumalar elde etmek için bağlantı yöntemi, istek tanımı ve dönüştürme kuralları doğru olmalıdır.
Aracın hangi parametreleri desteklediği modele, yıla, güç sistemine ve denetleyici durumuna bağlıdır. Yalnızca aracın gerçekte sağladığı değerler okunabilir ve adın veya birimlerin değiştirilmesi, aracın veri yeteneklerini artırmaz.
Destek kapsamı ve kullanım koşulları
Araç OBD bağlantısı, iPhone'da CapDrive Plus, Bluetooth Düşük Enerji (BLE) Adaptörü destekleyen ELM327 talimatlarını ve Bluetooth izinlerini gerektirir. Klasik Bluetooth ve Wi-Fi adaptörleri şu anda desteklenmemektedir.
Yalnızca adaptör aracın OBD arayüzüne takıldıktan ve aracın gerektirdiği şekilde açıldıktan sonra Uygulama araçla iletişim kurabilir. Kontrolörün açık olması, motorun çalışması veya ilgili sistemin çalışır durumda olması gibi belirli parametreler aracın belirli bir durumda olmasını gerektirir. Bir bağdaştırıcının adında "Bluetooth" ifadesinin yer alması, tek başına bağdaştırıcının BLE ve yönergeye uygun olduğunu kanıtlamaz.
OBD okuması, Önce bir yolculuğa başlamanıza gerek yok, parametre listesinde veya parametre düzenleyicisinde görüntülenebilir ve test edilebilir. Cep telefonu yolculuğunun başlayıp başlamaması, aracın soğutma suyu sıcaklığını, hızını (RPM) ve diğer parametreleri geri verip vermeyeceğini belirlemez.
CapDrive, 01, 21, 22 hex hizmetleri için okuma isteklerinin yapılandırılmasını destekler. Normal kullanım için araca uygun ön ayar kullanılabilir; özel istek adresi ve formül, ön ayara veya araç parametre tanımına tabidir.
Bağlantı ve cihaz yönetimi
Giriş: Diğer (…) → Araç OBD bağlantısı. Cihaz sayfası yakındaki adaptörleri ve kaydedilen cihazları görüntüler ve adaptörün parametre yapılandırması cihaz ayarlarına kaydedilir.
İlk kez bağlantı ve yeniden bağlanma
İlk kez bağlanıldığında, Uygulama Bluetooth iletişimi kuracak, adaptörü başlatacak, araç protokolünü tanımlayacak ve desteklenen standart parametreleri bildirmek için aracı sorgulayacaktır. Başarılı olduktan sonra başlatılabilir standart parametreler cihaz listesine eklenecektir. Standart parametrelerin mevcut durumda değerleri olup olmadığı gerçek okuma sonuçlarına bağlıdır.
Mevcut bir cihaz yeniden bağlandığında, değiştirilen parametreler ve aktif olarak temizlenen listeler dahil olmak üzere orijinal konfigürasyonu kullanmaya devam edecektir. Bir parametreyi sildikten sonra yeniden bağlanmak onu geri eklemez. Ek okumalara ihtiyaç duyulduğunda önceden ayarlanmış veya yeni parametreler içe aktarılabilir.
Mevcut veri kaynağı
"Geçerli cihaz", CapDrive'a araç verilerini sağlayan adaptörü ifade eder. Geçerli veri kaynağı olarak aynı anda yalnızca bir cihaz kullanılabilir. Her cihazın parametreleri ve ayarları bağımsız olarak kaydedilir; Başka bir cihaza geçiş yapılırken önceki cihazın parametre referansları otomatik olarak kullanılmayacaktır.
Bağlantının kesilmesi yapılandırmayı korur. Aygıtı yoksay cihazın yapılandırmasını ve önbelleğini kaldıracaktır. Parametreleri taşımanız gerektiğinde, yapılandırmayı dışa aktarabilir ve ardından hedef cihaza aktarabilirsiniz; özelleştirilmiş cihazlar için hedef cihazın altındaki parametreleri yeniden seçmelisiniz.
Parametre ön ayarları ve yapılandırma dosyaları
Varsayılan, önceden yazılmış bir dizi parametre okuma konfigürasyonudur ve istekleri ve formülleri madde madde doldurma ihtiyacını ortadan kaldırır. Standart OBD-II ön ayarı standart parametreler sağlar ve araç modeli ön ayarı ilgili araç modeli için parametre tanımları sağlar. Bir model ön ayarı seçerken model yılını ve güç versiyonunu kontrol etmelisiniz.
Belirtilen cihaza aktar
Cihaz parametre listesinin alt kısmından konfigürasyon kitaplığını açın. Uygulamada indirme, cihazın içe aktarma arayüzüne girecektir; JSON dosyasını tarayıcı aracılığıyla indirerek cihaz ayarları menüsünde Yapılandırmayı içe aktar öğesini seçebilirsiniz.
İçe aktarma listesi varsayılan olarak işaretli değildir ve yalnızca açıkça seçilen parametreler kaydedilir. Önce adı ve mevcut okumayı kontrol edebilir, ardından sağdaki dişli aracılığıyla konfigürasyonu kontrol edebilirsiniz. İçe aktarma arayüzünün kapatılması onaylanmamış taslakları kaydetmez.
Kopyalar ve yapılandırma güncellemeleri
Halihazırda aynı okuma yöntemine, kod çözme kuralına ve çıkış birimine sahip olan parametreler kopya olarak işaretlenecek ve orijinal parametre tanımlayıcısını kullanmaya devam edecektir. Yalnızca görünen adı değiştirmek aynı parametreyi yeni bir okuma öğesi yapmaz.
Bir istek, aynı yanıtta iki sıcaklık gibi birden fazla parametre sağlayabilir; aynı ad farklı denetleyicilerden veya farklı formüllerden de gelebilir; bu nedenle kopyalar yalnızca ada göre değerlendirilemez. Değiştirilmiş istek veya kod çözme kurallarına sahip öğeler, yeni parametreler olarak içe aktarılır ve yalnızca adlarıyla eski öğelerin üzerine yazılmaz.
Başka bir adaptöre aktarıldığında hedef cihazın kendi parametre referansı oluşturulur. Özel enstrümantasyon, giriş bağlamada hedef cihazın karşılık gelen parametrelerini yeniden seçmelidir; giriş tanımlayıcısını değiştirmeden tutun ve kodu değiştirmenize gerek yok.
Dosya kısıtlamaları
Yapılandırma JSON kullanır, biçim tanımlayıcısı capdrive.obd'dir ve appVersion gerekli Uygulama sürümüdür; geçerli Uygulama sürüm numarası dışa aktarılırken yazılır. Sürüm yetersiz olduğunda yükseltme yapmanız istenecektir. Tek bir dosya en fazla 5 MiB olabilir ve en fazla 3.000 parametre içerebilir. Dosya, okuma yapılandırmasını kaydeder ve cihazın Bluetooth bağlantısını içermediği gibi hedef araçta tüm öğelerin okunabilir olacağını da garanti etmez.
Parametre yapılandırması ve kod çözme
Düzenleyiciyi parametrelerin sağındaki dişli aracılığıyla açın. Aşağıda alanlar "araçtan ne okunmalı → nasıl dönüştürülmeli → geçerliliği nasıl belirlenmeli" sırasına göre açıklanmaktadır. Okumayı test et sonuçları kontrol etmek için editördeki mevcut konfigürasyonu kullanır; Kaydet'e tıkladıktan sonra değişiklikler cihazın kayıtlı konfigürasyonu haline gelir.
Ad ve güncelleme sıklığı
Ad, araç parametrelerini tanımlamak için kullanılır. Dahili tanımlayıcılar uygulama tarafından otomatik olarak yönetilir ve parametre düzenleyicide doldurulmaz veya talep edilmez PID; dışa aktarılan ön ayarlar cihazın yerel tanımlayıcılarını taşımaz. Enstrüman komut dosyası, kendi tanımlı giriş tanımlayıcısını kullanır ve giriş bağlama yoluyla araç parametrelerini seçer.
Okuma aralığı (saniye) saniye cinsinden doldurulur ve aralık 0.3–99999 olur. Örneğin 1 saniye, hedef sorgu aralığının 1 saniye olduğu anlamına gelir. Gerçek güncelleme aynı zamanda araç yanıtından, diğer taleplerden ve mevcut okuma gereksinimlerinden de etkilenir. Parametre listesindeki görünür öğeler, cihaz seçimi ve yolculuk verilerinin kullanımı okuma gereksinimleri oluşturur; basitçe parametreleri içe aktarmak, tüm listenin her zaman sabit bir sıklıkta yoklanmasına neden olmaz. Aynı isteği paylaşan parametreler bir yanıtta yeniden kullanılabilir.
ayarları talep et
| Alan | Anlamı ve doldurma yöntemi |
|---|---|
| Sert | Onaltılık sayı kullanılarak istek kategorisi. Örneğin 0105 için istenen hizmet 01'dir. |
| PID | Bu hizmetteki veri öğesi numarası. Örneğin, 0105’ın PID’sı 05’dir; 01 ve 21 iki basamaklı PID kullanır ve 22 dört basamaklı PID kullanır. |
| Talep CAN ID | Talebi alan araç kontrolörünün adresi. Boş bırakıldığında protokol işlevsel adreslemeyi kullanır; eşleşen varsayılanlar genellikle orijinal adresi korumalıdır. |
| CAN ID filtrelemeye yanıt | Birden fazla denetleyici veri döndürdüğünde yanlış kaynağın seçilmesini önlemek için hangi denetleyicinin yanıtının kullanılacağını belirtin. |
| Genişletilmiş hedef adresi, genişletilmiş alıcı adresi | Bunu gerektiren araç protokolleri tarafından kullanılmak üzere ek iletişim adresleme yapılandırması. |
| Yanıt zaman aşımı parametreleri | Bağdaştırıcı tarafından kullanılan, saniye cinsinden doldurulmayan onaltılık zaman aşımı yapılandırması; okuma aralığından farklı bir ayardır. |
| Özel CAN akış kontrolü | İlgili araç tarafından tanımlandığı gibi, özel akış kontrol konfigürasyonu gerektiren istekler için kullanılır. |
Dönüşüm formülleri, bayt sırası ve birimler
Araç yanıtı genellikle veri baytlarıdır. A ilk veri baytını temsil eder, B ikinciyi temsil eder ve protokol başlığı hariç bu şekilde devam eder. Formül aritmetik, bit düzeyinde işlemleri, karşılaştırmaları, mantıksal işlemleri ve koşullu ifadeleri destekler; rastgele JavaScript işlevlerini çağırabilen bir komut dosyası değildir.
Örneğin, soğutucu sıcaklığı A - 40 kullanır; standart motor devri (RPM) (A * 256 + B) / 4 kullanır. A = 26, B = 248 ise, ikincisi 1726 rpm alır. Bir parametrenin formülü, istek tarafından döndürülen baytların anlamı ile tutarlı olmalıdır.
Endianness, çok baytlı alanların nasıl yorumlanacağını belirler: big-endian, yüksek dereceli baytı ilk sıraya koyar, küçük-endian, düşük sıralı baytı ilk sıraya koyar. Uygulama, yapılandırılmış işlem sırasından sonra sayısal formülü yürütür ve formülün baytları tekrar tekrar değiştirmemesi gerekir.
Formül sonucunun biriminin görüntüleme biriminden ayırt edilmesi gerekir. Özel ünite adının değiştirilmesi yalnızca etiketi değiştirir ve formül değerini değiştirmez; Mevcut bir standart fiziksel miktar için uyumlu bir görüntüleme birimi seçerken Uygulama, ilgili dönüşümü gerçekleştirebilir. Tekrarlanan dönüşümlerden kaçınmak için lütfen formülde kullanılan orijinal birimleri kontrol edin.
Okuma koşulları ve geçerli aralık
| Yapılandırma | Gerçek etki |
|---|---|
| Minimum yanıt bayt sayısı | Baytlar eksik olduğunda hesaplamanın devam etmesini önlemek için yetersiz uzunluktaki dönüşleri hariç tutun. |
| Koşulları oku | Koşul, A != 0 gibi ham yanıt baytlarında değerlendirilir. Sonuç sıfır olduğunda, eksik baytlarda veya hesaplama başarısız olduğunda bu okuma kullanılamaz. |
| minimum değer, maksimum değer | Sayısal sonuçları kelepçeleyin. Örneğin geçerli aralık 0–100 olarak yapılandırıldığında 120, 100 olarak görüntülenecektir. Maksimum değerin minimum değerden büyük olması gerekir; minimum değer ayarlanmamışsa sıfır olarak kabul edilecektir. Yalnızca minimum değerin ayarlanması genliği ayrıca sınırlamaz. |
| Etkin alt sınır, etkin üst sınır | Sınırların kendisi gibi geçersiz sonuçlar da hariç tutulur. Örneğin üst sınır 100 olduğunda 100'den büyük veya 100'e eşit sonuçlar kullanılamaz. |
Yanıt, kodu çözülmeden önce uzunluk ve okuma koşulu kontrollerinden geçer. Önce dijital sonuç sınırlandırılır, ardından etkin üst ve alt sınırlar kontrol edilir; Sonlu bir değer elde edilemediğinde hiçbir okuma çıkışı yapılmaz. Okuma koşulu, bayt sırası dönüşümünden önceki ham yanıtı kullanır.
metin eşleme
Metin eşleme, bir formülle elde edilen değeri 1 → D gibi metin olarak görüntüler. Anahtar, ondalık sayıları ve negatif sayıları destekler ve benzersiz bir sonlu değer olmalıdır. 1.5 ve 1.50 aynı öğeyi temsil eder. Literalin boş bir dize olmasına izin verilir.
Eşleştirmeye ulaşıldığında karşılık gelen dize döndürülür; vurulmadığında, Eşleşme yoksa orijinal sayıyı döndür açıldığında bir sayı, kapatıldığında ise null döndürülür. Bu eşsiz ayar, bir eşleme mevcut olduğunda uygulanır. Hit metni dijital kırpma işlemine devam etmeyecektir.
Bu nedenle, aynı parametre bir sayı, metin veya boş değer döndürebilir ve enstrümantasyon kodu, parametrenin gerçek türünü işlemelidir. "Bazı değerler görüntülenebiliyor ve diğer değerler kayboluyor" durumu oluştuğunda, eşlemenin eşleşip eşleşmediğini ve ayarların eşleşip eşleşmediğini kontrol etmelisiniz.
Kaydet ve hata mesajı
Geçersiz konfigürasyonlar, alanları ve nedenleri gösterecek ve ardından kaydedecek veya düzelttikten sonra test edecektir. 01 ve 21 hizmetlerinin PID'si iki basamaklı onaltılık sayıdır, 22 dört basamaklıdır; CAN ID 3 veya 8 basamaklıdır ve genişletilmiş adres ve zaman aşımı parametreleri iki basamaklıdır. Okuma aralığı 0.3–99999 saniyedir, minimum yanıt baytı sayısı 0–4096 tamsayıdır ve formül ve okuma koşullarının her biri 1.024 UTF-8 bayta kadardır. Değer sınırlı olmalı, minimum değer maksimum değerden büyük olamaz ve geçerli alt sınır, geçerli üst sınırdan küçük olmalıdır; metin eşleme anahtarı tekrarlanamaz.
Yolculuk verilerinin değiştirilmesi
Yolculuk verisini değiştir temel okumanın belirtilen OBD parametresini kullanmasını sağlar. Örneğin, bir araç hızı parametresini "Hız" olarak belirterek, temel hız alanı, ilgili yerleşik göstergeler ve yolculuk kayıtları bu araç okumasını kullanabilir.
Alternatif hedefler arasında hız, uzunlamasına G, yanal G, eğim ve yuvarlanma yer alır. Hız için km/h veya mph, ivme için g veya m/s² ve açı için derece veya radyan kabul edilir. Uygulama, birimleri hedef için gerektiği gibi dönüştürecektir.
Değiştirme, parametrelerin uygun sayılar, birimler ve aralıklarla sağlanmasını gerektirir. Metin eşlemeli parametreler kontur değiştirme için kullanılamaz; Konfigürasyon aralığı dışındaki orijinal sonuçlar da reddedilecek ve sınırlama sonrasındaki sınır değerler geçerli vuruş ölçümleri olarak kabul edilmeyecektir.
Geçerli OBD okumaları olduğunda bu kaynağı kullanın; Okumalar eksik olduğunda, süresi dolduğunda veya geçersiz olduğunda mobil verilere geri dönün. Bu temel okuma, mobil kaynak da kullanılamadığında hala boş olabilir. Sıradan parametre içe aktarma işlemi, değiştirme hedeflerini otomatik olarak belirtmez.
Soğutucu sıcaklığı, dönüş hızı (RPM) vb. gibi parametreler özel cihazda ayrı ayrı görüntülenebilir ve bunların OBD referansları, strok değişimini yapılandırmadan doğrudan kullanılabilir.
Özel enstrüman erişimi
Parametre yapılandırması girmek ve bir OBD verileri girişi (örneğin coolant tanımlayıcısı) eklemek için Gösterge ayarları → Giriş bağlantıları yanındaki dişli çarkı tıklayın. Giriş bağlamasına dönün ve bunun için Cihazlar altında Soğutucu Sıcaklığı parametresini seçin. Komut dosyası $data.current.coolant'yi okur; Araç parametrelerinin UUID'sinin koda yazılmasına gerek yoktur.
Okumalar arasında value ve unit bulunur, örneğin { value: 83, unit: '°C' }. Değer-metin eşlemeleri aynı zamanda dizeleri de döndürebilir; sayı biçimlendirmesinden önce türün kontrol edilmesi gerekir. Bağlı olmadığında girdinin tamamı null olur; bağlandığında ancak geçici olarak okuma olmadığında, value null olur ve unit yine de yapılandırma birimini alır.
Başkalarının çalışmalarını içe aktardıktan veya bağdaştırıcıyı değiştirdikten sonra, kodu kullanmaya devam etmek için mevcut girişi yeniden bağlayın. İpuçları için beklenen tip kullanılır, araç dönüş değeri kullanılmaz. Önizleme analog girişi kullanır ve gerçek araç verileri onaylanırken mevcut cihaz ve Okumayı test et kontrol edilmelidir.
Veri geçerliliği ve arıza teşhisi
Okuma durumu
Bağlantının geçerli olması, yanıtın alınması ve okumanın geçerli olması üç farklı durumdur. Yanıt, yetersiz uzunluk, karşılanmayan okuma koşulları, geçersiz formül veya metin eşleme eksikliği nedeniyle kullanılabilir bir değer üretmeyebilir.
Çalışma zamanı okumalarının bir son kullanma tarihi vardır. Bağlantı kesildikten, okuma hatasından veya veri süresinin dolmasından sonra, cihaz ve açma değişimi, mevcut geçerli veri olarak eski değeri kullanmaya devam etmemelidir. Parametre listesi, geçerli bir canlı çıktıya eşit olmayan gösteri amacıyla son başarılı okumayı saklayabilir; mevcut istek sonucu Okumayı test et kullanılarak kontrol edilebilir.
Sıfır geçerli bir değerdir ve boş değer şu anda mevcut okuma olmadığı anlamına gelir. Metin haritasındaki boş dize, eşleşen metin sonucudur ve bu da eksik testten farklıdır.
Arıza düzeyine göre konum belirleme
| Performans | İlgili denetim kapsamı |
|---|---|
| Cihaz bulunamıyor | Adaptörle çalışır, BLE tipi, iPhone Bluetooth ve Uygulama izinleri. |
| Bluetooth bağlandı ancak başlatma başarısız oldu | Adaptör komut desteği, araç iletişim durumu ve protokol tanımlama. |
| Parametre listesi boş | Mevcut cihazın kayıtlı konfigürasyonu, ilk yetenek sorgusunun sonuçları ve listenin aktif olarak temizlenip temizlenmediği. Yeniden bağlanma, silinen öğeleri otomatik olarak geri yüklemez. |
| Tek bir parametre için geçerli bir okuma yok | Sorgu adresi ve PID, yanıt uzunluğu, okuma koşulları, kod çözme formülü, aralık ve metin eşleme. |
| Değer mevcut ancak anlamı veya birimi anormal. | Uygulanabilir araba modelinin, bayt sırasının, formülün ve birimin tutarlı olup olmadığını önceden ayarlayın. |
| Liste eski değeri gösteriyor, sayacın değeri yok | Mevcut okumanın süresinin dolduğu veya okunamadığı; liste görüntüleme önbelleği, gerçek zamanlı verilerin geçerli olduğu anlamına gelmez. |
| Geçerli okumalar var ancak özel sayaç görüntülenmiyor | Geçerli aygıt, seçilen parametreler, ifadeler ve kodun sayıları, değişmez değerleri ve boş değerleri işlemesi. |
| Seyahat planı değişikliği etkili olmadı | Değiştirme hedefleri, parametre değeri türleri, birim ve aralık uyumluluğu ve okuma geçerliliği. |
Sorun geri bildirimi, bağlantı sorunları, yapılandırma sorunları ve ekran sorunları arasında ayrım yapmak için aşağıdaki bilgileri içerebilir:
- Model, yıl, güç sürümü ve adaptör modeli.
- Geçerli cihaz, ön ayar ve parametre adları.
- Okuma sonuçlarını veya belirli hataları test edin.
- Tüm parametreleri mi yoksa bireysel parametreleri mi etkiliyor ve sorunun parametre listesinde mi, açma değişiminde mi yoksa özel cihazda mı meydana geldiği.