Innholdsfortegnelse:

Seeed Studio CAN -BUS V2.0 Hacking - Komme i gang: 5 trinn
Seeed Studio CAN -BUS V2.0 Hacking - Komme i gang: 5 trinn

Video: Seeed Studio CAN -BUS V2.0 Hacking - Komme i gang: 5 trinn

Video: Seeed Studio CAN -BUS V2.0 Hacking - Komme i gang: 5 trinn
Video: 🚀 AMAZON 2.0 - ИНТЕРНЕТ МАГАЗИН с нуля за 6 часов [Next / React / Nest / PostgreSQL / Prisma / TS] 2024, Juli
Anonim
Seeed Studio CAN -BUS V2.0 Hacking - Komme i gang
Seeed Studio CAN -BUS V2.0 Hacking - Komme i gang
Seeed Studio CAN -BUS V2.0 Hacking - Komme i gang
Seeed Studio CAN -BUS V2.0 Hacking - Komme i gang
Seeed Studio CAN -BUS V2.0 Hacking - Komme i gang
Seeed Studio CAN -BUS V2.0 Hacking - Komme i gang
Seeed Studio CAN -BUS V2.0 Hacking - Komme i gang
Seeed Studio CAN -BUS V2.0 Hacking - Komme i gang

Denne instruksjonsfilen er ment for nybegynnere som allerede kjenner seg godt rundt Arduino. Den første kunnskapen om hvordan du kommer i gang er alltid smertefull og tidkrevende i ethvert prosjekt. Men til du kjenner deg rundt, skulle du nesten alltid ønske at du hadde noen til å vise deg det grunnleggende.

I denne instruksen vil vi returnere noen CAN-BUS-data fra bilen din.

Og ikke bekymre deg! Jeg kommer helt ned til poenget uten å vandre videre og bruke buzz-ord for å få meg til å høres ut som en smart hacker:-)

Jeg anbefaler personlig Seeed Studio CAN-BUS-skjoldene. Kan ikke snakke for noen av de andre merkene, men CAN-BUS Shield fra SeeedStudio har tjent meg veldig godt.

Viktig merknad: Can-bus-skjoldet er obligatorisk. Jeg noterte dette fordi folk ofte spør om du må bruke et CAN-BUS-skjold. Skjoldet har en MCP2515 (CAN-kontroller) og MCP2551 (transceiver) som vil behandle CAN-BUS-data til den serielle porten på Arduino.

Den nødvendige maskinvaren. Arduino UNO - Enhver arduino -kompatibel vil være tilstrekkelig. Jeg brukte denne

2. SeeedStudio CAN-BUS Shield. Jeg fikk det direkte fra SeeedStudio her er lenken

3. Noen ledninger for å tappe inn i CAN-BUSSEN

4. et kjøretøy du kan hente data fra

Den nødvendige programvaren 1. Arduino IDE, Duh! Åpenbart:-)

2. SeeedStudio CAN-BUS-bibliotek. Kan lastes ned fra GIT Hub

Litt ekstra viktig informasjon hvis du har lyst til å lese mer om SeeedStudio CAN-BUS-skjoldet.

La oss komme i gang!

Trinn 1: Maskinvareoppsett og tilkobling

Image
Image
Maskinvareoppsett og tilkobling
Maskinvareoppsett og tilkobling
Maskinvareoppsett og tilkobling
Maskinvareoppsett og tilkobling
Maskinvareoppsett og tilkobling
Maskinvareoppsett og tilkobling

La oss starte med den vanskeligste delen. Vi må finne et sted i bilen din hvor vi kan kaste oss inn i CAN-BUSSEN. Det er ikke mye jeg kan gjøre for deg her, du må finne ut av dette selv. I mitt tilfelle banket jeg på CAN-BUSSEN via radioen. Ja! radioen. Kjøretøy med integrert billyd stiller vanligvis bil-stereolysbelysningen basert på bilens hodelyktinnstilling for når du kjører om natten. Dette gjøres vanligvis via CAN-BUS interiør.

