Mundarija:

Seeed Studio CAN -BUS V2.0 Hacking - Ishga kirishish: 5 qadam
Seeed Studio CAN -BUS V2.0 Hacking - Ishga kirishish: 5 qadam

Video: Seeed Studio CAN -BUS V2.0 Hacking - Ishga kirishish: 5 qadam

Video: Seeed Studio CAN -BUS V2.0 Hacking - Ishga kirishish: 5 qadam
Video: Even coffees can SIUUUU โ˜•๏ธ๐Ÿ˜‚ 2024, Noyabr
Anonim
Seeed Studio CAN -BUS V2.0 Hacking - Ishga kirishish
Seeed Studio CAN -BUS V2.0 Hacking - Ishga kirishish
Seeed Studio CAN -BUS V2.0 Hacking - Ishga kirishish
Seeed Studio CAN -BUS V2.0 Hacking - Ishga kirishish
Seeed Studio CAN -BUS V2.0 Hacking - Ishga kirishish
Seeed Studio CAN -BUS V2.0 Hacking - Ishga kirishish
Seeed Studio CAN -BUS V2.0 Hacking - Ishga kirishish
Seeed Studio CAN -BUS V2.0 Hacking - Ishga kirishish

Bu ko'rsatma Arduino atrofida o'z yo'lini biladigan yangi boshlanuvchilar uchun mo'ljallangan. Birinchidan, qanday qilib borishni bilish har qanday loyihada har doim og'riq va vaqtni talab qiladi. Ammo atrofingizdagi yo'lni bilmaguningizcha, har doim sizga asosiy narsalarni ko'rsatadigan odam bo'lishini xohlaysiz.

Ushbu yo'riqnomada biz sizning mashinangizdan CAN-BUS ma'lumotlarini qaytaramiz.

Va xavotir olmang! Men o'zimni aqlli xakerga o'xshatib qo'yish uchun shovqinli so'zlarni ishlatmasdan, shu nuqtaga etib boraman:-)

Men shaxsan Seeed Studio CAN-BUS qalqonlarini tavsiya qilaman. Boshqa brendlar haqida gapira olmayman, lekin SeeedStudio-dan CAN-BUS Shield menga juda yaxshi xizmat qildi.

Muhim eslatma: Avtobusli qalqon majburiydir. Men bu eslatmani yozdim, chunki ko'pchilik sizdan CAN-BUS qalqonini ishlatish kerakmi deb so'rashadi. Qalqonda MCP2515 (CAN Controller) va MCP2551 (Transceiver) mavjud bo'lib, ular CAN-BUS ma'lumotlarini Arduino seriyali portiga qayta ishlaydi.

Kerakli apparat.1. Arduino UNO - Arduino -ga mos keladigan har qanday narsa etarli bo'ladi. Men buni ishlatganman

2. SeeedStudio CAN-BUS qalqoni. Men buni to'g'ridan -to'g'ri SeeedStudio -dan oldim, mana bu havola

3. CAN-BUSga kirish uchun ba'zi simlar

4. ma'lumotni olishingiz mumkin bo'lgan mashina

Kerakli dasturiy ta'minot 1. Arduino IDE, Duh! Shubhasiz:-)

2. SeeedStudio CAN-BUS kutubxonasi. GIT Hub -dan yuklab olish mumkin

Agar siz SeeedStudio CAN-BUS qalqoni haqida ko'proq o'qishni xohlasangiz, ba'zi muhim ma'lumotlar.

Qani boshladik!

1 -qadam: Uskuna o'rnatish va ulanish

Image
Image
Uskunani sozlash va ulanish
Uskunani sozlash va ulanish
Uskunani sozlash va ulanish
Uskunani sozlash va ulanish
Uskunani sozlash va ulanish
Uskunani sozlash va ulanish

Eng qiyin qismdan boshlaylik. Biz sizning mashinangizda CAN-BUS-ga kira oladigan joyni topishimiz kerak. Men bu erda siz uchun qila oladigan ko'p narsa yo'q, buni o'zingiz hal qilishingiz kerak. Mening holatimda men CAN-BUS-ni radio orqali eshitdim. Ha! radio. Avtomobilning ovozi birlashtirilgan avtomobillar, odatda, kechasi haydash paytida avtomobilning faralari sozlamalari asosida stereo-displey yoritilishini o'rnatadi. Bu odatda CAN-BUS ichki qismi orqali amalga oshiriladi.

Men erkak USB va ayol USB uchi bo'lgan USB uzatuvchi kabelidan foydalandim. Shunday qilib, men uni yarmini kesib tashladim va keyin ayol tomonini radio ulagichiga lehimladim. Siz o'zingiz yoqtirgan radio turiga erkaklar uchun ulagichni sotib olishni xohlashingiz mumkin, shuning uchun siz avtomobil simlariga ulanmasligingiz va kafolatingizni bekor qilmasligingiz yoki yong'in xavfini tug'dirishingiz mumkin.

Va keyin men erkak qismni rasmda ko'rsatilgandek SeeedStudio CAN-BUS qalqoniga uladim. Shunday qilib, kerak bo'lganda ulanish/uzish mumkin.

Maslahat: CAN-H uchun qizil sim va CAN-L uchun qora simdan foydalaning

2 -qadam: Dasturiy ta'minotni Arduino -ga o'rnating

Dasturiy ta'minotni Arduino -ga o'rnating
Dasturiy ta'minotni Arduino -ga o'rnating
Dasturiy ta'minotni Arduino -ga o'rnating
Dasturiy ta'minotni Arduino -ga o'rnating
Dasturiy ta'minotni Arduino -ga o'rnating
Dasturiy ta'minotni Arduino -ga o'rnating

SeeedStudio kutubxonasini SeeedStudio CAN-BUS vikidan yuklab oling.

github.com/Seeed-Studio/CAN_BUS_Shield

Kutubxonani rasmda ko'rsatilgandek o'rnating.

Arduino IDE -dan Sketch Include Library -ni tanlang.zip kutubxonasini qo'shing.

Kutubxonani qo'shgandan so'ng, Arduino IDE -ni yoping va uni qayta oching. Endi siz ba'zi misollarni Fayl menyusidan yuklashingiz mumkin. Fayl misollari CAN-BUS qalqoni Qabul qilish tekshiruvi.

Ushbu qo'llanma uchun qabul qilish tekshiruvi misolini yuklang.

Muhim!

Quyidagilar biroz sinov va xatolarni talab qiladi.

Men ma'lumot olish uchun Jeep JK 2010 Rubicon -dan foydalandim va uning ichki avtobuslari 125Kb tezlikda ishlaydi.

O'rnatish bo'limida u o'qiladi

while (CAN_OK! = CAN.begin (CAN_500KBPS)) Men uni o'zgartirishim kerak edi

while (CAN_OK! = CAN.ben boshlang (CAN_125KBPS))

Agar siz xatoga yo'l qo'ysangiz, o'qiladigan ma'lumotlarni qayta ololmaysiz. Aksariyat hollarda, shu jumladan meniki, sizning mashinangiz buzilib ketadi. Ya'ni, klaster Rojdestvo daraxti kabi yonadi va tozalagichlar harakatlana boshlaydi. chunki avtobus qutisi avtobusni buzadi.

3 -qadam: Uni ulang va ma'lumotlarni olishni boshlang

Uni ulang va ma'lumotlarni olishni boshlang
Uni ulang va ma'lumotlarni olishni boshlang
Uni ulang va ma'lumotlarni olishni boshlang
Uni ulang va ma'lumotlarni olishni boshlang
Uni ulang va ma'lumotlarni olishni boshlang
Uni ulang va ma'lumotlarni olishni boshlang

Ulanishdan oldin, uni mashinaga ulashdan oldin, sog'lig'ingizni tekshirib ko'ring. Siz qilmoqchi bo'lgan oxirgi narsa-bu sizning mashinangizning ECU-ni portlatishi mumkin bo'lgan CAN-BUS-ga quvvat yuborish.

Men aql -idrok tekshiruvini o'tkazmadim va ma'lumot olmayotganimni bilganimdan so'ng, men noutbukning USB -ni to'g'ridan -to'g'ri Arduino USB -quvvatiga ulaganimni ko'rdim. Yaxshiyamki, hech narsa bo'lmadi.

Ushbu qadamning rasmlarida men Linux Mint o'rnatilgan Lenovo noutbukidan foydalanardim. Arduino seriyali portiga ulanish uchun har qanday operatsion tizimdan foydalanishingiz mumkin.

1. Avtomobilingizga noutbukni o'rnating va USB kabeli bilan Arduino CAN-BUS ekranini quvvatlantiring.

2. Putty yoki Arduino ketma-ket monitorini ishga tushiring (men Putty-ni afzal ko'raman), U ulanganda siz seriyali konsolda Can-Bus qalqoni ishga tushirilgani haqidagi xabarni ko'rishingiz kerak.

3. Avtomobilni yoqing. Kalit yoqilgan holatda ekan, uni boshlash shart emas.

4. Arduino-ni CAN-BUS-ga ulang. U ulangan paytdan boshlab ma'lumotlar konsolga tusha boshlaydi.

4 -qadam: Ma'lumotlar va ularning ma'nosi

Ma'lumotlar va bu nimani anglatadi
Ma'lumotlar va bu nimani anglatadi
Ma'lumotlar va bu nimani anglatadi
Ma'lumotlar va bu nimani anglatadi

Ma'lumotlar olinganida, u quyidagi HEX formatiga o'tkaziladi.

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

ID odatda sizning avtomobilingizdagi tugunni anglatadi.

Keling, oddiy misol keltiraylik. (Quyida keltirilgan va haqiqiy emas, faqat misol)

Konditsioner tugun identifikatori = 0x402TURN AIRCON O'chirilgan = 13 ยฐ AIRCON ON = 14 ta AIRCON Puflagichini past darajaga o'rnatish = 7C AIRCON Blowerni o'rta 8C ga o'rnatish.

Shunday qilib, agar biz Aircon -ni yoqsak va uni o'rta rejimga qo'ysak, xabar shunday bo'ladi0x402, 13, 8C

boshqa tugunlar uchun ham xuddi shunday, masalan, markaziy qulflash markaziy qulflash ID = 0x503LOCK barcha eshiklar = 14

Shunday qilib, agar siz barcha eshiklarni qulflash uchun tugmani bosgan bo'lsangiz, xabar shunday bo'ladi

0x502, 14

Ba'zi qo'shimcha eslatmalar.

Ba'zi xabarlar davlat tomonidan boshqariladi, ba'zilari esa bir zumda.

Misol 1. Bosh chiroqlar davlat tomonidan boshqariladi. Agar siz mashinaning kalitini ma'lum bir joyga qo'ygan bo'lsangiz, tugun xabarni qayta -qayta uzatishda davom etadi. Agar siz CAN-BUS-ga xalaqit beradigan bo'lsangiz, bosh chiroqlarni o'chirish to'g'risida xabar yuboring. U qisqa vaqt ichida o'chadi va keyin yana yonadi, chunki kalitni faralarni yoqish uchun o'rnatilgan tugun yana uni yoqish uchun xabar yuboradi.

Misol 2. Radio bosh qurilmasidagi treklarni o'tkazib yuborish. Agar siz tugmachani va uning tugmachasini bosganingizda, siz uni o'chirib qo'yganingizda kontaktni zudlik bilan uzib qo'yadi, u trekni o'tkazib yuborish uchun bitta xabar yuboradi va siz tugmani qayta bosmaguningizcha.

Odatda bir lahzali tugmalar eng foydalidir, chunki siz mashinangizdagi funktsiyalarni bitta buyruq yuborish orqali boshqarishingiz mumkin. Qaerda davlat boshqaradigan xususiyatlar abadiy yoziladi.

Ba'zi maslahatlar va fikrlar

Ma'lumotlarni tashlab yuborish imkoniyatiga ega ekanligingizni ko'rib, siz o'zingizning Arduino zanjirlarini yaratishingiz mumkin, ular xabarlarga asoslanib javob beradi, CAN-BUS-da. misol uchun. Aytaylik, bozor chiroqlaridan keyin o'rnatasiz. Mavjud elektr simlarini chuqurlashtirmasdan, siz faralarni mustaqil ravishda o'rnatishingiz va faqat Arduino CAN-BUSda xabar topganida yoqishingiz mumkin.

Ma'lumotni CAN-BUS-ga yuborish

Agar siz ushbu ko'rsatmaning boshida ko'rsatmalarga amal qilgan bo'lsangiz, SEEEDStudio kutubxonalarini o'rnatgansiz, Arduino IDE -da siz sinab ko'rishingiz mumkin bo'lgan ba'zi misollar mavjud.

O'zaro aloqa qilmoqchi bo'lgan tugunning identifikatori va CAN0-BUS xabarini bilish.

Afsuski, bu juda oson ish emas. Ammo bu erda bir fikr bor. Putty's Logging xususiyatidan foydalaning va barcha sessiya ma'lumotlarini faylga tashlang. Arduino bankadagi avtobusni taxminan 5 daqiqa kuzatib tursin, so'ngra jurnalni yo'lda saqlang.

Keyin yangi seansni boshlang va ma'lumotlarni tashlashni boshlang. Ammo bu safar ma'lumotlar tashlanayotganda tugmani bosing. Bir nechta tugmani bosmang. Tugmani bosib olishini kafolatlash uchun tugmani ikki marta bosing.

Keyin qandaydir taqqoslash vositasidan foydalaning va farqni aniqlash uchun faylni solishtiring. Buning uchun Excel juda yaxshi ishlaydi.

Siz sinab ko'rishingiz mumkin bo'lgan ba'zi kodlar

Agar sizda men kabi Jeep 2010 Rubicon modeli bo'lsa (ishonchim komilki, quyida '07, '08', 09 modellari uchun ham ishlaydi)

Siz quyidagi xabarlarni sinab ko'rishingiz mumkin. Yuborish misollarini Arduino misollar menyusidan yuklang va o'zgarish tegishli bo'ldi.

Orqa shkafni ishga tushiring: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);

Chap chirog' yoqilgan: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);

O'ng miltillovchi yoqilgan: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);

ESP yoqish/o'chirish: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);

Keyingi yo'riqnomada men sizga Jeep-ning CAN-BUS avtobusiga qanday ma'lumot yuboraman, bunga qanday aralashishingiz mumkinligini ko'rsatish uchun.

Omad!

5 -qadam: Videoni tomosha qiling

Yana CAN-BUS-ning yaxshiliklari uchun videoni ko'ring!

Tavsiya: