Obsah:

Seeed Studio CAN -BUS V2.0 Hacking - Začínáme: 5 kroků
Seeed Studio CAN -BUS V2.0 Hacking - Začínáme: 5 kroků

Video: Seeed Studio CAN -BUS V2.0 Hacking - Začínáme: 5 kroků

Video: Seeed Studio CAN -BUS V2.0 Hacking - Začínáme: 5 kroků
Video: Zmlátil Jsem STEJKA! 2024, Červenec
Anonim
Seeed Studio CAN -BUS V2.0 Hacking - Začínáme
Seeed Studio CAN -BUS V2.0 Hacking - Začínáme
Seeed Studio CAN -BUS V2.0 Hacking - Začínáme
Seeed Studio CAN -BUS V2.0 Hacking - Začínáme
Seeed Studio CAN -BUS V2.0 Hacking - Začínáme
Seeed Studio CAN -BUS V2.0 Hacking - Začínáme
Seeed Studio CAN -BUS V2.0 Hacking - Začínáme
Seeed Studio CAN -BUS V2.0 Hacking - Začínáme

Tento návod je určen pro začátečníky, kteří se již v Arduinu vyznají. Počáteční znalost toho, jak začít, je v každém projektu vždy bolestivá a časově náročná. Ale dokud neznáte svou cestu kolem sebe, téměř vždy si přejete, aby vám někdo ukázal základy.

V tomto pokynu vrátíme některá data CAN-BUS z vašeho vozidla.

A nebojte se! Dostanu se přímo k věci, aniž bych bloudil a používal hlášky, abych zněl jako chytrý hacker:-)

Osobně doporučuji štíty Seeed Studio CAN-BUS. Nemohu mluvit za žádnou z ostatních značek, ale CAN-BUS Shield od SeeedStudio mi velmi dobře posloužil.

Důležitá poznámka: Štít sběrnice CAN je povinný. Tuto poznámku jsem udělal, protože se lidé často ptají, zda musíte použít CAN-BUS štít. Štít má MCP2515 (CAN Controller) a MCP2551 (Transceiver), které budou zpracovávat data CAN-BUS na sériový port vašeho Arduina.

Požadovaný hardware. Arduino UNO - Postačí jakékoli arduino kompatibilní. Použil jsem tento

2. SeeedStudio CAN-BUS štít. Mám to přímo z SeeedStudio, zde je odkaz

3. Některé vodiče zapojte do sběrnice CAN-BUS

4. vozidlo, ze kterého můžete získávat data

Požadovaný software 1. Arduino IDE, Duh! Očividně:-)

2. Knihovna SeeedStudio CAN-BUS. Stahovatelné z GIT Hub

Další důležité informace, pokud máte chuť přečíst si více o štítu SeeedStudio CAN-BUS.

Začněme!

Krok 1: Nastavení a připojení hardwaru

Image
Image
Nastavení hardwaru a připojení
Nastavení hardwaru a připojení
Nastavení hardwaru a připojení
Nastavení hardwaru a připojení
Nastavení hardwaru a připojení
Nastavení hardwaru a připojení

Začněme tou nejtěžší částí. Musíme ve vašem vozidle najít místo, kde se můžeme napojit na CAN-BUS. Tady pro tebe moc nemohu udělat, na to musíš přijít sám. V mém případě jsem se napojil na CAN-BUS přes rádio. Ano! rádio. Vozidla s integrovaným autorádiem obvykle nastavují osvětlení autorádia na základě nastavení světlometů vozidla při jízdě v noci. To se obvykle provádí přes vnitřní CAN-BUS.

Použil jsem prodlužovací kabel USB, který má konec USB samec a samice USB. Takže jsem to zkrátil na polovinu a poté připájel ženskou stranu na konektor rádia. Možná budete chtít koupit samčí konektor pro váš typ rádia, takže se nebudete muset spojovat s kabeláží vašeho vozidla a rušit záruku nebo potenciálně způsobit požár.

A pak mužská část, kterou jsem připojil ke štítu SeeedStudio CAN-BUS, jak je znázorněno na obrázku. Tímto způsobem se mohu v případě potřeby připojit/odpojit.