Jeg brukte en USB -forlengerkabel som har en mannlig USB- og kvinnelig USB -ende. Så jeg kuttet den bare i to og loddet deretter kvinnesiden på radioens kontakt. Det kan være lurt å kjøpe en hunnkontakt for din radiotype, slik at du ikke trenger å spleise inn i bilens ledninger og ugyldiggjøre garantien eller potensielt forårsake brannfare.

Og så den mannlige delen jeg koblet til SeeedStudio CAN-BUS-skjoldet som vist på bildet. På denne måten kan jeg koble til/fra når det er nødvendig.

Tips: Bruk rød ledning for CAN-H og svart for CAN-L

Trinn 2: Installer programvaren på Arduino

Installer programvaren på Arduino
Installer programvaren på Arduino
Installer programvaren på Arduino
Installer programvaren på Arduino
Installer programvaren på Arduino
Installer programvaren på Arduino

Last ned SeeedStudio-biblioteket fra SeeedStudio CAN-BUS wiki.

github.com/Seeed-Studio/CAN_BUS_Shield

Installer biblioteket som vist på bildene.

Velg Sketch Include Library - Legg til.zip -bibliotek fra Arduino IDE.

Etter å ha lagt til biblioteket, lukk Arduino IDE og åpne det igjen. Du vil nå kunne laste inn noen av eksemplene fra Filmeny Fileksempler CAN-BUS-skjermmottak

Last ned eksempelet motta sjekk for denne opplæringen.

Viktig!

Følgende vil kreve litt prøving og feiling.

Jeg brukte min Jeep JK 2010 Rubicon til å hente data, og det er en innvendig buss som kjører på 125Kbs.

I oppsettdelen der den leser

mens (CAN_OK! = CAN.begin (CAN_500KBPS)) måtte jeg endre den til

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

Hvis du tar feil, vil du ikke kunne hente lesbare data. I de fleste tilfeller, inkludert min, vil bilen din gå på skinner. I. E klyngen med lys opp som et juletre og vindusviskerne begynner å bevege seg. fordi buskskjoldet ødelegger bussen.

Trinn 3: Koble den til og begynn å hente data

Koble den til og begynn å hente data
Koble den til og begynn å hente data
Koble den til og begynn å hente data
Koble den til og begynn å hente data
Koble den til og begynn å hente data
Koble den til og begynn å hente data

Før du kobler til, må du ta en sanitetskontroll før du kobler den til bilen din. Det siste du vil gjøre er å sende strøm til din CAN-BUS som potensielt blåser kjøretøyets ECU.

Jeg gjorde ikke en fornuftskontroll, og først etter at jeg skjønte at jeg ikke får data, så jeg at jeg koblet den bærbare USB -en direkte til Arduinos USB -strøm. Heldigvis skjedde ingenting.

På bildene av dette trinnet brukte jeg min Lenovo bærbare datamaskin lastet med Linux Mint. Off-grov kan du bruke et hvilket som helst operativsystem til å koble til Arduinos serielle port, 1. Sett opp den bærbare datamaskinen i bilen og slå på Arduino CAN-BUS-skjoldet med en USB-kabel.

2. Start Putty eller Arduino seriell skjerm (jeg foretrekker Putty). Når den er tilkoblet, bør du se en melding i seriekonsollen som forteller deg at den klarte å initialisere Can-Bus-skjoldet.

3. Slå på bilen. Det trenger ikke å startes så lenge nøkkelen er i på -posisjon.

4. Koble Arduino til CAN-BUS. I det øyeblikket den er tilkoblet, begynner dataene å strømme inn i konsollen.

Trinn 4: Dataene og hva det betyr

Dataene og hva det betyr
Dataene og hva det betyr
Dataene og hva det betyr
Dataene og hva det betyr

Når dataene er hentet, vil de dumpe dem til følgende HEX -format.

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

ID -en representerer vanligvis en node i bilen din.

La oss ta et enkelt eksempel. (Nedenstående består og er ikke ekte, bare et eksempel)

Klimaanlegg Node ID = 0x402TURN AIRCON OFF = 13TURN AIRCON ON = 14 SET AIRCON BLOWER TO LOW = 7C SET AIRCON BLOWER TO MEDIUM 8C SET AIRCON BLOWER TO HIGH 9C

Så hvis vi slår på Aircon og setter den på medium vil meldingen se slik ut: 0x402, 13, 8C

det samme gjelder for andre noder, eksempel Sentral låsing Sentral låsing ID = 0x503LÅS alle dører = 14

Så hvis du trykker på knappen for å låse alle dører, vil meldingen se slik ut

0x502, 14

Noen ekstra notater.

Noen meldinger er statsdrevne og noen eller kortvarig.

Eksempel 1. Hodelykter som statlig drevet. Når du setter en bryter i bilen til en bestemt posisjon, vil noden fortsette å sende meldingen om og om igjen. Hvis du måtte forstyrre CAN-BUS, send en melding for å slå av hodelyktene. Den slås kort av og deretter på igjen fordi noden der bryteren er satt til å slå på hodelyktene igjen sender en melding for å slå den på.

Eksempel 2. Hoppe over spor på radioenheten. Når du trykker på en knapp og det er en øyeblikkelig knapp som vil lage og umiddelbart bryte kretsen når du forlater den, vil den sende en melding om å hoppe over sporet og aldri igjen før du spør trykk på knappen igjen.

Vanligvis er øyeblikkelige knapper de mest nyttige fordi du kan kontrollere funksjonene i bilen din ved å sende en enkelt kommando uten å bekymre deg for at kommandoen din skal skrives over. Hvor som statsdrevne funksjoner vil bli overskrevet på ubestemt tid.

Noen tips og ideer

Når du ser at du nå kan dumpe dataene, kan du bruke dem til å bygge dine egne Arduino-kretser som vil reagere basert på meldingene, kan du se på CAN-BUS. for et eksempel. Si at du installerer etter markedslys. Uten å måtte grave i de eksisterende ledningene kan du installere hodelyktene uavhengig og bare slå dem på når Arduino oppdager en melding på CAN-BUS.

Sender data til CAN-BUS

Hvis du fulgte instruksjonene i begynnelsen av denne instruksjonsboken, har du installert SEEEDStudio -bibliotekene. I Arduino IDE er det noen eksempler du kan prøve.

Å kjenne ID-en og CAN0-BUS-meldingen til noden du vil samhandle med.

Dessverre er dette ikke en veldig lett oppgave. Men her er en idé. Bruk Putty's Logging -funksjonen og dump alle sesjonsdata til filen. La Arduino overvåke boksen i omtrent 5 minutter og lagre deretter loggen ut av veien.

Start deretter en ny økt, og begynn å dumpe dataene. Men denne gangen trykker du på en knapp mens dataene dumpes. Ikke trykk på mer enn én knapp. Trykk på knappen et par ganger for å garantere at den fanget knappetrykket.

Bruk deretter et slags sammenligningsverktøy og sammenlign filen for å se forskjellene. Excel fungerer bra for dette.

Noen koder du kan prøve

Hvis du har samme Jeep 2010 Rubicon -modell som meg (jeg er sikker på at nedenstående også vil fungere for modellene '07, '08', 09)

Du kan prøve følgende meldinger. Last inn sendeksemplene fra Arduino -eksempler -menyen, og endringen var relevant.

Koble til bakre skap: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);

Venstre blinklys På: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);

Høyre blinklys på: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);

ESP På/Av: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);

I min neste instruks vil jeg sende noen data til min jeeps CAN-BUS for å demonstrere hvordan du kan forstyrre den.

Lykke til!

Trinn 5: Se videoen

Se videoen for mer CAN-BUS godhet!

Anbefalt: