İçindekiler:

Seeed Studio CAN-BUS V2.0 Hacking - Başlarken: 5 Adım
Seeed Studio CAN-BUS V2.0 Hacking - Başlarken: 5 Adım

Video: Seeed Studio CAN-BUS V2.0 Hacking - Başlarken: 5 Adım

Video: Seeed Studio CAN-BUS V2.0 Hacking - Başlarken: 5 Adım
Video: ARTIK HERKES HACKER OLACAK w/@orkunisitmak 2024, Kasım
Anonim
Seeed Studio CAN-BUS V2.0 Hacking - Başlarken
Seeed Studio CAN-BUS V2.0 Hacking - Başlarken
Seeed Studio CAN-BUS V2.0 Hacking - Başlarken
Seeed Studio CAN-BUS V2.0 Hacking - Başlarken
Seeed Studio CAN-BUS V2.0 Hacking - Başlarken
Seeed Studio CAN-BUS V2.0 Hacking - Başlarken
Seeed Studio CAN-BUS V2.0 Hacking - Başlarken
Seeed Studio CAN-BUS V2.0 Hacking - Başlarken

Bu talimat, Arduino'yu zaten bilen yeni başlayanlar içindir. Başlangıç bilgisi, herhangi bir projede her zaman acı verici ve zaman alıcıdır. Ama yolunuzu öğrenene kadar neredeyse her zaman size temel bilgileri gösterecek birinin olmasını dilersiniz.

Bu talimatta, aracınızdan bazı CAN-BUS verilerini döndüreceğiz.

Ve endişelenme! Konuşmadan ve beni zeki bir bilgisayar korsanı gibi göstermek için vızıltı sözcükleri kullanmadan hemen konuya gireceğim:-)

Şahsen Seeed Studio CAN-BUS kalkanlarını tavsiye ederim. Diğer markalar için gerçekten konuşamam ama SeeedStudio'dan CAN-BUS Shield bana çok iyi hizmet etti.

Önemli Not: Can-bus kalkanı zorunludur. Bu notu aldım çünkü insanlar sıklıkla CAN-BUS kalkanı kullanmanız gerekip gerekmediğini soruyor. Kalkan, CAN-BUS verilerini Arduino'nuzun seri portuna işleyecek bir MCP2515 (CAN Kontrol Cihazı) ve MCP2551 (Alıcı-Verici) içerir.

Gerekli Donanım.1. Arduino UNO - Herhangi bir arduino uyumlu olması yeterli olacaktır. bunu kullandım

2. SeeedStudio CAN-BUS Kalkanı. Doğrudan SeeedStudio'dan aldım işte link

3. CAN-BUS'a bağlanmak için bazı kablolar

4. Veri alabileceğiniz bir Araç

Gerekli Yazılım1. Arduino IDE, Ah! Açıkça:-)

2. SeeedStudio CAN-BUS Kitaplığı. GIT Hub'dan indirilebilir

SeeedStudio CAN-BUS kalkanı hakkında daha fazlasını okumak isterseniz bazı ekstra hayati bilgiler.

Başlayalım!

Adım 1: Donanım Kurulumu ve Bağlantı

Image
Image
Donanım Kurulumu ve Bağlantı
Donanım Kurulumu ve Bağlantı
Donanım Kurulumu ve Bağlantı
Donanım Kurulumu ve Bağlantı
Donanım Kurulumu ve Bağlantı
Donanım Kurulumu ve Bağlantı

En zor kısımla başlayalım. Aracınızda CAN-BUS'a bağlanabileceğimiz bir yer bulmalıyız. Burada senin için yapabileceğim pek bir şey yok, bunu kendin çözmelisin. Benim durumumda, radyo aracılığıyla CAN-BUS'a bağlandım. Evet! Radyo. Entegre araç ses sistemine sahip araçlar, genellikle gece sürüşü için aracın far ayarına göre araç stereo ekran aydınlatmasını ayarlar. Bu genellikle İç CAN-BUS aracılığıyla yapılır.

Erkek USB ve dişi USB ucu olan bir USB uzatma kablosu kullandım. Bu yüzden basitçe ikiye böldüm ve dişi tarafı telsizin konektörüne lehimledim. Telsiz tipiniz için bir erkek dişi konnektör satın almak isteyebilirsiniz, bu şekilde aracınızın kablolarına bağlanmak zorunda kalmazsınız ve garantinizi geçersiz kılar veya potansiyel olarak yangın tehlikesine neden olursunuz.

Ardından erkek parçayı resimde görüldüğü gibi SeeedStudio CAN-BUS kalkanına bağladım. Bu şekilde gerektiğinde bağlanabilir/bağlantıyı kesebilirim.

