Indholdsfortegnelse:

Seeed Studio CAN -BUS V2.0 Hacking - Kom godt i gang: 5 trin
Seeed Studio CAN -BUS V2.0 Hacking - Kom godt i gang: 5 trin

Video: Seeed Studio CAN -BUS V2.0 Hacking - Kom godt i gang: 5 trin

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

Denne instruerbare er beregnet til begyndere, der allerede kender deres vej rundt i Arduino. Den indledende viden om, hvordan man kommer i gang, er altid smertefuld og tidskrævende i ethvert projekt. Men indtil du kender din vej rundt, ville du næsten altid ønske, at du havde nogen til at vise dig det grundlæggende.

I denne instruktør returnerer vi nogle CAN-BUS-data fra dit køretøj.

Og bare rolig! Jeg kommer helt ned til sagen uden at vandre videre og bruge buzz-ord for at få mig til at lyde som en smart hacker:-)

Jeg anbefaler personligt Seeed Studio CAN-BUS-skjoldene. Kan ikke rigtig tale for nogen af de andre mærker, men CAN-BUS Shield fra SeeedStudio har tjent mig meget godt.

Vigtig note: Can-bus-skjoldet er obligatorisk. Jeg lavede denne note, fordi folk ofte spørger, om du skal bruge et CAN-BUS-skjold. Skjoldet har en MCP2515 (CAN-controller) og MCP2551 (transceiver), der behandler CAN-BUS-data til den serielle port på din Arduino.

Den nødvendige hardware 1. Arduino UNO - Enhver arduino -kompatibel er tilstrækkelig. Jeg brugte denne

2. SeeedStudio CAN-BUS Shield. Jeg fik det direkte fra SeeedStudio her er linket

3. Nogle ledninger til at trykke på CAN-BUS

4. et køretøj, du kan hente data fra

Den nødvendige software 1. Arduino IDE, Duh! Naturligvis:-)

2. SeeedStudio CAN-BUS-bibliotek. Kan downloades fra GIT Hub

Nogle ekstra vitale oplysninger, hvis du har lyst til at læse mere om SeeedStudio CAN-BUS-skjoldet.

Lad os komme igang!

Trin 1: Hardwareopsætning og forbindelse

Image
Image
Hardwareopsætning og -forbindelse
Hardwareopsætning og -forbindelse
Hardwareopsætning og forbindelse
Hardwareopsætning og forbindelse
Hardwareopsætning og -forbindelse
Hardwareopsætning og -forbindelse

Lad os starte med den sværeste del. Vi skal finde et sted i din bil, hvor vi kan trykke på CAN-BUS. Der er ikke meget jeg kan gøre for dig her, du skal selv finde ud af det. I mit tilfælde bankede jeg på CAN-BUS via radioen. Ja! radioen. Køretøjer med integreret billyd indstiller normalt bilens stereolysbelysning baseret på bilens forlygteindstilling til, når du kører om natten. Dette gøres normalt via den indre CAN-BUS.

Jeg brugte et USB -forlængerkabel, der har en han -USB og en hun -USB -ende. Så jeg skar den bare i halve og loddet derefter hun -siden på radioens stik. Det kan være en god idé at købe et hunstik til din radiotype, på den måde behøver du ikke splejse ind i dit køretøjs ledninger og annullere din garanti eller muligvis forårsage brandfare.

Og så tilsluttede handelen til SeeedStudio CAN-BUS-skjoldet som vist på billedet. På denne måde kan jeg tilslutte/afbryde når det er nødvendigt.

Tip: Brug rød ledning til CAN-H og sort til CAN-L

Trin 2: Installer softwaren på Arduino

Installer softwaren på Arduino
Installer softwaren på Arduino
Installer softwaren på Arduino
Installer softwaren på Arduino
Installer softwaren på Arduino
Installer softwaren på Arduino

Download SeeedStudio-biblioteket fra SeeedStudio CAN-BUS-wiki.

github.com/Seeed-Studio/CAN_BUS_Shield

Installer biblioteket som vist på billederne.

Vælg Sketch Include Library - Tilføj.zip -bibliotek fra Arduino IDE.

Efter tilføjelse af biblioteket skal du lukke Arduino IDE og genåbne det. Du vil nu kunne indlæse nogle af eksemplerne fra menuen Filer Fileksempler CAN-BUS-skærm Modtag check

For denne vejledning indlæses eksempelet modtag check.

Vigtig!

Følgende vil kræve en del forsøg og fejl.

Jeg brugte min Jeep JK 2010 Rubicon til at hente data, og dens indre bus kører på 125Kbs.

I opsætningsafsnittet, hvor den læser

mens (CAN_OK! = CAN.begin (CAN_500KBPS)) måtte jeg ændre det til

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

Hvis du får dette forkert, vil du ikke kunne hente læsbare data. I de fleste tilfælde inklusive min vil dit køretøj gå amok. I. E klyngen med lyser op som et juletræ, og viskerne begynder at bevæge sig. fordi dåsebusskærmen ødelægger bussen.

Trin 3: Tilslut det, og begynd at hente data

Tilslut det, og begynd at hente data
Tilslut det, og begynd at hente data
Tilslut det, og begynd at hente data
Tilslut det, og begynd at hente data
Tilslut det, og begynd at hente data
Tilslut det, og begynd at hente data

Inden du tilslutter, bedes du tage en sundhedstjek, før du tilslutter den til din bil. Det sidste, du vil gøre, er at sende strøm til din CAN-BUS, der muligvis blæser i dit køretøjs ECU.

Jeg foretog ikke en sundhedstjek, og først da jeg indså, at jeg ikke får data, så jeg, at jeg tilsluttede den bærbare computers USB direkte til Arduinos USB -strøm. Heldigvis skete der ikke noget.

På billederne af dette trin brugte jeg min Lenovo bærbare computer fyldt med Linux Mint. Off-grov kan du bruge ethvert operativsystem til at oprette forbindelse til din Arduinos serielle port, 1. Opsæt den bærbare computer i dit køretøj, og tænd for Arduino CAN-BUS-skjoldet med et USB-kabel.

2. Start Putty eller Arduino seriel skærm (jeg foretrækker Putty). Når den er tilsluttet, skal du se en meddelelse i den serielle konsol, der fortæller dig, at det lykkedes at initialisere Can-Bus-skjoldet.

3. Tænd for køretøjet. Det behøver ikke at startes, så længe nøglen er i tændt position.

4. Tilslut Arduino til CAN-BUS. I det øjeblik det er tilsluttet, begynder dataene at streame ind i konsollen.

Trin 4: Dataene og hvad det hele betyder

Data og hvad det hele betyder
Data og hvad det hele betyder
Data og hvad det hele betyder
Data og hvad det hele betyder

Når dataene hentes, dumpes de i følgende HEX -format.

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

ID'et repræsenterer normalt en knude i dit køretøj.

Lad os lave et enkelt eksempel. (Nedenstående er opbygget og ikke ægte, bare et eksempel)

Aircondition 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 tænder for Aircon og sætter den på medium, ser beskeden sådan ud: 0x402, 13, 8C

det samme gælder for andre noder, f.eks. Central låsning

Så hvis du trykker på knappen for at låse alle døre, ser meddelelsen sådan ud

0x502, 14

Nogle ekstra noter.

Nogle meddelelser er statsdrevne og nogle eller kortvarigt.

Eksempel 1. Forlygter som statsdrevne. Når du indstiller en kontakt i bilen til en bestemt position, vil noden blive ved med at udsende meddelelsen igen og igen. Hvis du skulle forstyrre CAN-BUS'en, skal du sende en besked for at slukke forlygterne. Den slukker og tændes kortvarigt, fordi den knude, hvor kontakten er indstillet til at tænde forlygterne, igen sender en besked for at tænde den.

Eksempel 2. Springer numre over på din radiohovedenhed. når du trykker på en knap og dens en kortvarig knap, der vil lave og straks bryde kredsløbet, når du forlader det, sender det en besked for at springe sporet over og aldrig igen, før du beder om at trykke på knappen igen.

Normalt er øjeblikkelige knapper de mest nyttige, fordi du kan styre funktioner i dit køretøj ved at sende en enkelt kommando uden at skulle bekymre dig om, at din kommando bliver overskrevet. Hvor som statsdrevne funktioner vil blive overskrevet på ubestemt tid.

Nogle tips og ideer

Når du ser, at du nu er i stand til at dumpe data, kan du bruge dem til at bygge dine egne Arduino-kredsløb, der vil reagere baseret på meddelelserne, kan du se på CAN-BUS. for et eksempel. Sig, at du installerer eftermarkeds spotlys. Uden at skulle grave i dine eksisterende ledninger kan du installere dine forlygter uafhængigt og kun tænde dem, når din Arduino registrerer en besked på CAN-BUS.

Sender data til CAN-BUS

Hvis du fulgte instruktionen i begyndelsen af denne instruerbare, har du installeret SEEEDStudio -bibliotekerne. I Arduino IDE er der nogle eksempler, du kan prøve.

Kendskab til id'et og CAN0-BUS-meddelelsen for den knude, du vil interagere med.

Desværre er dette ikke en meget let opgave. Men her er en idé. Brug Putty's Logging -funktion og dump alle sessionsdata til fil. Lad Arduino overvåge dåsebussen i cirka 5 minutter og gem derefter loggen ud af vejen.

Start derefter en ny session, og begynd at dumpe dataene. Men denne gang, mens dens dumping dataene trykke på en knap. Tryk ikke på mere end en knap. Tryk på knappen et par gange for at sikre, at den fangede knappen.

Brug derefter en slags sammenligningsværktøj og sammenlign filen for at se forskellene. Excel fungerer godt til dette.

Nogle koder kan du prøve

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

Du kan prøve følgende meddelelser. Indlæs sendeeksemplerne fra menuen Arduino -eksempler, og ændringen var relevant.

Aktiver baglås.: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);

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

Right Blinker On: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);

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

I min næste instruks vil jeg sende nogle data til min Jeeps CAN-BUS for at demonstrere, hvordan du kan forstyrre det.

Held og lykke!

Trin 5: Se videoen

Se videoen for mere CAN-BUS godhed!

Anbefalede: