Konektor diagnostik OBD-II sebagai antarmuka untuk IoT

Sekali waktu, sekitar pertengahan 90-an, selama kedatangan prosesor Pentium Pro, salah satu pendiri Intel Gordon Moore mencatat bahwa: "Jika industri otomotif berkembang pada tingkat evolusi industri semikonduktor, hari ini Rolls-Royce dapat menggerakkan setengah juta mil per galon gas, dan akan lebih murah membuangnya daripada membayar parkir. " Tapi, mungkin, sudah hari ini industri otomotif membuat langkah pengembangan raksasa ke arah perubahan mendasar dalam jenis bahan bakar dan teknologi untuk mengendarai mobil. Hampir baru-baru ini, mobil listrik komersial dan mobil bertenaga hidrogen disajikan, dan autopilot menjadi komponen yang diinginkan dari "pengisian" elektronik kendaraan. Untuk sebagian besar, hanya terobosan cepat di industri otomotif adalah karena munculnya solusi yang andal dan aman berdasarkan elektronik pintar untuk sistem kontrol on-board otomotif. Tapi di mana Internet dalam mobil dalam kehidupan sehari-hari, di mana teknologi Internet of things (IoT), serta konsep mobil yang terkenal yang terhubung ke jaringan (Connected Car)?


Rolls-Royce 103EX. Rolls-Royce memperkenalkan mobil konsep elektris tanpa pengemudi, lengkap dengan kursi sutra cinta - The Telegraph .

Pada kenyataannya, semua teknologi di atas sudah ada dan digunakan, namun, hanya dalam solusi yang cukup terpisah. Alasan untuk ini adalah persyaratan keamanan yang ketat yang tentunya harus diterapkan ketika meluncurkan teknologi atau solusi baru dalam transportasi. Karena itu, tidak dapat dikatakan bahwa ketika Anda masuk ke mobil dengan smartphone, Anda dapat secara otomatis mendapatkan solusi IoT atau Connected Car. Di sebagian besar negara, dan ini sangat logis, ada larangan penggunaan smartphone atau gadget lain saat mengemudi, dan jika kita berbicara tentang asisten suara, dalam kebanyakan kasus mereka sekarang menjengkelkan dan mengganggu, baik pengemudi maupun penumpangnya. Pada gilirannya, pusat media, layar video tambahan dan akustik yang bagus, tentu saja, merupakan komponen yang sangat menarik dari mobil modern. Tetapi saya ingin menangkap diri saya pada kata, dan perhatikan bahwa itu baik untuk meredam musik dan hanya melihat keluar jendela di jalan-jalan atau alam menyapu masa lalu. Tentu saja, ada kemacetan lalu lintas, tetapi dalam publikasi ini tujuannya adalah untuk mencatat tidak sedikit komponen etis atau mempertimbangkan masalah banyaknya informasi pengguna jalan, tetapi untuk mempertimbangkan komponen teknologi IoT yang “tidak terlihat” yang sudah digunakan dalam kendaraan dan tersedia untuk digunakan secara luas.



Saat ini, solusi yang menarik dan sangat menjanjikan untuk IoT otomotif adalah platform Open Connected Car Mojio. Platform ini dengan antarmuka terbuka (API) menyediakan layanan cloud untuk mobil "terhubung" dan penawaran komersial sudah tersedia. Misalnya, raksasa telekomunikasi T-Mobile, yang berbasis pada platform ini, menyediakan layanan SyncUP DRIVE. Ini adalah solusi perangkat keras-perangkat lunak yang didasarkan pada perangkat portabel yang terhubung ke mobil melalui konektor diagnostik OBD-II dan aplikasi seluler yang sesuai. Berkat pendekatan ini, dimungkinkan untuk secara efektif melakukan pemantauan terus menerus terhadap parameter operasi mobil Anda dan kapan saja untuk mendapatkan lokasinya saat ini. Aplikasi ini dapat berbicara tentang gaya mengemudi, memperingatkan tentang pemeliharaan preventif, dan juga memberi tahu pemilik masalah dengan kendaraan. Selain itu, SyncUP DRIVE menyebarkan titik akses Wi-Fi di mobil menggunakan akses melalui protokol kecepatan tinggi standar LTE seluler.


Platform Mobil Terbuka yang Tersambung - Mojio

Konektor diagnostik standar OBD-II digunakan untuk menghubungkan ke kendaraan. Sebagian besar mobil produksi yang diproduksi setelah 1996 sudah memiliki konektor ini. Walaupun konektor diagnostik tersebut distandarisasi, ia mendukung beberapa protokol dari berbagai sistem kontrol mesin (kontak yang berbeda pada konektor secara fisik digunakan) yang harus diketahui oleh modul komunikasi IoT. Oleh karena itu, dalam merek mobil yang berbeda mungkin terdapat bus internal yang berbeda untuk memperoleh data diagnostik dari unit kontrol mesin (ECU - Unit kontrol elektronik). Untuk bekerja dengan layanan SyncUP DRIVE, solusi berdasarkan modul ZTEWelink VM6200S ditawarkan.

Modul VM6200S mendukung koneksi melalui protokol seluler LTE, berisi sensor akselerasi 3-sumbu terintegrasi dan giroskop 3-sumbu, penerima sinyal GPS, chip OBD-II, dengan dukungan untuk protokol ISO 15765-4 (CAN), ISO 14230-4 KWP (Protokol Kata Kunci 2000), ISO 9141-2 (Chrysler, Euro, dan mobil Asia), SAE J1850 PWM (kendaraan Ford), SAE J1850 VPW (kendaraan GM). Dengan demikian, modul ini memungkinkan Anda untuk menyebarkan titik akses Wi-Fi 802.11 b / g / n /, mendaftarkan acara saat mengemudi, melakukan diagnostik mesin, mengevaluasi penghematan bahan bakar, dll. Dan karena mitra Mojio adalah proyek Amazon Alexa, layanan IFTTT dan lainnya, semua prospek terbuka bagi pengembang dan integrator solusi hingga menciptakan IoT sosial berdasarkan mobil "terhubung", sebagai bagian dari infrastruktur seperti itu.


VM6200S4G Perangkat OBD - ZTEWelink Corporation

Tetapi tidak hanya SyncUP DRIVE yang sekarang ada di pasaran, misalnya, banyak perusahaan menyediakan sesuatu yang serupa. Tentu saja, perangkat otomatis Samsung Connect yang diperkenalkan baru-baru ini adalah salah satu proposal menarik yang mengubah mobil menjadi perangkat yang terhubung. Solusi Samsung menggunakan jaringan seluler generasi 4G LTE dengan cara yang sama dan menyebarkan titik akses Wi-Fi di dalam mobil: 802.11 a / b / g / n. Perangkat auto Connect mendukung Bluetooth v4.1, berisi penerima GPS, sensor akselerasi, giroskop dan didasarkan pada prosesor 4-core dengan frekuensi 1.2GHz dan sistem operasi Tizen. Perlu dicatat bahwa raksasa elektronik Korea Samsung berbicara tentang keamanan sistem melalui penggunaan Samsung Knox - solusi mobile dengan perlindungan tingkat perusahaan. Faktanya, Samsung Knox adalah solusi perangkat lunak dan perangkat keras untuk meningkatkan perlindungan sistem operasi Android.


Samsung Connect otomatis

Dengan demikian, informasi yang diperoleh dengan cara membaca data dari OBD-II , koordinat lokasi saat ini dari penerima GPS dan parameter dinamika kendaraan, diperoleh dari sensor gyro, pada waktu saat ini dan secara de facto, menjadi dasar untuk mengubah setiap kendaraan menjadi Perangkat IOT. Selanjutnya, Anda dapat mempertimbangkan skenario untuk menggunakan informasi agregat yang diterima dari mobil, menerapkan berbagai teknik pemrosesan Big Data, dan Anda tidak boleh lupa tentang prospek menggabungkan data tersebut dengan informasi dari infrastruktur jalan pintar. Tetapi sebelum Anda mulai memproses data, Anda harus terlebih dahulu mendapatkannya, jadi dalam publikasi ini kami akan fokus pada komponen perangkat keras dari penerapan skenario kerja di tingkat konektor diagnostik OBD-II.

