Cuprins:

Seeed Studio CAN-BUS V2.0 Hacking - Noțiuni introductive: 5 pași
Seeed Studio CAN-BUS V2.0 Hacking - Noțiuni introductive: 5 pași

Video: Seeed Studio CAN-BUS V2.0 Hacking - Noțiuni introductive: 5 pași

Video: Seeed Studio CAN-BUS V2.0 Hacking - Noțiuni introductive: 5 pași
Video: Слова совета для всех лидеров, учителей и евангелистов | Чарльз Х. Сперджен | Аудиокнига 2024, Iulie
Anonim
Seeed Studio CAN-BUS V2.0 Hacking - Noțiuni introductive
Seeed Studio CAN-BUS V2.0 Hacking - Noțiuni introductive
Seeed Studio CAN-BUS V2.0 Hacking - Noțiuni introductive
Seeed Studio CAN-BUS V2.0 Hacking - Noțiuni introductive
Seeed Studio CAN-BUS V2.0 Hacking - Noțiuni introductive
Seeed Studio CAN-BUS V2.0 Hacking - Noțiuni introductive
Seeed Studio CAN-BUS V2.0 Hacking - Noțiuni introductive
Seeed Studio CAN-BUS V2.0 Hacking - Noțiuni introductive

Acest instructiv este destinat începătorilor care își cunosc deja drumul în jurul Arduino. Știința inițială pentru a începe este întotdeauna o durere și consumatoare de timp în orice proiect. Dar până când nu-ți știi drumul în jurul tău, aproape întotdeauna ți-ai dori să ai cineva care să-ți arate elementele de bază.

În acest instructable vă vom returna câteva date CAN-BUS de pe vehiculul dvs.

Și nu vă faceți griji! Voi ajunge chiar până la punctul fără să merg și să folosesc cuvinte buzz pentru a mă face să par ca un hacker inteligent:-)

Personal recomand scuturile CAN-BUS Seeed Studio. Nu pot vorbi cu adevărat pentru niciuna dintre celelalte mărci, dar CAN-BUS Shield de la SeeedStudio m-a servit foarte bine.

Notă importantă: ecranul can-bus este obligatoriu. Am făcut această notă pentru că destul de des oamenii se întreabă dacă trebuie să folosiți un scut CAN-BUS. Scutul are un MCP2515 (CAN Controller) și MCP2551 (Transceiver) care vor procesa datele CAN-BUS către portul serial al Arduino.

Hardware-ul necesar. Arduino UNO - Orice arduino compatibil va fi suficient. L-am folosit pe acesta

2. SeeedStudio CAN-BUS Shield. L-am luat direct de la SeeedStudio aici este linkul

3. Unele fire pentru a intra în CAN-BUS

4. un vehicul din care puteți prelua date

Software-ul necesar 1. IDE Arduino, Duh! Evident:-)

2. Biblioteca CAN-BUS SeeedStudio. Descărcabil din GIT Hub

Câteva informații vitale suplimentare dacă doriți să citiți mai multe despre scutul CAN-BUS SeeedStudio.

Să începem!

Pasul 1: Configurare hardware și conexiune

Image
Image
Configurare hardware și conexiune
Configurare hardware și conexiune
Configurare hardware și conexiune
Configurare hardware și conexiune
Configurare hardware și conexiune
Configurare hardware și conexiune

Să începem cu partea cea mai dificilă. Trebuie să găsim un loc în vehiculul dvs. unde să putem accesa CAN-BUS. Nu pot face multe pentru tine aici, trebuie să-ți dai seama de tine. În cazul meu, am intrat în CAN-BUS prin radio. Da! radioul. Vehiculele cu sunet auto integrat setează, de obicei, iluminarea afișajului auto-stereo în funcție de setarea farului vehiculului pentru conducerea pe timp de noapte. Acest lucru se face de obicei prin CAN-BUS-ul interior.

Am folosit un cablu extender USB care are un capăt USB masculin și capăt USB feminin. Așa că l-am tăiat pur și simplu în jumătate și apoi am lipit partea feminină pe conectorul radioului. Poate doriți să cumpărați un conector de sex feminin pentru tipul dvs. de radio, astfel nu trebuie să vă conectați la cablajul vehiculului și să anulați garanția sau să provocați potențial un incendiu.

Și apoi partea masculină pe care am conectat-o la scutul SeeedStudio CAN-BUS așa cum se arată în imagine. În acest fel mă pot conecta / deconecta când este nevoie.

Sfat: Utilizați fir roșu pentru CAN-H și negru pentru CAN-L

Pasul 2: Instalați software-ul pe Arduino

Instalați software-ul pe Arduino
Instalați software-ul pe Arduino
Instalați software-ul pe Arduino
Instalați software-ul pe Arduino
Instalați software-ul pe Arduino
Instalați software-ul pe Arduino

Descărcați Biblioteca SeeedStudio de pe wiki-ul SeeedStudio CAN-BUS.

github.com/Seeed-Studio/CAN_BUS_Shield

Instalați biblioteca așa cum se arată în imagini.

Din Arduino IDE selectați Sketch Include Library - Add.zip Library.

După adăugarea bibliotecii, închideți IDE-ul Arduino și redeschideți-l. Acum veți putea încărca unele dintre exemple din meniul Fișier Exemple de fișiere CAN-BUS scut Receive check

Pentru acest tutorial încărcați exemplul de verificare a primirii.

Important!

Următoarele vor necesita unele încercări și erori.

Am folosit Jeep JK 2010 Rubicon pentru a prelua date și autobuzul interior rulează la 125Kbs.

În secțiunea de configurare în care citește

în timp ce (CAN_OK! = CAN.begin (CAN_500KBPS)) a trebuit să-l schimb în

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

Dacă greșiți acest lucru, nu veți putea prelua date lizibile. În cele mai multe cazuri, inclusiv a mea, vehiculul tău va merge la bonkers. Adică clusterul se aprinde ca un pom de Crăciun și ștergătoarele vor începe să se miște. deoarece scutul autobuzului de conserve poate corupe autobuzul.

Pasul 3: Conectați-l și începeți să preluați date

Conectați-l și începeți să preluați date
Conectați-l și începeți să preluați date
Conectați-l și începeți să preluați date
Conectați-l și începeți să preluați date
Conectați-l și începeți să preluați date
Conectați-l și începeți să preluați date

Înainte de a vă conecta, vă rugăm să faceți o verificare a sănătății înainte de a o conecta la vehicul. Ultimul lucru pe care doriți să-l faceți este să trimiteți curent la CAN-BUS potențial suflând ECU-ul vehiculului.

Nu am făcut o verificare a sănătății și, abia după ce mi-am dat seama că nu primesc date, am văzut că am conectat USB-ul laptopului direct la puterea USB a Arduino. Din fericire nu s-a întâmplat nimic.

În imaginile acestui pas mi-am folosit laptopul Lenovo încărcat cu Linux Mint. Off-grosier puteți utiliza orice sistem de operare pentru a vă conecta la portul serial Arduino, 1. Configurați laptopul din vehicul și alimentați ecranul CAN-BUS Arduino cu un cablu USB.

2. Porniți Putty sau monitorul serial Arduino (prefer Putty), când este conectat, ar trebui să vedeți un mesaj în consola serial care vă spune că a reușit să inițializeze scutul Can-Bus.

3. Porniți vehiculul. Nu trebuie pornit atâta timp cât cheia este în poziția pornită.

4. Conectați Arduino la CAN-BUS. În momentul în care sunt conectate, datele vor începe să se difuzeze în consolă.

Pasul 4: datele și ceea ce înseamnă

Datele și ce înseamnă toate acestea
Datele și ce înseamnă toate acestea
Datele și ce înseamnă toate acestea
Datele și ce înseamnă toate acestea

Când datele sunt recuperate, le vor arunca în următorul format HEX.

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

ID-ul reprezintă de obicei un nod din vehiculul dvs.

Să facem un exemplu simplu. (Mai jos este alcătuit și nu real, doar un exemplu)

