Cuprins:
- Pasul 1: Configurare hardware și conexiune
- Pasul 2: Instalați software-ul pe Arduino
- Pasul 3: Conectați-l și începeți să preluați date
- Pasul 4: datele și ceea ce înseamnă
- Pasul 5: vizionați videoclipul
Video: Seeed Studio CAN-BUS V2.0 Hacking - Noțiuni introductive: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
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
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
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
Î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ă
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:
Hacking IKEA Växer: 12 pași (cu imagini)
Hacking IKEA Växer: Iată un proiect rapid de weekend pentru a automatiza lumina cultivatorului interior Växer (+ Krydda) IKEA, integrându-l în Home Assistant folosind un microcontroler și ESPHome. Aceasta presupune că sunteți deja în funcțiune cu Home Assistant
Pasager Teller. Happy Hacking: 4 pași
Pasager Teller. Happy Hacking: Gemaakt door.Owen CiciliaTim JansenMees van Essen Arduino counter counter: APCOpenbaar vervoer, wij maken allemaal weleens gebruik van. Je stapt soms de trein in en zoekend naar een zitplaats maar na twee coup é s beslis je toch te gaan staan
Coco-Mic --- Microfonul USB Studio Studio DIY (tehnologie MEMS): 18 pași (cu imagini)
Coco-Mic --- DIY Studio Quailty USB Mic (MEMS Technology): Hello Instructabler's, Sahas here. Doriți să vă înregistrați fișierele audio ca un profesionist? Probabil ți-ar plăcea să … Ei bine … de fapt tuturor le place. Astăzi dorințele tale se vor împlini. Aici este prezentat Coco-Mic - Care nu numai înregistrează calitatea
Seeed IoTea LoRa Solution (Update 1811): 5 pași
Soluție Seeed IoTea LoRa (Actualizare 1811): Internet + este un concept popular acum. De data aceasta am încercat internetul, plus agricultura, pentru a face ca ceaiul să crească pe internet
Seeed IoTea LoRa Solution (cu Azure, Update 1812): 5 pași
Soluție Loeed IoTea LoRa (cu Azure, Update 1812): Microsoft Azure este un serviciu cloud care oferă o putere de calcul mai puternică și stabilă. De data aceasta am încercat să îi trimitem datele IoTea către acesta