Tip: Pro CAN-H použijte červený vodič a pro CAN-L černý

Krok 2: Nainstalujte software na Arduino

Nainstalujte software na Arduino
Nainstalujte software na Arduino
Nainstalujte software na Arduino
Nainstalujte software na Arduino
Nainstalujte software na Arduino
Nainstalujte software na Arduino

Stáhněte si knihovnu SeeedStudio z wiki stránky SeeedStudio CAN-BUS.

github.com/Seeed-Studio/CAN_BUS_Shield

Nainstalujte knihovnu, jak je znázorněno na obrázcích.

V Arduino IDE vyberte Sketch Include Library - Add.zip Library.

Po přidání knihovny zavřete IDE Arduino a znovu jej otevřete. Nyní budete moci načíst některé příklady z nabídky Soubor Příklady Soubor CAN-BUS štít Přijmout kontrolu

V tomto kurzu načtěte příklad kontroly příjmu.

Důležité!

Následující bude vyžadovat pokus a omyl.

K načtení dat jsem použil svůj Jeep JK 2010 Rubicon a jeho vnitřní sběrnice jezdí rychlostí 125 kB.

V sekci nastavení, kde se čte

zatímco (CAN_OK! = CAN.begin (CAN_500KBPS)) jsem to musel změnit na

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

Pokud to pochopíte špatně, nebudete moci načíst čitelná data. Ve většině případů, včetně mého, se vaše vozidlo dostane do blázince. Tedy shluk se rozsvítí jako vánoční stromeček a stěrače se začnou pohybovat. protože štít sběrnice plechovek poškozuje sběrnici.

Krok 3: Připojte jej a začněte načítat data

Připojte jej a začněte načítat data
Připojte jej a začněte načítat data
Připojte jej a začněte načítat data
Připojte jej a začněte načítat data
Připojte jej a začněte načítat data
Připojte jej a začněte načítat data

Než se připojíte, proveďte kontrolu zdravého rozumu, než jej připojíte k vozidlu. Poslední věc, kterou chcete udělat, je odeslat energii do sběrnice CAN-BUS, která potenciálně vyhodí ECU vašeho vozidla.

Neudělal jsem kontrolu duševního zdraví a teprve poté, co jsem si uvědomil, že nedostávám data, jsem viděl, že jsem připojil USB notebooku přímo k USB napájení Arduina. Naštěstí se nic nestalo.

Na obrázcích tohoto kroku jsem použil svůj notebook Lenovo nabitý Linux Mint. Off-coarse můžete použít jakýkoli operační systém pro připojení k sériovému portu vašeho Arduina, 1. Nastavte notebook ve svém vozidle a pomocí kabelu USB zapněte štít Arduino CAN-BUS.

2. Spusťte Putty nebo sériový monitor Arduino (dávám přednost Putty). Když je připojen, měla by se vám na sériové konzole zobrazit zpráva, že se jí podařilo inicializovat štít Can-Bus.

3. Zapněte vozidlo. Nemusí být spuštěno, pokud je klíč v poloze zapnuto.

4. Připojte Arduino ke sběrnici CAN-BUS. V okamžiku, kdy je připojeno, se data začnou streamovat do konzoly.

Krok 4: Data a co to všechno znamená

Data a co to všechno znamená
Data a co to všechno znamená
Data a co to všechno znamená
Data a co to všechno znamená

Když jsou data načtena, uloží se do následujícího HEX formátu.

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

ID obvykle představuje uzel ve vašem vozidle.

Ukažme si jednoduchý příklad. (Níže uvedené je vymyšlené a není skutečné, jen příklad)

ID uzlu klimatizace = 0x402ZAPNOUT VZDUCH VYPNUTO = 13ZAPNOUT VZDUCHOVÝ ZAPNUTÍ = 14 NASTAVIT Dmychadlo VZDUCHU NA NÍZKOU = 7C NASTAVIT Dmychadlo VZDUCHU NA STŘEDNÍ 8C Nastavit Dmychadlo VZDUCHU NA VYSOKÉ 9C

Pokud tedy zapneme klimatizaci a nastavíme ji na střední, bude zpráva vypadat takto 0x402, 13, 8C

totéž platí pro ostatní uzly, příklad Centrální zamykáníCentrální zamykání ID = 0x503ZAMČTE všechny dveře = 14

Pokud tedy stisknutím tlačítka zamknete všechny dveře, bude zpráva vypadat takto

0x502, 14

Několik poznámek navíc.

Některé zprávy jsou řízeny stavem a některé nebo dočasně.

Příklad 1. Světlomety jako stavové. Když ve vozidle nastavíte přepínač do určité polohy, uzel bude zprávu vysílat znovu a znovu. Pokud jste museli zasahovat do sběrnice CAN-BUS, odešlete zprávu pro vypnutí předních světel. Krátce se vypne a znovu zapne, protože uzel, kde je spínač nastaven tak, aby zapínal světlomety, znovu odešle zprávu o jeho zapnutí.

Příklad 2. Přeskakování skladeb na hlavní jednotce rádia. když stisknete tlačítko a jeho dočasné tlačítko, které způsobí a okamžitě přeruší obvod, když ho opustíte, odešle jednu zprávu, aby přeskočila stopu, a nikdy znovu, dokud o to znovu nestisknete.

Nejužitečnější jsou obvykle momentální tlačítka, protože funkce ve svém vozidle můžete ovládat odesláním jediného příkazu, aniž byste se museli obávat, že váš příkaz bude přepsán. Kde jako stavem řízené funkce budou přepisovány na neurčito.

Několik tipů a nápadů

Na CAN-BUS je vidět, že nyní můžete ukládat data, která můžete použít k vybudování vlastních obvodů Arduino, které budou reagovat na základě zpráv. pro příklad. Řekněme, že instalujete bodová světla po uvedení na trh. Aniž byste museli kopat do stávajícího zapojení, můžete si své světlomety nainstalovat samostatně a rozsvítit je, až když váš Arduino detekuje zprávu na sběrnici CAN-BUS.

Odesílání dat do sběrnice CAN-BUS

Pokud jste postupovali podle pokynů na začátku tohoto instruktu, nainstalovali jste knihovny SEEEDStudio. V Arduino IDE existuje několik příkladů, které můžete vyzkoušet.

Znalost ID a zprávy CAN0-BUS uzlu, se kterým chcete komunikovat.

Bohužel to není příliš snadný úkol. Ale tady je Idea. Použijte funkci protokolování Putty a uložte všechna data relace do souboru. Nechejte Arduino sledovat sběrnici plechovek asi 5 minut a poté uložte protokol.

Poté spusťte novou relaci a začněte ukládat data. Ale tentokrát při jeho ukládání dat stiskněte tlačítko. Nestiskněte více než jedno tlačítko. Stiskněte tlačítko několikrát, abyste zajistili, že zachytilo stisknutí tlačítka.

Poté použijte nějaký srovnávací nástroj a porovnejte soubor, abyste zjistili rozdíly. Excel na to skvěle funguje.

Některé kódy můžete vyzkoušet

Pokud máte stejný model Jeep 2010 Rubicon jako já (jsem si jistý, že níže uvedené bude fungovat také pro modely '07, '08', 09)

Můžete vyzkoušet následující zprávy. Načtěte příklady odeslání z nabídky příkladů Arduina a změna byla relevantní.

Zapněte zadní skříňku: CAN.sendMsgBuf (0x2B0, 0, 4, zn.);

Levý blinker zapnutý: CAN.sendMsgBuf (0x2A8, 0, 6, zn.);

Pravý blinker zapnutý: CAN.sendMsgBuf (0x2A8, 0, 6, zn.);

Zapnutí/vypnutí ESP: CAN.sendMsgBuf (0x2B0, 0, 4, zn.);

Ve svém dalším pokynu pošlu nějaká data na CAN-BUS svého Jeepu, abych předvedl, jak do něj můžete zasahovat.

Hodně štěstí!

Krok 5: Podívejte se na video

Podívejte se na video, kde najdete další dobroty CAN-BUS!

Doporučuje: