Angin kedua Pandora DXL 3000 atau bagaimana saya mengacaukan telemetri saya sendiri

Mungkin situasi yang akrab membuat saya mengembangkan telemetri saya sendiri - itu berhasil, tetapi berhenti. Suatu malam, unit alarm mobil berhenti melihat gantungan kunci. Saya mengerti bahwa pertama-tama Anda perlu mencoba untuk memasang kembali gantungan kunci, yang perlu untuk melakukan prosedur sederhana, dengan jelas mengikuti instruksi dari manual instalasi. Pelaksanaan prosedur menjadi tidak mungkin, karena alarm mobil dalam mode bersenjata, yang dapat dinonaktifkan oleh tombol Valet dengan memasukkan kode layanan.

Saya tidak pernah mencoba mengingat kode layanan, dan terlebih lagi kode master. Saya mencoba gagal untuk mengingat beberapa kode untuk memori. Dalam beberapa menit saya harus mencuri mobil saya. Getaran dari sirene di telingaku kemudian berdiri untuk waktu yang lama, karena sirene dipasang di kompartemen penumpang. Saya tidak ingat mengapa saya menempatkan sirene tepat di sana - entah karena kemalasan saya sendiri, atau melihat beberapa pengertian dalam hal ini. Anda tahu, dari perasaan pribadi yang berpengalaman, ini dapat menyebabkan kebingungan parah untuk penjahat yang tidak siap. Saya sangat menyesal, saya harus membongkar unit ini. Saya mulai mencari tahu apa yang harus dilakukan selanjutnya dan apa yang harus saya lakukan. Siapa peduli apa yang terjadi pada akhirnya, saya minta kucing.

Saya punya beberapa hipotesis:

  1. Kegagalan dalam pengoperasian modul antena.
  2. Kegagalan memori non-volatile di blok utama. Akibatnya, data tentang FO utama dan sinkronisasi mereka bisa rusak.
  3. Kegagalan memori non-volatile dari pemancar. Konsekuensinya mirip dengan paragraf 2.
  4. Sinyal macet dalam persiapan untuk pencurian.

Saya memeriksa opsi dengan kehadiran pengacau sinyal segera setelah saya pindah ke tempat yang aman. Alarm mobil juga tidak merespons ke tombol fob.

Saya menoleh ke dealer tentang ketersediaannya. kemampuan untuk mereset kode layanan. Saya diberitahu bahwa tidak ada kesempatan seperti itu dan Anda harus membeli kit baru untuk beberapa ribu rubel. Ya, dan akan lebih baik jika Anda memasang semua bisnis ini bersama kami - kata mereka, memberikan beberapa ribu lebih. Jawaban ini sama sekali tidak mengejutkan saya, IMHO, tentu saja! Lebih baik bagi dealer untuk menjual kit baru daripada melakukan layanan. Kemudian tiba-tiba saya merasakan bagaimana suasana hati saya membaik secara dramatis, muncul pemikiran untuk menyelesaikan masalah saya sendiri, mencari tahu di sepanjang jalan apakah kode dapat diatur ulang atau tidak. Secara umum, justru saat-saat seperti itulah yang mendorong alternatif, mundur, pengembangan, dan DIY. Saya menantang diri saya sendiri.

Saya sama sekali tidak memulai dengan menggali blok, tetapi dengan alternatif. Ketika Pandora berbaring di lemari, aku mencoba membuat modul sendiri. Saya pikir jika Anda mengembangkan modul alarm mobil Anda sendiri, itu akan segera menjadi keren, dapat diandalkan, fleksibel dan sama sekali tidak sulit. Apa yang bisa saya katakan, semua ini adalah antusiasme belaka. Saya menghabiskan beberapa minggu menulis firmware dan membuat prototipe modul. Prosesnya benar-benar kreatif. Jadi, tiba-tiba, sebuah ide datang kepada saya dan saya menyadarinya dengan senang hati. Misalnya, sudah pada tahap prototipe yang berfungsi dengan gulungan, transistor, dan GSM yang diperlukan, tiba-tiba saya ingin menambahkan lebih banyak GPS dan Bluetooth. Nah, mengapa menarik ekor kucing? Biarkan modul menjadi dingin segera, seperti yang saya temukan pada awalnya, dan saya harus mengubah mikrokontroler menjadi yang tebal, karena ATMega328 hanya memiliki satu port UART. Untuk mendapatkan sesuatu yang umum dari AVR dan dengan tiga UART, menurut saya adalah suatu usaha yang tidak realistis. Saya tidak suka opsi untuk mengimplementasikan perangkat lunak UART, karena alasan sederhana bahwa perangkat keras lebih dapat diandalkan. Saya ingat bagaimana STM32 sudah melakukan flash dengan dan utama dalam berbagai artikel tentang elektronik dan tersedia untuk dipesan pada AliExpress. Tanpa ragu-ragu, saya menulis sendiri sepasang STM32F103, karena itu adalah mikrokontroler 32-bit nyata dengan sejumlah besar memori dan periferal yang kaya, dan bahkan lebih lagi dengan jumlah UART yang diperlukan. Saya tidak punya pengalaman pemrograman STM32 pada waktu itu, tetapi ini hanya muncul minat belajar sesuatu yang baru.

Untuk mengantisipasi kedatangan mikrokontroler, diputuskan untuk menunda prototipe dan tidak hanya menunggu, tetapi memeriksa hipotesis yang tersisa.

Musim dingin semakin dekat, dan mobil tanpa "pengawasan" entah bagaimana tidak menginspirasi kenyamanan. Semuanya berlanjut sampai saya melihat ke bawah penutup unit alarm mobil. Di dalamnya saya menemukan ATMega324! Sukacita saya tidak mengenal batas, karena itu adalah AVR, yang berarti Anda dapat bekerja dengan benar. Hal pertama yang saya lakukan adalah memeriksa kabel UART dan SPI. ATMega324 memiliki 2 port UART. Satu UART terhubung ke register geser, dan yang kedua ke konektor modul antena. Sirkuit SPI menuntun saya ke blok yang tidak terjual (dalam foto dekat kuarsa di sudut kiri bawah papan).



Cepat menyolder blok dan menghubungkan programmer. Membaca firmware dan EEPROM menghasilkan dump kosong. Tentu saja, pengembang tidak bisa membiarkan tusukan seperti itu. Memeriksa pertukaran antara unit dan modul antena. Garis TX jelas pada saat alarm. Ini bisa berarti bahwa jumlah pernak-pernik dalam memori adalah 0. Modul antena sama sekali tidak latah. Juga ternyata mikrokontroler mengontrol kekuatan modul antena melalui saklar transistor. Tegangan input terdeteksi pada output kunci, dan sesuai dengan instruksi itu harus + 5V. Semua ini terasa agak aneh bagi saya. Mungkin karena alasan ini modul antena diam? Saya tidak punya pilihan untuk menguji hipotesis. Bagaimana dengan bit sekering? Suatu kejutan! Firmware diizinkan dalam firmware melalui antarmuka SPI. Nah, sekarang bagaimana cara duduk tepatnya? Itu benar - tulis firmware Anda! Itu pilihan yang sangat sulit, karena selain firmware itu sendiri, saya juga harus membunyikan papan.

Varnish pelindung mengganggu proses, tetapi dipersenjatai dengan probe dengan ujung yang tajam, segalanya menjadi jauh lebih baik. Ternyata lapisan pernis tidak mengelupas, tetapi dengan lembut menembus di tempat yang tepat. Papan dering mengambil dua malam.

Pinout port mikrokontroler
Nomor pinPin CPUKonektor DokumentasiNomor Output KonektorPengangkatan sesuai dengan dokumentasi kartu instalasi
9PD0 (RXD0 / PCINT24)X1RX / CALLSinyal RX antena dan input tombol CALL TOMBOL
10PD1 (TXD0 / PCINT25)X1TXSinyal antena TX
11PD2 -> pin 6C595 RCK
12PD3 -> 6C595 SER IN pin
13PD4 -> pin 6C595 SRCK
14PD5X5COMInput Tombol IButton
15PD6X4, X4aDqSinyal DQ dari sensor suhu engine dan interior
16PD7X7Input Pemicu Tingkat Utama
3PB7 / SCK -> 6C595 CLR
2PB6X85Output CH5 (300mA) -
1PB5X82Output CH4 (1A) -
PB4X83Output CH2 (500mA) -
43PB3X820Input sinyal dari takometer, injektor, generator
42PB2X84Output CH3 (300mA) -
41PB1X813, 14Kiri hidupkan lampu
Lampu Belok Kanan
40PB0X818Relay CH1 (15 A)
15, 16 -> 18
37PA0Akselerometer (sumbu X)
36PA1Akselerometer (sumbu Y)
35PA2X3COMTombol pengukuran Valet / tegangan
34PA3
33PA4X88Sakelar Batas Batang (Β±)
32PA5X811Sakelar batas pintu (Β±)
31PA6X819Input dari sensor netral / rem tangan (Β±)
30PA7X87Masukan dari sensor oli, muatan lampu (Β±)
19PC0X7Input Pemicu Tingkat Pra
20PC1X61Indikator merah
21PC2X62Indikator hijau
22PC3X1+ 12VKekuatan antena
23Pc4X821Input dari tombol pedal rem
24PC5X810Input pengapian
25PC6
26Pc7X817Sirene




Saya menulis firmware pengujian, menginstalnya, mengkliknya dengan gulungan - hebat! Modul antena dan keyfob sudah tidak berguna. Jadi, jika Anda dapat menulis firmware untuk unit alarm mobil, menggunakan semua sirkuit yang sudah jadi dan titik-titik koneksi di dalam mobil, tetap untuk menyelesaikan masalah dengan saluran komunikasi. Saya pikir, bagaimana jika Anda meninggalkan GSM dan GPS di proyek Anda, membuang Bluetooth dan mengacaukan semua alarm mobil Pandora? Yah, tentu saja, ini adalah pilihan terbaik! Pertama, tidak perlu menyiapkan papan yang rumit, sirkuit Pandora memecahkan banyak masalah, tapi saya hanya perlu membuat modul ekspansi yang akan menghubungkan bukan modul antena standar. Seperti yang dapat Anda pahami, masa tunggu mikrokontroler dari Tiongkok belum berlalu begitu saja.

Untuk menghubungkan semua modul satu sama lain, saya menempel papan. Dia sangat sederhana. Di dalamnya, GPS jadi, modul GSM dan unit alarm mobil terhubung ke port UART dari mikrokontroler STM32.



Pengisian modul terletak pada unit catu daya dari laptop.



Konverter DC-DC tidak ingin ditempatkan di dalam enklosur dan harus mencari enklosur yang lebih luas. Akibatnya, kotak pensil dari bagian depan radio SUPRA dengan mekanisme snap-on yang praktis sangat cocok untuk kasus ini.



Papan dilapisi dengan pernis poliuretan.

Komponen-komponennya. Semuanya sederhana di sini:

DC-DC Converter LM2596
Modem GSM SIM800L (daya 3.6-4.4)
Modul GPS NEO-6M (daya 3.4-3.8)
Sepotong PCB.

Tegangan yang diperlukan untuk modul membentuk konverter DC-DC. Tegangan outputnya diatur ke 3,7 volt. Sekrup penyesuaian dilapisi dengan pernis untuk mencegahnya bergeser dari getaran.

Saya pikir peripheral mana yang saya butuhkan untuk mendukung sejak awal dan saya mendapat daftar berikut:

  1. Sensor suhu interior dan mesin.
  2. Akselerometer
  3. Jaringan on-board voltmeter.
  4. Input saklar batas pintu.
  5. Input sakelar batas batang.
  6. Input sakelar batas pedal rem.
  7. Output ke kunci kontak.
  8. Output relai pengulang.
  9. Keluar ke lineman immobilizer.
  10. Output ke relai interlock.
  11. Keluar ke sirene.

Penolakan dukungan secara sadar:

  1. Keluar ke relai penguncian pusat. Mobil tidak terhubung ke pintu dari kunci pusat.
  2. Input tachometer, karena tidak masuk akal untuk terhubung ke mobil hybrid.
  3. Input dari sakelar batas kap, karena hilang dari kendaraan.

Algoritma dan fungsi yang diterapkan:

  1. Menyimpan pengaturan di EEPROM.
  2. Menghidupkan mesin menggunakan teknologi START-STOP.
  3. Aktivasi perayap tanpa kunci dengan kontrol analog (iDatalink).
  4. Start engine jarak jauh.
  5. Kontrol tegangan rendah pada baterai.
  6. Pemantauan tegangan mesin.
  7. Mempersenjatai / melucuti senjata (kontrol batas zona).
  8. Kontrol sakelar batas untuk pintu dan bagasi.
  9. Dukungan sirene.
  10. Dukungan untuk lampu sinyal (sinyal belok).
  11. Mendukung mode diam.
  12. Dukungan untuk kartu ekspansi eksternal (modul telemetri).
  13. Koneksi dan transfer status ke server.
  14. Manajemen sistem kode DTMF, jika tidak ada komunikasi dengan server.
  15. Daftar nomor tepercaya.

Umpan balik diterapkan dengan menelepon ke nomor telepon tepercaya dari mana mode keamanan ditetapkan.

Manajemen sistem diimplementasikan melalui bot Telegram:

gambar

Bot juga mengirim pesan tentang kondisi kritis, seperti:

  1. Tegangan baterai rendah.
  2. Tegangan baterai pulih.
  3. Temperatur mesin rendah.
  4. Temperatur mesin tinggi.

Bahkan, buatan rumah sudah berusia 3 tahun dan selama periode ini saya menemukan bahwa:

  1. Produk buatan rumah berada pada waktu maksimum sekitar 80 hari, kemudian perangkat reboot, karena modem GSM berhenti bahkan menerima panggilan.
  2. Pengoperasian yang stabil di suhu negatif dan tinggi (dari -40 hingga +40).
  3. Perlu melakukan dukungan bus digital.

Kemungkinan menginstal Pandora DXL 3000 pada bus SPI adalah kerentanan karena memungkinkan Anda untuk mengunduh perangkat lunak yang dapat mengaktifkan output perayap immobilizer keyless dan menonaktifkan kunci.

Secara umum, pekerjaan yang dilakukan telah memberi saya pengalaman luar biasa. Saya mempelajari sirkuit alarm mobil, melihat bagaimana melakukannya dengan ringkas dan sederhana, dan belajar bagaimana memprogram mikrokontroler STM32. Akibatnya, saya membuat produk yang saya gunakan sendiri. Saya terinspirasi dan terus mengembangkan versi kedua. Versi kedua akan dapat terhubung ke bus digital untuk menyederhanakan dan mengurangi jumlah titik koneksi, serta menerapkan immobilizer standar bypass tanpa crawler eksternal pada rantai IMMO-IMI.

Oh ya, selama ini sistemnya bekerja dan terus bekerja pada mobil keluarga Toyota Prius dalam 20 bodi, yang kaya akan ban digital. Dukungan debug untuk bus BEAN berjalan lancar.

PS: Versi kedua dikembangkan dan sedang diuji pada Toyota Camry 2007.

Akibatnya, saya melihat proyek saya sebagai peluang untuk menciptakan sistem terbuka untuk telemetri otomotif.

Terima kasih atas perhatian anda!

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


All Articles