İpucu: CAN-H için kırmızı kablo ve CAN-L için siyah kablo kullanın

Adım 2: Yazılımı Arduino'ya Kurun

Yazılımı Arduino'ya yükleyin
Yazılımı Arduino'ya yükleyin
Yazılımı Arduino'ya yükleyin
Yazılımı Arduino'ya yükleyin
Yazılımı Arduino'ya yükleyin
Yazılımı Arduino'ya yükleyin

SeeedStudio Kitaplığını SeeedStudio CAN-BUS wiki'sinden indirin.

github.com/Seeed-Studio/CAN_BUS_Shield

Kütüphaneyi resimlerde gösterildiği gibi kurun.

Arduino IDE'den Sketch Include Library - Add.zip Library'yi seçin.

Kütüphaneyi ekledikten sonra Arduino IDE'yi kapatın ve yeniden açın. Artık Dosya Menüsü Dosya Örneklerinden bazı örnekleri yükleyebilirsiniz. CAN-BUS kalkanı Alma kontrolü

Bu öğretici için alma denetimi örneğini yükleyin.

Önemli!

Aşağıdakiler biraz deneme yanılma gerektirecektir.

Verileri almak için Jeep JK 2010 Rubicon'umu kullandım ve iç veri yolu 125 Kbs'de çalışıyor.

Okuduğu kurulum bölümünde

while (CAN_OK != CAN.begin(CAN_500KBPS)) olarak değiştirmek zorunda kaldım

while (CAN_OK != CAN.begin(CAN_125KBPS))

Bunu yanlış anlarsanız, okunabilir verileri alamazsınız. Benimki de dahil olmak üzere çoğu durumda aracınız çılgına dönecek. I. E, bir Noel ağacı gibi aydınlanan küme ve silecekler hareket etmeye başlayacaktır. çünkü can bus kalkanı bus'ı bozuyor.

Adım 3: Bağlayın ve Verileri Almaya Başlayın

Bağlayın ve Verileri Almaya Başlayın
Bağlayın ve Verileri Almaya Başlayın
Bağlayın ve Verileri Almaya Başlayın
Bağlayın ve Verileri Almaya Başlayın
Bağlayın ve Verileri Almaya Başlayın
Bağlayın ve Verileri Almaya Başlayın

Bağlamadan önce lütfen aracınıza bağlamadan önce bir akıl sağlığı kontrolü yapın. Yapmak isteyeceğiniz son şey, CAN-BUS'ınıza potansiyel olarak Aracınızın ECU'sunu patlatacak güç göndermektir.

Akıl sağlığı kontrolü yapmadım ve ancak veri almadığımı fark ettikten sonra Dizüstü Bilgisayarın USB'sini doğrudan Arduino'nun USB Gücüne bağladığımı gördüm. Neyse ki hiçbir şey olmadı.

Bu adımın resimlerinde Linux Mint yüklü Lenovo Dizüstü bilgisayarımı kullandım. Off-coarse, Arduino'nuzun seri bağlantı noktasına bağlanmak için herhangi bir işletim sistemini kullanabilirsiniz, 1. Dizüstü bilgisayarı aracınıza kurun ve Arduino CAN-BUS kalkanını bir USB kablosuyla çalıştırın.

2. Putty'yi veya Arduino seri Monitörünü başlatın (Ben Putty'yi tercih ederim), Bağlandığında seri konsolda Can-Bus kalkanını başlatmayı başardığını bildiren bir mesaj görmelisiniz.

3. Aracı açın. Anahtar açık konumda olduğu sürece çalıştırılması gerekmez.

4. Arduino'yu CAN-BUS'a bağlayın. Bağlandığı an, veriler konsola akmaya başlayacaktır.

4. Adım: Veriler ve Ne Anlama Geldiği

Veriler ve Her Şeyin Anlamı
Veriler ve Her Şeyin Anlamı
Veriler ve Her Şeyin Anlamı
Veriler ve Her Şeyin Anlamı

Veriler alındığında, onu aşağıdaki HEX formatına dökecektir.

Kimlik, BIT1, BIT2, BIT3, BIT4, BIT5, BIT6, BIT7, BIT8

Kimlik genellikle aracınızdaki bir Düğümü temsil eder.

Basit bir örnek yapalım. (Aşağıdakiler gerçek değildir, sadece bir örnektir)

Klima Düğümü Kimliği= 0x402KLİMİ KAPATIN = 13KLİMİ AÇIN = 14 KLİMA ÜFLEMESİNİ DÜŞÜK AYARLA = 7C KLİMA ÜFLEMESİNİ ORTA 8C AYARLA KLİMA ÜFLEMESİNİ YÜKSEK 9C AYARLA