ID nod aer condiționat = 0x402 DEZACTIVAȚI AERONUL = 13 PORNIȚI AERONUL = 14 SETAȚI SUBVENTORUL DE AERON LA MINIM = 7C SETAȚI SUVENTUL DE AERON LA MEDIU 8C SETAȚI SUVENTUL DE AERON LA 9C ÎNALT

Deci, dacă pornim Aircon-ul și îl setăm pe mediu, mesajul va arăta astfel: 0x402, 13, 8C

același lucru este valabil și pentru alte noduri, exemplu Blocare centrală Blocare centrală ID = 0x503 LOCK toate ușile = 14

Deci, dacă apăsați butonul pentru a bloca toate ușile, mesajul va arăta astfel

0x502, 14

Câteva note suplimentare.

Unele mesaje sunt conduse de stat și unele sau momentan.

Exemplul 1. Lămpile frontale sunt acționate de stat. Când setați un comutator în vehicul la o anumită poziție, nodul va continua să transmită mesajul mereu. Dacă ar fi trebuit să interferați cu CAN-BUS, trimiteți un mesaj pentru a opri farurile. Se va opri pentru scurt timp și se va aprinde din nou, deoarece nodul în care comutatorul este setat să aprindă farurile va trimite din nou un mesaj pentru a-l porni.

Exemplul 2. Omite piesele de pe unitatea de radio. când apăsați un buton și un buton momentan care va face și va întrerupe imediat circuitul atunci când îl părăsiți, va trimite un mesaj pentru a sări peste pistă și niciodată din nou până când nu cereți apăsați butonul din nou.

De obicei, butoanele de moment sunt cele mai utile, deoarece puteți controla caracteristicile vehiculului dvs. prin trimiterea unei singure comenzi fără a vă face griji că comanda dvs. va fi suprasolicitată. În cazul în care caracteristicile conduse de stat vor fi suprascrise pe termen nelimitat.

Câteva sfaturi și idei

Văzând că acum puteți descărca datele, le puteți folosi pentru a vă construi propriile circuite Arduino care vor reacționa pe baza mesajelor, vedeți pe CAN-BUS. pentru un exemplu. Spuneți că instalați după spoturi luminoase. Fără a fi nevoie să vă scufundați în cablajul existent, puteți instala farurile independent și le puteți aprinde numai atunci când Arduino detectează un mesaj pe CAN-BUS.

Trimiterea datelor în CAN-BUS

Dacă ați urmat instrucțiunile la începutul acestui instructable, ați instalat bibliotecile SEEEDStudio. În IDE-ul Arduino există câteva exemple pe care le puteți încerca.

Cunoașterea ID-ului și a mesajului CAN0-BUS al nodului cu care doriți să interacționați.

Din păcate, aceasta nu este o sarcină foarte ușoară. Dar iată o idee. Utilizați caracteristica Putty's Logging și aruncați toate datele sesiunii pentru a înregistra. Lăsați Arduino să monitorizeze autobuzul pentru cutie timp de aproximativ 5 minute și apoi salvați deconectarea.

Apoi începeți o nouă sesiune și începeți să descărcați datele. Dar de data aceasta, în timp ce se descarcă datele, apăsați un buton. Nu apăsați mai mult de un buton. Apăsați butonul de câteva ori pentru a garanta că a captat apăsarea butonului.

Apoi utilizați un fel de instrument de comparație și comparați fișierul pentru a identifica diferențele. Excel funcționează excelent pentru asta.

Unele coduri pe care le puteți încerca

Dacă aveți același model Jeep 2010 Rubicon ca mine (sunt sigur că cele de mai jos vor funcționa și pentru modelele '07, '08', 09)

Puteți încerca următoarele mesaje. Încărcați exemplele de trimitere din meniul de exemple Arduino și modificările au fost relevante.

Engage Locker spate.: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);

Blinker stâng activat: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);

Blinker dreapta Activat: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);

ESP On / OFF: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);

În următoarea mea instruire, voi trimite câteva date la CAN-BUS-ul Jeep-ului meu pentru a demonstra cum puteți interfera cu acesta.

Noroc!

Pasul 5: vizionați videoclipul

Vedeți videoclipul pentru mai multe bunătăți CAN-BUS!

Recomandat: