Kazalo:
- 1. korak: Namestitev in povezava strojne opreme
- Korak: Namestite programsko opremo na Arduino
- 3. korak: Povežite ga in začnite pridobivati podatke
- 4. korak: Podatki in kaj vse to pomeni
- 5. korak: Oglejte si video
Video: Seeed Studio CAN -BUS V2.0 Hacking - Začetek: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Ta navodila so namenjena začetnikom, ki se že poznajo po Arduinu. Začetno znanje, kako napredovati, je pri vsakem projektu vedno bolečina in zamuda. Toda dokler se ne spoznate, si skoraj vedno zaželite, da bi imeli nekoga, ki bi vam pokazal osnove.
V tem navodilu vam bomo vrnili nekaj podatkov CAN-BUS iz vašega vozila.
In ne skrbite! Prešel bom k bistvu, ne da bi se prepiral in z buzz besedami zvenel kot pameten heker:-)
Osebno priporočam ščite Seeed Studio CAN-BUS. V resnici ne morem govoriti o nobeni drugi znamki, vendar mi je CAN-BUS Shield podjetja SeeedStudio zelo dobro služil.
Pomembna opomba: Ščitnik vodila can-bus je obvezen. To sem zapisal, ker se ljudje pogosto sprašujejo, ali morate uporabiti ščit CAN-BUS. Ščit ima MCP2515 (krmilnik CAN) in MCP2551 (oddajnik), ki bosta obdelala podatke CAN-BUS na serijska vrata vašega Arduina.
Zahtevana strojna oprema. Arduino UNO - Zadostuje vsaka združljivost z arduinom. To sem uporabil
2. SeeedStudio CAN-BUS ščit. Dobil sem ga neposredno iz SeeedStudio, tukaj je povezava
3. Nekaj žic za priključitev na CAN-BUS
4. vozilo, iz katerega lahko pridobivate podatke
Zahtevana programska oprema 1. Arduino IDE, Duh! Očitno:-)
2. SeeedStudio knjižnica CAN-BUS. Prenosljivo iz GIT Hub
Nekaj dodatnih pomembnih informacij, če želite prebrati več o ščitu SeeedStudio CAN-BUS.
Začnimo!
1. korak: Namestitev in povezava strojne opreme
Začnimo z najtežjim delom. V vašem vozilu moramo najti mesto, kjer se lahko dotaknemo CAN-BUS. Tu ne morem storiti veliko za vas, to morate ugotoviti sami. V mojem primeru sem se prek radia dotaknil CAN-BUS. Ja! Radio. Vozila z vgrajenim avdio zvokom običajno prižgejo osvetlitev stereo zaslona avtomobila glede na nastavitev žarometa vozila za nočno vožnjo. Običajno se to izvede prek notranjega CAN-BUS-a.
Uporabil sem podaljšek USB, ki ima moški USB in ženski USB konec. Tako sem ga preprosto prerezal na pol in nato žensko stran spajkal na priključek radia. Morda boste želeli kupiti moški ženski konektor za vaš tip radia, na ta način vam ne bo treba spajati v ožičenje vašega vozila in razveljaviti garancije ali pa povzročiti nevarnost požara.
In potem moški del, ki sem ga priključil na SeeedStudio CAN-BUS ščit, kot je prikazano na sliki. Tako se lahko po potrebi povežem/odklopim.
Nasvet: Uporabite rdečo žico za CAN-H in črno za CAN-L
Korak: Namestite programsko opremo na Arduino
Prenesite knjižnico SeeedStudio iz wikija SeeedStudio CAN-BUS.
github.com/Seeed-Studio/CAN_BUS_Shield
Namestite knjižnico, kot je prikazano na slikah.
V Arduino IDE izberite Sketch Include Library - Add.zip Library.
Po dodajanju knjižnice zaprite Arduino IDE in jo znova odprite. Zdaj boste lahko naložili nekaj primerov iz menija Datoteka Primeri datotek Preverjanje prejema ščita CAN-BUS
Za to vadnico naložite primer preverjanja prejema.
Pomembno!
Naslednje bo zahtevalo nekaj poskusov in napak.
Za pridobivanje podatkov sem uporabil svoj Jeep JK 2010 Rubicon, notranji avtobus pa deluje pri 125 KB.
V nastavitvenem razdelku, kjer se bere
medtem ko (CAN_OK! = CAN.begin (CAN_500KBPS)) sem ga moral spremeniti v
medtem ko (CAN_OK! = CAN.začni (CAN_125KBPS))
Če to storite narobe, ne boste mogli pridobiti berljivih podatkov. V večini primerov, vključno z mojim, bo vaše vozilo postalo brezvezno. To pomeni, da se bo kopica zasvetila kot božično drevo in brisalci se bodo začeli premikati. ker ščit za avtobus poškoduje avtobus.
3. korak: Povežite ga in začnite pridobivati podatke
Preden se povežete, preverite zdravstveno stanje, preden ga priklopite na vozilo. Zadnja stvar, ki jo želite storiti, je, da na CAN-BUS pošljete napajanje, ki potencialno raznese ECU vašega vozila.
Nisem opravil preverjanja zdravja in šele potem, ko sem ugotovil, da ne dobim podatkov, sem videl, da sem priključil USB prenosnika neposredno na napajanje USB Arduino. Na srečo se ni zgodilo nič.
Na slikah tega koraka sem uporabil prenosni računalnik Lenovo z Linux Mint. Če niste grobi, lahko uporabite kateri koli operacijski sistem za povezavo s serijskimi vrati vašega Arduina, 1. Namestite prenosni računalnik v svoje vozilo in vklopite Arduino CAN-BUS ščit s kablom USB.
2. Zaženite Putty ali Arduino serijski monitor (raje imam Putty). Ko je povezan, bi morali v serijski konzoli videti sporočilo, da je uspelo inicializirati ščit Can-Bus.
3. Vklopite vozilo. Ni ga treba zagnati, dokler je ključ v položaju za vklop.
4. Priključite Arduino na CAN-BUS. V trenutku, ko so povezani, se bodo podatki začeli pretakati v konzolo.
4. korak: Podatki in kaj vse to pomeni
Ko so podatki pridobljeni, jih bodo izpisali v naslednjo HEX obliko.
ID, BIT1, BIT2, BIT3, BIT4, BIT5, BIT6, BIT7, BIT8
ID običajno predstavlja vozlišče v vašem vozilu.
Naredimo preprost primer. (Spodaj je izmišljeno in ni resnično, le primer)
ID vozlišča klimatske naprave = 0x402TURN IZKLOPLJEN ZRAK = 13TURN VKLOP VKLOPLJENEGA = 14 NASTAVITEV AIRKONSKEGA VENTILATORJA NA NIZKO = 7C NASTAVITVENEGA VENTILATORJA ZRAKA NA SREDNJI 8C NASTAVITVENEGA VENTILATORJA NA VISOK 9C
Če torej vklopimo Aircon in ga nastavimo na medij, bo sporočilo videti tako: 0x402, 13, 8C
enako velja za druga vozlišča, na primer centralno zaklepanjeCentralno zaklepanje ID = 0x503ZAKLONI vsa vrata = 14
Če pritisnete gumb, da zaklenete vsa vrata, bo sporočilo videti tako
0x502, 14
Nekaj dodatnih opomb.
Nekatera sporočila vodijo stanje, nekatera pa za trenutek.
Primer 1. Žarometi na državni pogon. Ko stikalo v vozilu nastavite na določen položaj, bo vozlišče še naprej oddajalo sporočilo. Če bi morali poseči v CAN-BUS, pošljite sporočilo, da ugasnete žaromete. Na kratko se bo izklopil in nato znova vklopil, ker bo vozlišče, kjer je stikalo nastavljeno za vklop žarometov, znova poslalo sporočilo, da ga vklopi.
Primer 2. Preskakovanje skladb na glavni enoti radia. ko pritisnete gumb in njegov trenutni gumb, ki naredi in takoj prekine vezje, ko ga zapustite, bo poslalo eno sporočilo, da preskoči skladbo in nikoli več, dokler ne vprašate, ponovno pritisnite gumb.
Običajno so trenutni gumbi najbolj uporabni, saj lahko upravljate funkcije v svojem vozilu tako, da pošljete en sam ukaz, ne da bi vas skrbelo, da bo vaš ukaz prepisan. Kjer bodo funkcije, ki jih vodi stanje, prepisane za nedoločen čas.
Nekaj nasvetov in idej
Ker lahko zdaj shranite podatke, jih lahko uporabite za izdelavo lastnih vezij Arduino, ki se bodo odzvala na podlagi sporočil, glejte na CAN-BUS. za primer. Recimo, da namestite po tržnih svetilkah. Ne da bi morali kopati po obstoječi napeljavi, lahko žaromete namestite neodvisno in jih vklopite le, ko vaš Arduino zazna sporočilo na CAN-BUS.
Pošiljanje podatkov v CAN-BUS
Če ste sledili navodilom na začetku tega navodila, ste namestili knjižnice SEEEDStudio. V Arduino IDE obstaja nekaj primerov, ki jih lahko preizkusite.
Poznavanje ID-ja in sporočila CAN0-BUS vozlišča, s katerim želite komunicirati.
Na žalost to ni zelo lahka naloga. Ampak tukaj je ideja. Uporabite Puttyjevo funkcijo beleženja in vse datoteke seje shranite v datoteko. Pustite, da Arduino približno 5 minut nadzoruje vodilo pločevinke, nato pa odjavite pot.
Nato začnite novo sejo in začnite kopirati podatke. Tokrat pa med izpisom podatkov pritisnite gumb. Ne pritiskajte več kot enega gumba. Nekajkrat pritisnite gumb, da zagotovite, da je zajel pritisk gumba.
Nato uporabite nekakšno orodje za primerjavo in primerjajte datoteko, da ugotovite razlike. Excel za to odlično deluje.
Nekatere kode lahko poskusite
Če imate enak model Jeep 2010 Rubicon kot jaz (prepričan sem, da bo spodaj delovalo tudi za modele '07, '08', 09)
Poskusite lahko naslednja sporočila. Naložite primere pošiljanja iz menija primerov Arduino in spremembe so bile pomembne.
Vključi zadnjo omarico: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);
Levi utripalec Vklopljen: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);
Desni utripalec Vklopljen: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);
Vklop/izklop ESP: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);
V naslednjem navodilu bom poslal nekaj podatkov na CEP-BUS mojega Jeepa, da pokažem, kako lahko posegate vanj.
Vso srečo!
5. korak: Oglejte si video
Za več dobrote CAN-BUS si oglejte video!
Priporočena:
Pringles Can kitarski ojačevalnik: 7 korakov
Pringles Can Guitar Amp: Včasih želim vzeti električno kitaro samo zato, da odigram nekaj riffov, ne da bi mi bilo treba nastaviti svojega običajnega ojačevalca
Hacking USB Power Banks za Power Arduino: 6 korakov
Vdor v napajalne banke USB za napajanje Arduina: Uporaba poceni baterij za napajanje vaših vezij Arduino je tako frustrirajoča zaradi nizkega toka, vezja za samodejni izklop. Če napajalnik ne zazna dovolj velike obremenitve-se po tem preprosto zapre 30-40 sekund. Spremenite Ch
Ključi volana do avtomobilskega stereo vmesnika (vodilo CAN -> ključ1): 6 korakov
Ključi na volanu do avtomobilskega stereo vmesnika (CAN Bus -> Key1): Nekaj dni po nakupu rabljenega avtomobila sem odkril, da ne morem predvajati glasbe iz telefona prek avdio stereo. Še bolj frustrirajoče je bilo, da je imel avto bluetooth, vendar je dovoljeval le glasovne klice, ne pa tudi glasbe. Imel je tudi vrata USB za Windows Phone, vendar sem
Kako dekodirati podatke CAN vodila vozila: 8 korakov
Kako dekodirati podatke CAN vodila vozila: V tem navodilu bomo posneli podatke vodila CAN avtomobila ali tovornjaka in pretvorili posnete podatke dnevnika vodila CAN v berljive vrednosti. Za dekodiranje bomo uporabili brezplačno storitev can2sky.com v oblaku. Dnevnik lahko posnamemo z vmesniki CAN-USB, vendar plačajte
Hacking Toy Crane za Micro: bit Control: 9 korakov
Hacking Toy Crane for Micro: bit Control: V tem vodniku po korakih vas bomo popeljali skozi prilagajanje žerjava za igrače, tako da ga lahko upravljate z BBC micro: bit z uporabo Kitronik Motor Driver Board za BBC micro: bit in vgrajen merilnik pospeška BBC micro: bit za zaznavanje nagiba in