Innehållsförteckning:

Seeed Studio CAN -BUS V2.0 Hacking - Komma igång: 5 steg
Seeed Studio CAN -BUS V2.0 Hacking - Komma igång: 5 steg

Video: Seeed Studio CAN -BUS V2.0 Hacking - Komma igång: 5 steg

Video: Seeed Studio CAN -BUS V2.0 Hacking - Komma igång: 5 steg
Video: Беслан. Помни / Beslan. Remember (english & español subs) 2024, November
Anonim
Seeed Studio CAN -BUS V2.0 Hacking - Komma igång
Seeed Studio CAN -BUS V2.0 Hacking - Komma igång
Seeed Studio CAN -BUS V2.0 Hacking - Komma igång
Seeed Studio CAN -BUS V2.0 Hacking - Komma igång
Seeed Studio CAN -BUS V2.0 Hacking - Komma igång
Seeed Studio CAN -BUS V2.0 Hacking - Komma igång
Seeed Studio CAN -BUS V2.0 Hacking - Komma igång
Seeed Studio CAN -BUS V2.0 Hacking - Komma igång

Denna instruerbara är avsedd för nybörjare som redan kan sin väg runt Arduino. Den första kunskapen om hur man kommer igång är alltid smärtsam och tidskrävande i alla projekt. Men tills du känner till din väg runt önskar du nästan alltid att du hade någon att visa dig grunderna.

I denna instruktion kommer vi att returnera några CAN-BUS-data från ditt fordon.

Och oroa dig inte! Jag kommer till punkten utan att ramla vidare och använda surrord för att få mig att låta som en smart hacker:-)

Jag rekommenderar personligen Seeed Studio CAN-BUS-sköldarna. Kan verkligen inte tala för något av de andra märkena men CAN-BUS Shield från SeeedStudio har tjänat mig mycket bra.

Viktig anmärkning: Can-bus-skärmen är obligatorisk. Jag gjorde den här anteckningen eftersom människor ofta frågar om du måste använda en CAN-BUS-sköld. Skyddet har en MCP2515 (CAN Controller) och MCP2551 (Transceiver) som kommer att behandla CAN-BUS-data till den seriella porten på din Arduino.

Nödvändig maskinvara. Arduino UNO - Alla arduino -kompatibla kommer att räcka. Jag använde den här

2. SeeedStudio CAN-BUS Shield. Jag fick det direkt från SeeedStudio här är länken

3. Några ledningar för att knacka in i CAN-BUS

4. ett fordon du kan hämta data från

Den programvara som krävs 1. Arduino IDE, Duh! Självklart:-)

2. SeeedStudio CAN-BUS-bibliotek. Nedladdningsbar från GIT Hub

Lite extra viktig information om du känner för att läsa mer om SeeedStudio CAN-BUS-skölden.

Låt oss börja!

Steg 1: Maskinvaruinstallation och anslutning

Image
Image
Maskinvaruinstallation och anslutning
Maskinvaruinstallation och anslutning
Maskinvaruinstallation och anslutning
Maskinvaruinstallation och anslutning
Maskinvaruinstallation och anslutning
Maskinvaruinstallation och anslutning

Låt oss börja med den svåraste delen. Vi måste hitta en plats i ditt fordon där vi kan använda CAN-BUSSEN. Det finns inte mycket jag kan göra för dig här, du måste ta reda på det själv. I mitt fall knackade jag på CAN-BUSSEN via radion. ja! radion. Fordon med integrerat billjud ställer vanligtvis in bilstereo-displayens belysning baserat på fordonets strålkastarinställning för när du kör på natten. Detta görs vanligtvis via CAN-BUS-interiören.

Jag använde en USB -förlängningskabel som har en USB -hane och hona -USB -ände. Så jag skar helt enkelt den på mitten och lodde sedan den kvinnliga sidan på radioens kontakt. Du kanske vill köpa en hankontakt för din radiotyp, på det sättet behöver du inte skarva in fordonets ledningar och upphäva din garanti eller eventuellt orsaka brandrisk.

Och sedan den manliga delen jag kopplade till SeeedStudio CAN-BUS-skölden som visas på bilden. På så sätt kan jag ansluta/koppla bort vid behov.

Tips: Använd röd tråd för CAN-H och svart för CAN-L

Steg 2: Installera programvaran på Arduino

Installera programvaran på Arduino
Installera programvaran på Arduino
Installera programvaran på Arduino
Installera programvaran på Arduino
Installera programvaran på Arduino
Installera programvaran på Arduino

Ladda ner SeeedStudio-biblioteket från SeeedStudio CAN-BUS wiki.

github.com/Seeed-Studio/CAN_BUS_Shield

Installera biblioteket som visas på bilderna.

Från Arduino IDE väljer du Sketch Include Library - Add.zip Library.

När du har lagt till biblioteket stänger du Arduino IDE och öppnar det igen. Du kommer nu att kunna ladda några av exemplen från Arkiv-menyn Filexempel CAN-BUS-sköldmottagningskontroll

För den här självstudien ladda exemplet med mottagningskontroll.

Viktig!

Följande kommer att kräva lite försök och fel.

Jag använde min Jeep JK 2010 Rubicon för att hämta data och dess inre buss körs på 125Kbs.

I installationsdelen där den läser

medan (CAN_OK! = CAN.begin (CAN_500KBPS)) var jag tvungen att ändra den till

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

Om du får detta fel kommer du inte att kunna hämta läsbar data. I de flesta fall inklusive mitt kommer ditt fordon att bli galet. Dvs klustret med ljus upp som en julgran och torkarna börjar röra sig. eftersom burkskölden förstör bussen.

Steg 3: Anslut den och börja hämta data

Anslut den och börja hämta data
Anslut den och börja hämta data
Anslut den och börja hämta data
Anslut den och börja hämta data
Anslut den och börja hämta data
Anslut den och börja hämta data

Innan du ansluter, ta en sanitetskontroll innan du ansluter den till ditt fordon. Det sista du vill göra är att skicka ström till din CAN-BUS som eventuellt blåser ditt fordons ECU.

Jag gjorde ingen hälsokontroll och först efter att jag insåg att jag inte får data såg jag att jag kopplade den bärbara datorns USB direkt till Arduinos USB -ström. Som tur var hände ingenting.

På bilderna från detta steg använde jag min Lenovo Laptop laddad med Linux Mint. Off-grov kan du använda vilket operativsystem som helst för att ansluta till din Arduinos serieport, 1. Installera den bärbara datorn i ditt fordon och sätt på Arduino CAN-BUS-skölden med en USB-kabel.

2. Starta Putty eller Arduino seriell bildskärm (jag föredrar Putty). När den är ansluten ska du se ett meddelande i seriekonsolen som säger att den lyckades initiera Can-Bus-skölden.

3. Slå på fordonet. Det behöver inte startas så länge nyckeln är i på -läge.

4. Anslut Arduino till CAN-BUS. I det ögonblick som den är ansluten börjar data strömma in i konsolen.

Steg 4: Data och vad det betyder

Upterna och vad det betyder
Upterna och vad det betyder
Upterna och vad det betyder
Upterna och vad det betyder

När data hämtas kommer den att dumpa den till följande HEX -format.

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

ID: t representerar vanligtvis en nod i ditt fordon.

Låt oss ta ett enkelt exempel. (Nedanstående är påhittat och inte riktigt, bara ett exempel)

Luftkonditioneringsnod 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å om vi slår på Aircon och ställer in den på medium kommer meddelandet att se ut så här: 0x402, 13, 8C

samma sak för andra noder, exempel CentrallåsCentrallås ID = 0x503LÅS alla dörrar = 14

Så om du trycker på knappen för att låsa alla dörrar kommer meddelandet att se ut så här

0x502, 14

Några extra anteckningar.

Vissa meddelanden är statligt drivna och vissa eller tillfälligt.

Exempel 1. Strålkastare som statligt drivna. När du ställer in en omkopplare i fordonet till en specifik position fortsätter noden att sända meddelandet om och om igen. Om du var tvungen att störa CAN-BUS skicka ett meddelande om att släcka strålkastarna. Den kommer att släckas kort och sedan igen eftersom noden där omkopplaren är inställd för att tända strålkastarna kommer att skicka ett meddelande igen för att slå på den.

Exempel 2. Hoppar över spår på din radiohuvudenhet. när du trycker på en knapp och dess en tillfällig knapp som kommer att göra och omedelbart bryta kretsen när du lämnar den, kommer det att skicka ett meddelande för att hoppa över spåret och aldrig igen förrän du frågar trycker du på knappen igen.

Vanligtvis är tillfälliga knappar de mest användbara eftersom du kan styra funktioner i ditt fordon genom att skicka ett enda kommando utan att behöva oroa dig för att ditt kommando kommer att skrivas över. Där som statsdrivna funktioner kommer att skrivas över på obestämd tid.

Några tips och idéer

När du ser att du nu kan dumpa data kan du använda den för att bygga dina egna Arduino-kretsar som kommer att reagera baserat på meddelandena på CAN-BUS. för ett exempel. Säg att du installerar efter marknads spotlights. Utan att behöva gräva i dina befintliga ledningar kan du installera dina strålkastare oberoende och bara tända dem när din Arduino upptäcker ett meddelande på CAN-BUS.

Skickar data till CAN-BUS

Om du följde instruktionen i början av denna instruerbara har du installerat SEEEDStudio -biblioteken. I Arduino IDE finns det några exempel du kan prova.

Att känna till ID och CAN0-BUS-meddelandet för noden som du vill interagera med.

Tyvärr är detta inte en lätt uppgift. Men här är en idé. Använd Puttys loggningsfunktion och dumpa alla sessionsdata till filen. Låt Arduino övervaka burken i cirka 5 minuter och spara sedan loggen ur vägen.

Starta sedan en ny session och börja dumpa data. Men den här gången, medan dess dumpning, trycker du på en knapp. Tryck inte på mer än en knapp. Tryck på knappen ett par gånger för att garantera att den fångade knapptryckningen.

Använd sedan ett slags jämförelseverktyg och jämför filen för att upptäcka skillnaderna. Excel fungerar utmärkt för detta.

Några koder du kan prova

Om du har samma Jeep 2010 Rubicon -modell som jag (jag är säker på att nedanstående också fungerar för modellerna '07, '08', 09)

Du kan prova följande meddelanden. Ladda skicka exemplen från Arduino -exempelmenyn och ändra var relevant.

Koppla in bakre skåp: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);

Vänster blinkare På: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);

Höger blinkare på: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);

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

I min nästa instruerbara skicka jag några data till min Jeeps CAN-BUS för att visa hur du kan störa den.

Lycka till!

Steg 5: Titta på videon

Se videon för mer CAN-BUS godhet!

Rekommenderad: