OBD Data kendaraan
Baca RPM yang disediakan kendaraan, suhu cairan pendingin, suhu oli, bahan bakar, dan parameter lainnya melalui adaptor Bluetooth yang kompatibel. Artikel ini menjelaskan kondisi pembacaan, konfigurasi parameter, pembaruan data, dan aturan penggunaan pembacaan pada instrumen dan trip.
Parameter kendaraan dan hasil pembacaan
OBD digunakan untuk membaca data yang disediakan oleh pengontrol kendaraan. Pengendali kendaraan, juga disebut ECU, bertanggung jawab atas mesin, transmisi, dan sistem lainnya; CapDrive mengirimkan permintaan ke pengontrol ini melalui adaptor dan mengubah data yang diterima menjadi bacaan.
"Parameter" di aplikasi adalah bagian data yang akan dibaca dan ditampilkan, seperti kecepatan mesin (RPM), suhu cairan pendingin, atau status. Ini menampung permintaan baca, rumus konversi, dan unit. Parameter numerik dapat digunakan untuk angka, kemajuan, atau kurva; parameter status dapat ditampilkan sebagai D, P, dll melalui pemetaan teks.
Misalnya, parameter suhu cairan pendingin dapat diperoleh menggunakan permintaan 0105 untuk mendapatkan byte data A dan dikonversi sesuai dengan A - 40. Jika nilai desimal byte yang dikembalikan adalah 123, hasilnya adalah 83 °C. Metode koneksi, definisi permintaan, dan aturan konversi harus benar untuk mendapatkan pembacaan yang dapat digunakan.
Parameter mana yang didukung kendaraan bergantung pada model, tahun, sistem tenaga, dan status pengontrol. Hanya nilai sebenarnya yang diberikan oleh kendaraan yang dapat dibaca, dan mengubah nama atau unit tidak meningkatkan kemampuan data kendaraan itu sendiri.
Cakupan dukungan dan kondisi penggunaan
Koneksi OBD kendaraan memerlukan CapDrive Plus, Adaptor Bluetooth Hemat Energi (BLE). yang mendukung instruksi ELM327, dan izin Bluetooth di iPhone. Adaptor Bluetooth klasik dan Wi-Fi saat ini tidak didukung.
Hanya setelah adaptor dicolokkan ke antarmuka OBD kendaraan dan dihidupkan sesuai kebutuhan kendaraan, Aplikasi dapat berkomunikasi dengan kendaraan. Parameter tertentu mengharuskan kendaraan berada dalam kondisi tertentu, seperti pengontrol sedang dihidupkan, mesin menyala, atau sistem terkait sedang beroperasi. Dimasukkannya "Bluetooth" dalam nama adaptor tidak hanya membuktikan bahwa adaptor tersebut mematuhi BLE dan arahannya.
Pembacaan OBD, Tidak perlu memulai perjalanan terlebih dahulu, dapat dilihat dan diuji dalam daftar parameter atau editor parameter. Apakah perjalanan ponsel telah dimulai tidak menentukan apakah kendaraan akan mengembalikan suhu cairan pendingin, kecepatan (RPM), dan parameter lainnya.
CapDrive mendukung konfigurasi permintaan baca untuk layanan hex 01, 21, 22. Untuk penggunaan normal, preset yang cocok dengan kendaraan dapat digunakan; alamat dan formula permintaan spesifik tunduk pada preset atau definisi parameter kendaraan.
Koneksi dan manajemen perangkat
Entri: Lainnya (…) → Koneksi OBD kendaraan. Halaman perangkat menampilkan adaptor terdekat dan perangkat yang disimpan, dan konfigurasi parameter adaptor disimpan dalam pengaturan perangkat.
Koneksi pertama kali dan koneksi ulang
Saat menghubungkan untuk pertama kalinya, Aplikasi akan membuat komunikasi Bluetooth, menginisialisasi adaptor, mengidentifikasi protokol kendaraan, dan meminta kendaraan untuk melaporkan parameter standar yang didukung. Setelah berhasil, parameter standar yang dapat diinisialisasi akan ditambahkan ke daftar perangkat. Apakah parameter standar memiliki nilai dalam keadaan saat ini bergantung pada hasil pembacaan sebenarnya.
Saat perangkat yang ada tersambung kembali, perangkat akan terus menggunakan konfigurasi asli, termasuk parameter yang diubah dan daftar yang dihapus secara aktif. Setelah menghapus parameter, menyambungkan kembali tidak akan menambahkannya kembali. Ketika pembacaan tambahan diperlukan, parameter preset atau baru dapat diimpor.
Sumber data saat ini
"Perangkat saat ini" mengacu pada adaptor yang menyediakan data kendaraan ke CapDrive. Hanya satu perangkat yang dapat digunakan sebagai sumber data saat ini dalam satu waktu. Parameter dan pengaturan setiap perangkat disimpan secara independen; saat berpindah ke perangkat lain, referensi parameter perangkat sebelumnya tidak akan digunakan secara otomatis.
Memutuskan sambungan akan mempertahankan konfigurasi. Abaikan perangkat akan menghapus konfigurasi dan cache perangkat. Saat Anda perlu memigrasikan parameter, Anda dapat mengekspor konfigurasi dan kemudian mengimpornya ke perangkat target; untuk instrumen yang disesuaikan, Anda harus memilih ulang parameter di bawah perangkat target.
Preset parameter dan file konfigurasi
Defaultnya adalah sekumpulan konfigurasi pembacaan parameter yang sudah tertulis, menghilangkan kebutuhan untuk mengisi permintaan dan rumus item demi item. Preset OBD-II standar menyediakan parameter standar, dan preset model kendaraan memberikan definisi parameter untuk model kendaraan yang sesuai. Saat memilih model preset, Anda harus memeriksa tahun model dan versi daya.
Impor ke perangkat tertentu
Buka perpustakaan konfigurasi dari bagian bawah daftar parameter perangkat. Mengunduh di Aplikasi akan memasuki antarmuka impor perangkat; mendownload file JSON melalui browser dapat memilih Impor konfigurasi di menu pengaturan perangkat.
Daftar impor tidak dicentang secara default, dan hanya parameter yang dipilih secara eksplisit yang disimpan. Anda dapat memeriksa nama dan bacaan saat ini terlebih dahulu, lalu memeriksa konfigurasi melalui roda gigi di sebelah kanan. Menutup antarmuka impor tidak akan menyimpan draf yang belum dikonfirmasi.
Duplikat dan pembaruan konfigurasi
Parameter yang sudah memiliki metode pembacaan, aturan decoding, dan unit keluaran yang sama akan ditandai sebagai duplikat dan tetap menggunakan pengidentifikasi parameter asli. Hanya mengubah nama tampilan tidak menjadikan parameter yang sama sebagai item baca baru.
Permintaan dapat memberikan beberapa parameter, seperti dua suhu dalam respons yang sama; nama yang sama mungkin juga berasal dari pengontrol yang berbeda atau rumus yang berbeda, sehingga duplikat tidak dapat dinilai hanya berdasarkan namanya. Item dengan permintaan yang dimodifikasi atau aturan penguraian kode diimpor sebagai parameter baru dan tidak menimpa item lama berdasarkan namanya saja.
Saat diimpor ke adaptor lain, referensi parameter perangkat target dibuat. Instrumentasi khusus harus memilih kembali parameter yang sesuai dari perangkat target dalam pengikatan masukan; jaga agar pengidentifikasi input tidak berubah dan tidak perlu mengubah kode.
Batasan berkas
Konfigurasinya menggunakan JSON, pengidentifikasi formatnya adalah capdrive.obd, dan appVersion adalah versi Aplikasi yang diperlukan; nomor versi Aplikasi saat ini ditulis saat mengekspor. Jika versinya tidak mencukupi, Anda akan diminta untuk meningkatkan. Satu file dapat berisi hingga 5 MiB dan berisi hingga 3.000 parameter. File tersebut menyimpan konfigurasi baca dan tidak berisi koneksi Bluetooth perangkat, juga tidak menjamin bahwa semua item akan dapat dibaca di kendaraan target.
Konfigurasi dan decoding parameter
Buka editor melalui roda gigi di sebelah kanan parameter. Berikut ini penjelasan bidang dalam urutan "apa yang dibaca dari kendaraan → cara mengonversi → cara menentukan validitas". Uji pembacaan menggunakan konfigurasi saat ini di editor untuk memeriksa hasilnya; setelah mengklik Simpan, modifikasi menjadi konfigurasi perangkat yang disimpan.
Nama dan frekuensi pembaruan
Nama tersebut digunakan untuk mengidentifikasi parameter kendaraan. Pengidentifikasi internal secara otomatis dikelola oleh aplikasi dan tidak diisi di editor parameter, juga tidak diminta PID; preset yang diekspor tidak membawa pengenal asli perangkat. Skrip instrumen menggunakan pengidentifikasi masukan yang ditentukan sendiri dan memilih parameter kendaraan melalui pengikatan masukan.
Interval baca (detik) terisi dalam hitungan detik dan rentangnya adalah 0.3–99999. Misalnya, 1 detik berarti interval kueri target adalah 1 detik. Pembaruan sebenarnya juga dipengaruhi oleh respons kendaraan, permintaan lain, dan persyaratan baca saat ini. Item yang terlihat dalam daftar parameter, pemilihan instrumen, dan penggunaan data perjalanan menciptakan persyaratan baca; hanya mengimpor parameter tidak menyebabkan seluruh daftar selalu disurvei pada frekuensi tetap. Parameter yang berbagi permintaan yang sama dapat digunakan kembali sebagai respons.
pengaturan permintaan
| Bidang | Arti dan cara pengisian |
|---|---|
| Melayani | Kategori permintaan, menggunakan angka heksadesimal. Misalnya, layanan yang diminta untuk 0105 adalah 01. |
| PID | Nomor item data dalam layanan ini. Misalnya, PID dari 0105 adalah 05; 01 dan 21 menggunakan dua digit PID, dan 22 menggunakan empat digit PID. |
| Permintaan CAN ID | Alamat pengontrol kendaraan yang menerima permintaan. Jika dibiarkan kosong, protokol menggunakan pengalamatan fungsional; default yang cocok biasanya harus mempertahankan alamat asli. |
| Respons terhadap pemfilteran CAN ID | Tentukan respons pengontrol mana yang digunakan untuk menghindari pemilihan sumber yang salah ketika beberapa pengontrol mengembalikan data. |
| Alamat tujuan diperluas, alamat penerima diperluas | Konfigurasi pengalamatan komunikasi tambahan untuk digunakan oleh protokol kendaraan yang memerlukannya. |
| Parameter batas waktu respons | Konfigurasi batas waktu heksadesimal yang digunakan oleh adaptor, tidak diisi dalam hitungan detik; ini adalah pengaturan yang berbeda dari interval baca. |
| Kontrol aliran CAN khusus | Digunakan untuk permintaan yang memerlukan konfigurasi kontrol aliran tertentu, seperti yang ditentukan oleh kendaraan terkait. |
Rumus konversi, urutan byte dan satuan
Respons kendaraan biasanya berupa byte data. A mewakili byte data pertama, B mewakili byte kedua, dan seterusnya, tidak termasuk header protokol. Rumus mendukung operasi aritmatika, bitwise, perbandingan, operasi logika, dan ekspresi kondisional; ini bukan skrip yang dapat memanggil fungsi JavaScript sembarangan.
Misalnya suhu cairan pendingin menggunakan A - 40; putaran mesin standar (RPM) menggunakan (A * 256 + B) / 4. Jika A = 26, B = 248, yang terakhir mendapat 1726 rpm. Rumus parameter harus konsisten dengan arti byte yang dikembalikan oleh permintaan.
Endianness menentukan bagaimana bidang multibyte diinterpretasikan: big-endian mengutamakan byte tingkat tinggi, little-endian mengutamakan byte tingkat rendah. Aplikasi mengeksekusi rumus numerik setelah urutan pemrosesan yang dikonfigurasi, dan rumus tersebut tidak boleh berulang kali menukar byte lagi.
Satuan hasil rumus perlu dibedakan dengan satuan tampilan. Memodifikasi nama unit kustom hanya mengubah label dan tidak mengubah nilai rumus; ketika memilih unit tampilan yang kompatibel untuk kuantitas fisik standar yang ada, Aplikasi dapat melakukan konversi yang sesuai. Harap periksa satuan asli yang digunakan dalam rumus untuk menghindari konversi berulang.
Kondisi membaca dan rentang yang valid
| Konfigurasi | Efek sebenarnya |
|---|---|
| Jumlah minimum byte respons | Kecualikan pengembalian yang panjangnya tidak mencukupi untuk mencegah penghitungan dilanjutkan ketika byte hilang. |
| Baca kondisi | Kondisi ini dievaluasi pada byte respons mentah, seperti A != 0. Pembacaan ini tidak tersedia ketika hasilnya nol, byte hilang, atau penghitungan gagal. |
| nilai minimum, nilai maksimum | Jepit hasil numerik. Misalnya, ketika rentang valid dikonfigurasi sebagai 0–100, 120 akan ditampilkan sebagai 100. Nilai maksimum harus lebih besar dari nilai minimum; jika nilai minimum tidak ditetapkan, maka akan dianggap nol. Hanya menetapkan nilai minimum tidak akan membatasi amplitudo secara terpisah. |
| Batas bawah efektif, batas atas efektif | Hasil yang tidak valid tidak termasuk, begitu pula batasannya sendiri. Misalnya, jika batas atas adalah 100, hasil yang lebih besar atau sama dengan 100 tidak akan tersedia. |
Respons melewati pemeriksaan kondisi panjang dan baca sebelum didekodekan. Hasil digital dibatasi terlebih dahulu, kemudian batas atas dan bawah efektif diperiksa; tidak ada pembacaan yang dihasilkan ketika nilai terbatas tidak dapat diperoleh. Kondisi baca menggunakan respons mentah sebelum konversi urutan byte.
pemetaan teks
Pemetaan teks menampilkan nilai yang diperoleh rumus sebagai teks, seperti 1 → D. Kuncinya mendukung desimal dan angka negatif dan harus berupa nilai terbatas yang unik. 1.5 dan 1.50 mewakili item yang sama. Literal diperbolehkan berupa string kosong.
Saat pemetaan dilakukan, string yang sesuai dikembalikan; ketika tidak dipukul, nomor dikembalikan ketika Kembalikan angka asli jika tidak cocok dihidupkan, dan null dikembalikan ketika dimatikan. Pengaturan yang tidak cocok ini berlaku jika ada pemetaan. Teks hit tidak akan terus melakukan kliping digital.
Oleh karena itu, parameter yang sama dapat mengembalikan angka, teks, atau nilai null, dan kode instrumentasi harus menangani tipe parameter sebenarnya. Ketika situasi "beberapa nilai dapat ditampilkan dan nilai lain menghilang", Anda harus memeriksa apakah pemetaannya cocok dan apakah pengaturannya tidak cocok.
Simpan dan pesan kesalahan
Konfigurasi yang tidak valid akan menunjukkan bidang dan alasannya, lalu menyimpan atau menguji setelah koreksi. PID layanan 01 dan 21 adalah bilangan heksadesimal dua digit, 22 adalah empat digit; CAN ID terdiri dari 3 atau 8 digit, dan parameter alamat yang diperluas serta batas waktu habis adalah dua digit. Interval baca adalah 0.3–99999 detik, jumlah minimum byte respons adalah bilangan bulat 0–4096, dan rumus serta kondisi baca masing-masing hingga 1.024 UTF-8 byte. Nilainya harus dibatasi, nilai minimum tidak boleh lebih besar dari nilai maksimum, dan batas bawah yang sah harus lebih kecil dari batas atas yang sah; kunci pemetaan teks tidak dapat diulang.
Penggantian data perjalanan
Ganti data perjalanan membuat pembacaan dasar menggunakan parameter OBD yang ditentukan. Misalnya, dengan menentukan parameter kecepatan kendaraan sebagai "Kecepatan", bidang kecepatan dasar, pengukur bawaan terkait, dan catatan perjalanan dapat menggunakan pembacaan kendaraan ini.
Target alternatif termasuk kecepatan, G memanjang, G lateral, pitch and roll. Menerima km/h atau mph untuk kecepatan, g atau m/s² untuk percepatan, dan derajat atau radian untuk sudut. Aplikasi ini akan mengkonversi unit sesuai kebutuhan target.
Penggantian mengharuskan parameter diberikan dengan angka, satuan, dan rentang yang sesuai. Parameter dengan pemetaan teks tidak dapat digunakan untuk penggantian goresan; hasil asli di luar rentang konfigurasi juga akan ditolak, dan nilai batas setelah pembatasan tidak akan dianggap sebagai pengukuran pukulan yang valid.
Gunakan sumber ini bila ada pembacaan OBD yang valid; kembali ke data seluler ketika pembacaan hilang, kedaluwarsa, atau tidak valid. Pembacaan dasar ini mungkin masih kosong ketika sumber seluler juga tidak tersedia. Impor parameter biasa tidak secara otomatis menentukan target penggantian.
Parameter seperti suhu cairan pendingin, kecepatan putaran (RPM), dll. dapat ditampilkan secara terpisah di instrumen khusus, dan referensi OBD-nya dapat digunakan secara langsung tanpa mengonfigurasi penggantian langkah.
Akses instrumen khusus
Klik roda gigi di sebelah Pengaturan instrumen → Pengikatan masukan untuk memasukkan Konfigurasi parameter dan menambahkan input Data OBD, misalnya pengenal coolant. Kembali ke pengikatan input dan pilih parameter Suhu Pendingin di bawah Perangkat untuk itu. Naskahnya membaca $data.current.coolant; UUID parameter kendaraan tidak perlu ditulis ke dalam kode.
Bacaannya mencakup value dan unit, misalnya { value: 83, unit: '°C' }. Pemetaan nilai ke teks juga dapat mengembalikan string, jenisnya harus diperiksa sebelum memformat angka. Jika tidak terikat, seluruh masukannya adalah null; ketika terikat tetapi tidak ada pembacaan sementara, value adalah null, dan unit masih menggunakan unit konfigurasi.
Setelah mengimpor karya orang lain atau mengganti adaptor, rebind input yang ada untuk terus menggunakan kode. Jenis yang diharapkan digunakan sebagai petunjuk, nilai pengembalian kendaraan tidak diberikan. Pratinjau menggunakan input analog, dan perangkat saat ini serta Uji pembacaan harus diperiksa saat mengonfirmasi data kendaraan sebenarnya.
Validitas data dan diagnosis kesalahan
Status membaca
Koneksi valid, respon diterima dan pembacaan valid merupakan tiga kondisi yang berbeda. Responsnya mungkin tidak menghasilkan nilai yang dapat digunakan karena panjangnya tidak mencukupi, kondisi pembacaan tidak memuaskan, rumus tidak valid, atau pemetaan teks salah.
Pembacaan runtime memiliki tanggal kedaluwarsa. Setelah pemutusan, kegagalan baca atau habisnya masa berlaku data, penggantian instrumen dan trip tidak boleh terus menggunakan nilai lama sebagai data valid saat ini. Daftar parameter dapat menyimpan pembacaan terakhir yang berhasil untuk tujuan demonstrasi yang tidak sama dengan keluaran langsung yang valid; hasil permintaan saat ini dapat diperiksa menggunakan Uji pembacaan.
Nol adalah nilai yang valid, dan nilai nol berarti saat ini tidak ada pembacaan yang tersedia. String kosong pada peta teks adalah hasil teks yang cocok, yang juga berbeda dengan tes yang hilang.
Temukan berdasarkan tingkat kesalahan
| Pertunjukan | Ruang lingkup inspeksi yang sesuai |
|---|---|
| Tidak dapat menemukan perangkat | Bertenaga adaptor, tipe BLE, Bluetooth iPhone, dan izin Aplikasi. |
| Bluetooth terhubung tetapi inisialisasi gagal | Dukungan perintah adaptor, status komunikasi kendaraan dan identifikasi protokol. |
| Daftar parameter kosong | Konfigurasi tersimpan perangkat saat ini, hasil kueri kemampuan pertama, dan apakah daftar telah dihapus secara aktif. Menghubungkan kembali tidak akan secara otomatis memulihkan item yang terhapus. |
| Tidak ada pembacaan yang valid untuk satu parameter | Alamat kueri dan PID, panjang respons, kondisi baca, rumus penguraian kode, rentang dan pemetaan teks. |
| Nilainya ada tetapi arti atau satuannya tidak normal. | Prasetel apakah model mobil, urutan byte, rumus, dan unit yang berlaku konsisten. |
| Daftar menunjukkan nilai lama, meteran tidak memiliki nilai | Apakah pembacaan saat ini telah kedaluwarsa atau gagal dibaca; cache tampilan daftar tidak berarti data real-time valid. |
| Ada pembacaan yang valid tetapi meteran khusus tidak ditampilkan | Perangkat saat ini, parameter yang dipilih, ekspresi, dan penanganan kode terhadap angka, literal, dan nilai null. |
| Pergantian rencana perjalanan tidak berlaku | Target penggantian, jenis nilai parameter, kompatibilitas unit dan rentang, dan validitas pembacaan. |
Umpan balik masalah dapat mencakup informasi berikut untuk membedakan antara masalah konektivitas, masalah konfigurasi, dan masalah tampilan:
- Model, tahun, versi daya, dan model adaptor.
- Nama perangkat, preset, dan parameter saat ini.
- Uji hasil baca atau kesalahan tertentu.
- Apakah ini memengaruhi semua parameter atau parameter individual, dan apakah masalah terjadi pada daftar parameter, penggantian trip, atau instrumen khusus.