Obsah:
- Krok 1: Nastavení a připojení hardwaru
- Krok 2: Nainstalujte software na Arduino
- Krok 3: Připojte jej a začněte načítat data
- Krok 4: Data a co to všechno znamená
- Krok 5: Podívejte se na video
Video: Seeed Studio CAN -BUS V2.0 Hacking - Začínáme: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
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
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
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
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á
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:
Kytarový zesilovač Pringles Can: 7 kroků
Pringles Can Guitar Amp: Někdy chci chytit elektrickou kytaru, abych zahrál pár riffů, aniž bych musel nastavovat svůj běžný zesilovač. Chtěl jsem tedy vytvořit levný, snadno sestavitelný a velmi jednoduchý kytarový zesilovač: The Pringles Can Amp
Hacking EXtreme Burner pro programování zařízení AVR Atmega: 7 kroků
Hacking EXtreme Burner pro programování zařízení AVR Atmega: Toto je můj první instruktáž na tomto webu! Všichni vy, dobří lidé, jste na tomto webu zveřejnili spoustu věcí, mnoho bizarních a podivných nápadů a zájmů! Mnoho z nich jsem čas od času přečetl a vy jste mě inspirovali, abych komunitě vrátil! Alth
Hacking LG Ducted Split pro domácí automatizaci: 8 kroků (s obrázky)
Hacking LG Ducted Split pro domácí automatizaci: Za prvé - toto není další hack emulace infračerveného dálkového ovládání. Můj konkrétní AC nemá žádné použitelné rozhraní určené pro jakýkoli jiný způsob ovládání než přiložené nástěnné inteligentní ovladače. V mém systému je reverzní split systém LG Ducted
Hacking Strobe Blacklight pro ustálené a externí ovládání: 5 kroků (s obrázky)
Hacking a Strobe Blacklight for Steady-On and External Control: Každý rok velké boxy obchody prodávají strobo blacklights vyrobené s UV LED. Na straně je knoflík, který ovládá rychlost stroboskopu. Jsou zábavné a levné, ale chybí jim nepřetržitý režim. A co víc, bylo by hezké ovládat světlo ext
Hacking TV tuner ke čtení fotografií Země ze satelitů: 7 kroků (s obrázky)
Hacking TV Tuner ke čtení fotografií Země ze satelitů: Nad našimi hlavami je spousta satelitů. Věděli jste, že přenosy z nich můžete přijímat pouze pomocí počítače, TV tuneru a jednoduché antény pro kutily? Například obrázky Země v reálném čase. Ukážu vám jak. Budete potřebovat:- 2 w