İçindekiler:
- Adım 1: Donanım Kurulumu ve Bağlantı
- Adım 2: Yazılımı Arduino'ya Kurun
- Adım 3: Bağlayın ve Verileri Almaya Başlayın
- 4. Adım: Veriler ve Ne Anlama Geldiği
- Adım 5: Videoyu İzleyin
Video: Seeed Studio CAN-BUS V2.0 Hacking - Başlarken: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
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ı
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
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ğ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 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:
Çocuk Dörtlü Kendi Kendine Sürüş, Çizgi Takip ve Engel Algılama Aracına Hacking.: 4 Adım
Çocuk Dörtlü Kendi Kendine Sürüş, Çizgi Takip ve Engel Algılama Aracına Hacking.: Bugünün Eğitilebilir Tablosunda 1000 Watt'lık bir elektrikli çocuk dörtlüsünü (Evet, çok şey biliyorum!) Kendi Kendine Sürüş, Çizgi Takip ve Engelden Kaçınan bir araca dönüştüreceğiz! Demo video:https://youtu.be/bVIsolkEP1kBu proje için aşağıdaki malzemelere ihtiyacımız olacak
Seeed LoRa IoTea Çözümü: 5 Adım
Seeed LoRa IoTea Çözümü: Çay ekimine uygulanan otomatik bir bilgi toplama sistemi. Akıllı tarımsal bilgi toplamanın bir parçasıdır
Seeed IoTea LoRa Çözümü (Güncelleme 1811): 5 Adım
Seeed IoTea LoRa Çözümü (Güncelleme 1811): İnternet+ artık popüler bir kavram. Bu sefer internet artı tarımı denedik çay bahçesini büyüterek internetten çay yaptık
Seeed IoTea LoRa Çözümü (Azure ile, Güncelleme 1812): 5 Adım
Seeed IoTea LoRa Çözümü (Azure, Güncelleme 1812 ile): Microsoft Azure, daha güçlü ve istikrarlı bilgi işlem gücü sağlayan bir bulut hizmetidir. Bu sefer IoTea verilerimizi ona göndermeyi denedik
Ev yapımı Can sıkıcı bir şey (Can sıkıcı bir şey): 4 Adım (Resimlerle)
Ev yapımı Can sıkıcı bir şey (Annoy-a-tron): Thinkgeek.com annoy-a-tron adlı bir şey satıyor. Temel olarak, etkinleştirildiğinde çeşitli aralıklarla bip sesi çıkaran bir cihazdır. Bu talimat, düşünce geek'in sinir bozucu bir tronunun tam bir kopyasını oluşturmasa da, malzemeleriniz ve k