Salah satu cara atau yang lain, tetapi semua solusi yang dibahas sebelumnya adalah produk industri yang lebih maju, dibandingkan dengan pembaca kode diagnostik konvensional berdasarkan chip ELM327 dari perusahaan Kanada Elm Electronics. ELM327 adalah konverter universal protokol yang digunakan dalam bus diagnostik mobil menjadi protokol serial seperti RS-232.


Blok diagram dari chip ELM327 v2.2 - Elm Electronics

Interaksi dengan ELM327 dilakukan oleh perintah AT standar yang didukung oleh chip. Anda hanya perlu mengatur pertukaran pesan teks menggunakan protokol RS-232 , yang sudah menjadi klasik (atau lebih tepatnya UART , karena kita hanya berbicara tentang aliran data, bukan level sinyal). Dan koneksi fisik tingkat rendah itu sendiri melalui USB, Bluetooth atau Wi-Fi hanya diimplementasikan menggunakan protokol konversi serial chip UART. Ternyata untuk mengubah mobil menjadi perangkat IoT, cukup, tidak lupa mengoordinasikan level tegangan, untuk menghubungkan chip ELM327 ke konektor diagnostik OBD-II dan, misalnya, untuk menempatkan konverter antarmuka serial ke Bluetooth atau Wi-Fi pada output chip ini. Kemudian, Anda dapat "membaca" diagnostik kendaraan dari ponsel cerdas Anda. Namun, ada banyak modul atau blok yang sudah jadi di pasaran. Dan harganya pada kisaran AliExpress mulai dari US $ 2,50 - US $ 10. Meskipun modul tidak boleh mengkonsumsi banyak daya, akan sangat nyaman jika tombol mematikan sudah ada di atasnya. By the way, dari sudut pandang keamanan - ini juga tidak buruk.


Mini ELM327 Bluetooth OBD-II Adapter Diagnostik Mobil V1.5

Sekarang Anda dapat menghubungkan modul standar Mini ELM327 Bluetooth OBD-II V1.5 (menarik bahwa di banyak sumber disarankan untuk menggunakan modul dengan firmware lama versi 1.5, dan bukan yang baru dengan versi 2.2, mis. Sebagai argumen operasi modul yang lebih stabil pada modul lama). firmware dan dukungan untuk lebih banyak mobil, tetapi ini sangat subyektif) dan bereksperimen dengan menghubungkan smartphone ke modul yang dipilih, misalnya, untuk platform Android, Anda dapat menggunakan salah satu program diagnostik paling populer Torque Lite (OBD2 & Car) atau Torque Pro (OBD 2 & Car) serta apa pun n lebih mudah digunakan, atau prestasi mereka.


Aplikasi Torque Pro berjalan di Android.

Ngomong-ngomong, saya ingin mencatat layanan MockUPhone yang sangat nyaman dengan mock-up gratis gadget modern, yang sangat berguna untuk menyiapkan tangkapan layar program Torque. Tapi ini sedikit berbeda dari topik publikasi. Perlu dicatat bahwa dalam kebanyakan kasus, konektor OBD-II, yang terhubung dengan modul diagnostik, terletak di bawah kolom kemudi mobil.


Memulai dengan OBD-II - SparkFun Electronics

Jelas bahwa ada banyak solusi siap pakai. Tetapi jika kita berbicara tentang mengembangkan layanan berdasarkan IoT atau lebih spesifik - konsep Connected Car sedang diimplementasikan, maka cukup nyaman untuk menggunakan emulator jaringan informasi on-board mobil agar tidak berlari ke mobil setiap saat. Misalnya, Mojio menawarkan simulator mobil online untuk bekerja dengan API-nya, dan pada contoh bekerja dengan layanan cloud Platform IBM Watson IoT dalam artikel: " Mengirim Data Kendaraan ke Platform IoT Watson IBM - IBM developerWorks Recipes " diusulkan untuk dikirimkan ke awan data dari suatu transportasi berarti menggunakan aplikasi seluler, misalnya, " IBM IoT untuk Otomotif - Aplikasi Manajemen Armada OBDII untuk Android ", yang berinteraksi dengan layanan cloud yang digunakan " IBM IoT untuk Otomotif (Bluemix) - Aplikasi Pemula Manajemen Armada ", tetapi jika Anda tidak terganggu oleh proyek-proyek ini, Anda dapat gunakan hanya emulator data: " Car Simulator ". Benar, semua solusi ini, pada dasarnya, meniru data yang sudah diterima, dan kami tertarik pada emulator jaringan informasi on-board. Solusi yang paling terkenal adalah ECUsim 2000, yang biayanya mulai dari US $ 200 dan tergantung pada jumlah protokol yang ditiru.


ECUsim 2000 OBD Simulator - ScanTool

Tentu saja, emulator profesional tidak dapat diganti, tetapi penggemar dan geek mungkin tertarik pada implementasi independen dari proyek yang kurang kompleks pada Arduino atau Raspberry Pi. Misalnya, Anda dapat membatasi diri pada antarmuka CAN (Controller Area Network) yang paling umum. Pada suatu waktu, standar CAN yang diusulkan oleh Bosch membuat kemajuan signifikan dalam pengembangan sistem untuk elektronik otomotif. Jika sebuah mobil di Internet baru muncul baru-baru ini, maka konsep jaringan di dalam mobil telah ada sejak pertengahan tahun 80-an. Idenya sangat sederhana, dan ketika Ethernet membuat terobosan dalam jaringan komputer, CAN menjadi dasar untuk komunikasi yang andal di dalam mobil.


Jaringan CAN Bus Berbasis Arduino - Bench Henry

Sebelumnya, di dalam mobil, biasanya, bus dan kabel dari berbagai modul dan perangkat yang terhubung “mengalir” ke unit kontrol engine pusat. Bus CAN dua kawat seri memungkinkan untuk mengimplementasikan modul cerdas yang sudah independen, misalnya, unit kontrol pusat menjadi hanya satu dari modul yang “berkomunikasi” satu sama lain sebenarnya melalui protokol jaringan. Ini secara signifikan mengurangi jumlah kabel di dalam mobil.

Tidak seperti Ethernet, jaringan CAN jauh lebih dapat diandalkan, yang menyebabkan penggunaannya tidak hanya di industri otomotif, tetapi juga dalam sistem otomasi industri, solusi rumah pintar, dll. Pada tingkat fisik, CAN menggunakan garis dua kawat, CAN Lo dan CAN Hi, yang sedikit bijaksana mengirimkan data yang dikemas dalam sebuah paket. Di ujung bus ada resistensi yang cocok dari 120 ohm, dan juga harness kawat harus digunakan untuk menekan gangguan. Kecepatan transfer data dapat mencapai 1 Mbps.


Jaringan Area Pengendali (CAN bus)

Transfer data ke bus CAN agak mengingatkan pada model penerbit-pelanggan, di mana setiap perangkat di bus memiliki pengidentifikasi unik dan ketika satu perangkat mentransmisikan data, semua orang mendengarkan dan membuat keputusan berdasarkan pengidentifikasi ini - apakah mereka secara spesifik membutuhkan ini data untuk menerima dan memproses atau tidak. Secara umum, protokolnya cukup rumit, tetapi untuk mikrokontroler atau mikroprosesor tidak mungkin harus menulis implementasi CAN, serta memikirkan fitur-fitur media transfer data fisik. Untuk mengatasi masalah ini, sudah ada pengendali bus perangkat keras yang siap pakai, dan untuk pencocokan level, konverter terintegrasi sering digunakan. Misalnya, pengontrol MCP2515 dengan SPI dan transceiver (level pencocokan chip) MCP2551. Atas dasar sirkuit mikro inilah proyek Simulator Arduino OBD2, yang diterbitkan pada platform Instructable , diusulkan. Untuk mengimplementasikannya, Anda hanya perlu papan Arduino UNO dan CAN-BUS Shield, misalnya, Seeed Technology.


Eksperimen menggunakan Arduino OBD2 Simulator

Pada prinsipnya, untuk pengembangan emulator data OBD-II, catu daya DC 12V untuk modul ELM327, serta konektor OBD-II, tidak ada salahnya. Namun, konverter tanpa nama DC-DC-USB-TO-12V mungkin dapat memecahkan masalah, karena beberapa catu daya untuk 5V, mungkin, akan tersedia untuk setiap pengembang untuk Internet hal dan tidak hanya. Untuk terhubung ke OBD-II, dua kabel informasi CAN_H dan CAN_L akan diperlukan, serta keberadaan daya 12 V, tetapi seperti disebutkan sebelumnya, 12 V hanya diperlukan untuk memastikan pengoperasian modul ELM327.


CAN-BUS Shield V1.2 - Seeed Development Limited Wiki

Pada papan ekspansi CAN-BUS Shield, sangat nyaman untuk tidak menggunakan konektor D-SUB, tetapi hanya blok terminal untuk dua kontak (CAN_H, CAN_L). Dari sudut pandang pengembangan kode perangkat lunak, perlu dicatat bahwa penggemar prototipe diposting di GitHub . Sekarang papan Seeed telah berubah, dan dalam hal apa pun, untuk pengontrol MCP2515, lebih baik menggunakan driver baru dari Seeed-Studio yang sama . Tentu saja, program asli perlu sedikit dimodifikasi untuk driver baru, tetapi ini hanya beberapa menit.


Bekerja dengan CAN-BUS dalam IDE Arduino berdasarkan Simulator ECU OBD2 berbiaya rendah

Namun, contoh yang dipertimbangkan sangat primitif, karena semua parameter yang dikirim melalui protokol OBD-II dihasilkan secara acak, tidak ada koneksi antara parameter operasi mesin, dll. Sebagai kelanjutan dari proyek, pengembangan aplikasi yang mirip dengan GUI Freematics OBD-II Emulator sudah jelas. Ini adalah shell grafis open source yang digunakan dalam solusi perangkat keras Emulator OBD-II Freematics .


Freematics OBD-II Emulator GUI - Freematics

Dengan demikian, setelah merakit modul berdasarkan Arduino yang memungkinkan bekerja dengan CAN, sangat mungkin untuk membuat emulator OBD-II, karena protokol diagnostik dijelaskan dengan baik dan tidak sulit untuk mengimplementasikannya. Perlu dicatat bahwa interaksi antara mikrokontroler dan bus CAN onboard adalah tugas yang sama sekali berbeda dan Anda perlu memahami bahwa protokol tingkat tinggi internal bus ini tidak didokumentasikan oleh produsen mobil, dan di sisi lain, mereka tidak boleh tertanam di perangkat internal elektronik otomotif, sehingga tidak mungkin mengurangi keamanan kendaraan. Jika kita berbicara tentang CAN secara umum, sangat mungkin untuk menggunakan protokol CANopen terbuka tingkat tinggi untuk mengembangkan perangkat Anda berdasarkan bus ini.

Ini tetap berlaku untuk kecil - sedikit waktu luang dan kesenangan untuk melakukan pengembangan kode Anda. Benar, di mana saat ini untuk menemukan pada akhir tahun? Tapi kami akan optimis. Tetapi berbicara tentang penggunaan emulator OBD-II seperti itu, arah paling langsung adalah pengembangan modulnya sendiri untuk konektor diagnostik. Misalnya, Anda dapat menggunakan proyek terbuka Carloop sebagai titik awal, yang bertujuan untuk membuat modul untuk menghubungkan mobil ke cloud menggunakan teknologi 3G, Wi-Fi atau Bluetooth.


Carloop bluetooth

Proyek Carloop didasarkan pada penggunaan papan: Partikel Photon (berdasarkan modul Wi-Fi BCM43362 Cypress yang mendukung 802.11b / g / n; keluarga pengendali ARM Cortex M3 - STM32F205 pada frekuensi 120Mhz; memori flash 1MB; RAM RAM; dan RAM 128MB) Electron (papan dengan dukungan untuk menghubungkan ke jaringan seluler 3G / 2G). Platform Partikel itu sendiri sangat menarik karena didasarkan pada layanan koneksi perangkat IoT berbasis cloud, IDE berbasis cloud untuk pengembangan, misalnya, berdasarkan papan Photon, yang menggunakan bahasa yang mirip dengan C / C ++ untuk Arduino. Faktanya, Particle adalah topik terpisah untuk publikasi, dan proyek Carloop jelas layak mendapat perhatian khusus dari para penggemar mobil, sebagai perangkat IoT yang terhubung.

Dengan menghubungkan mobil ke layanan Internet dan IoT, Anda dapat menerapkan banyak skenario yang tidak diragukan lagi akan berkontribusi pada kemudahan penggunaan kendaraan, meningkatkan kenyamanan dan, sederhananya, solusi yang efektif untuk masalah sehari-hari, tentu saja, termasuk solusi transportasi. Misalnya, data tentang gaya mengemudi, keandalan komponen mesin dan kendaraan, mungkin sudah diperhitungkan oleh perusahaan asuransi. Lokasi mobil saat ini akan relevan untuk layanan taksi dan penyewaan mobil. Interaksi pengguna jalan menjadi lebih nyaman saat menggunakan IOT, serta masalah parkir, menemukan ruang parkir yang tersedia, dan banyak lagi.



Kami berharap bahwa gagasan publikasi ini telah tercapai - di satu tempat materi dikumpulkan untuk bekerja dengan konektor diagnostik OBD-II, baik pada tingkat pembacaan kode kesalahan yang sederhana dan emulasi koneksi fisik ke mobil. Kami juga berharap komentar pembaca. Sebagai kesimpulan, saya ingin mencatat bahwa hanya beberapa masalah dalam mengembangkan perangkat Connected Car yang dipertimbangkan, tetapi banyak teknologi tetap tertinggal, yang, dengan satu atau lain cara, mengubah mobil modern menjadi perangkat IoT dan membuat perjalanan lebih nyaman dan aman. Tentu saja, kami akan kembali ke topik ini dalam publikasi kami di masa depan.

Sumber daya dan tautan yang menarik:


- Peretasan Mobil: Apakah Sistem Keamanan Mobil Begitu Aman? - Habrahabr
- Mikroprosesor berusia 25 tahun! - Computerworld
- T - Mobile SyncUP DRIVE - T-MOBILE
- ZTE dan Mojio akan membuat hampir semua mobil menjadi bagian dari Internet - ZTE Corporation
- Samsung Knox - SAMSUNG
- Fitur protokol CAN - Majalah STA
- Internet barang di rumah Anda - sambungkan ke rumah Anda - mesin Anda - IBM developerWorks
- Analisis telematika kendaraan menggunakan Watson IoT Platform Cloud Analytics - Resep IBM developerWorks
- Menggunakan jaringan CAN dan tumpukan CANopen terbuka - Habrahabr
-CANopen Protokol Tingkat Tinggi - Majalah RADIOLOCMAN - Lakukan-sendiri
- sendiri di - board komputer untuk mobil di Arduino - Geektimes
- Pengkabelan Jaringan Area Pengontrol MCP2515 CAN BUS Diagnostics - 14CORE
- Arduino OBD2 ELM327 I2C-LCD HC05 Bluetooth - Instruksabel
- Pengembangan aplikasi Android untuk bekerja dengan protokol OBDII - Habrahabr

Source: https://habr.com/ru/post/id408941/


All Articles