Klimayı açar ve orta ayarlarsak, mesaj şu şekilde görünecektir 0x402, 13, 8C

aynısı diğer düğümler için de geçerlidir, örneğin Merkezi KilitlemeMerkezi Kilitleme ID= 0x503LOCK tüm kapılar = 14

Yani tüm kapıları kilitlemek için düğmeye basarsanız mesaj şu şekilde görünecektir.

0x502, 14

Bazı Ekstra notlar.

Bazı mesajlar durum odaklıdır ve bazıları veya anlıktır.

Örnek 1. Durum tahrikli olarak farlar. Araçta bir anahtarı belirli bir konuma ayarladığınızda, düğüm mesajı tekrar tekrar yayınlamaya devam edecektir. CAN-BUS'a müdahale etmek zorunda kalırsanız, farları kapatmak için bir mesaj gönderin. Anahtarın farları açmaya ayarlandığı düğüm tekrar açılması için bir mesaj göndereceğinden kısaca kapanacak ve ardından tekrar açılacaktır.

Örnek2. Radyo ana ünitenizdeki parçaları atlama. Bir düğmeye bastığınızda ve devreyi kuracak ve bıraktığınızda hemen kesecek bir anlık düğme, parçayı atlamak için bir mesaj gönderecek ve bir daha düğmeye basmasını isteyinceye kadar bir daha asla.

Genellikle anlık düğmeler en kullanışlı olanlardır çünkü komutunuzun üzerine yazılacağı endişesi olmadan tek bir komut göndererek aracınızdaki özellikleri kontrol edebilirsiniz. Durum tarafından yönlendirilen özelliklerin süresiz olarak üzerine yazılacağı yer.

Bazı ipuçları ve fikirler

Artık verileri dökebildiğinizi görmek, mesajlara göre tepki verecek kendi Arduino devrelerinizi oluşturmak için kullanabileceğiniz CAN-BUS'ta görülmektedir. örnek olarak. Pazar spot ışıklarından sonra kurduğunuzu varsayalım. Mevcut kablo tesisatınızı kazmak zorunda kalmadan farlarınızı bağımsız olarak kurabilir ve yalnızca Arduino'nuz CAN-BUS'ta bir mesaj algıladığında açabilirsiniz.

CAN-BUS'a veri gönderme

Bu talimatın başındaki talimatı izlediyseniz, SEEEDStudio kitaplıklarını kurdunuz. Arduino IDE'de deneyebileceğiniz bazı örnekler var.

Etkileşim kurmak istediğiniz düğümün kimliğini ve CAN0-BUS mesajını bilmek.

Ne yazık ki bu çok kolay bir iş değil. Ama işte bir Fikir. Putty'nin Logging özelliğini kullanın ve tüm oturum verilerini dosyaya dökün. Arduino'nun kutu otobüsünü yaklaşık 5 dakika izlemesine izin verin ve ardından oturumu kapatın.

Ardından yeni bir oturum başlatın ve verileri boşaltmaya başlayın. Ancak bu sefer verileri boşaltırken bir düğmeye basın. Birden fazla düğmeye basmayın. Düğmeye basıldığında yakalandığından emin olmak için düğmeye birkaç kez basın.

Ardından, bir tür karşılaştırma aracı kullanın ve farklılıkları belirlemek için dosyayı karşılaştırın. Excel bunun için harika çalışıyor.

Deneyebileceğiniz Bazı Kodlar

Benimle aynı Jeep 2010 Rubicon modeline sahipseniz (Eminim aşağıdakiler '07, '08', 09 modelleri için de işe yarayacaktır)

Aşağıdaki mesajları deneyebilirsiniz. Arduino örnekleri menüsünden gönderme örneklerini yükleyin ve değişiklik ilgiliydi.

Arka Dolabı Çalıştır.: CAN.sendMsgBuf(0x2B0, 0, 4, stmp);

Sol Flaşör Açık: CAN.sendMsgBuf(0x2A8, 0, 6, stmp);

Sağ Flaşör Açık: CAN.sendMsgBuf(0x2A8, 0, 6, stmp);

ESP Açık/Kapalı: CAN.sendMsgBuf(0x2B0, 0, 4, stmp);

Bir sonraki talimatımda, buna nasıl müdahale edebileceğinizi göstermek için Jeep'imin CAN-BUS'ına bazı veriler göndereceğim.

İyi şanslar!

Adım 5: Videoyu İzleyin

Daha fazla CAN-BUS iyiliği için videoyu izleyin!

Önerilen: