Obsah:

Hacking Seeed Studio CAN -BUS V2.0 - Začíname: 5 krokov
Hacking Seeed Studio CAN -BUS V2.0 - Začíname: 5 krokov

Video: Hacking Seeed Studio CAN -BUS V2.0 - Začíname: 5 krokov

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

Tento návod je určený pre začiatočníkov, ktorí sa už v Arduine vyznajú. Počiatočné vedieť, ako začať, je pri každom projekte vždy bolesťou a časom. Ale kým sa nebudete orientovať, takmer vždy si budete priať, aby vám niekto ukázal základy.

V tomto návode vrátime niektoré údaje CAN-BUS z vášho vozidla.

A nebojte sa! Dostanem sa k veci bez toho, aby som sa motal a používal hlášky, aby som znel ako šikovný hacker:-)

Osobne odporúčam štíty Seeed Studio CAN-BUS. Nemôžem hovoriť za žiadnu z iných značiek, ale CAN-BUS Shield od SeeedStudio mi veľmi dobre slúžil.

Dôležitá poznámka: Štít zbernice CAN je povinný. Urobil som to, pretože sa ľudia často pýtajú, či musíte použiť CAN-BUS štít. Štít má MCP2515 (CAN radič) a MCP2551 (transceiver), ktoré budú spracovávať údaje CAN-BUS na sériový port vášho Arduina.

Požadovaný hardvér. Arduino UNO - Postačí akékoľvek arduino kompatibilné. Použil som tento

2. SeeedStudio CAN-BUS štít. Mám to priamo z SeeedStudio, tu je odkaz

3. Niektoré vodiče zapojte do zbernice CAN-BUS

4. vozidlo, z ktorého môžete získať údaje

Požadovaný softvér 1. Arduino IDE, Duh! Očividne:-)

2. Knižnica SeeedStudio CAN-BUS. Stiahnuteľné z GIT Hub

Niekoľko ďalších životne dôležitých informácií, ak máte chuť prečítať si viac o štíte SeeedStudio CAN-BUS.

Začnime!

Krok 1: Nastavenie a pripojenie hardvéru

Image
Image
Hardvérové nastavenie a pripojenie
Hardvérové nastavenie a pripojenie
Hardvérové nastavenie a pripojenie
Hardvérové nastavenie a pripojenie
Hardvérové nastavenie a pripojenie
Hardvérové nastavenie a pripojenie

Začnime tou najťažšou časťou. Musíme vo vašom vozidle nájsť miesto, kde sa môžeme napojiť na CAN-BUS. Tu pre teba nemôžem veľa urobiť, na to musíš prísť sám. V mojom prípade som sa napojil na CAN-BUS prostredníctvom rádia. Áno! rádio. Vozidlá s integrovaným autorádiom zvyčajne nastavujú osvetlenie autorádia na základe nastavenia svetlometov vozidla pri jazde v noci. Obvykle sa to robí prostredníctvom vnútorného CAN-BUS.

Použil som predlžovací kábel USB, ktorý má koncovku USB samec a samica USB. Jednoducho som to skrátil na polovicu a potom som spájkoval ženskú stranu na konektor rádia. Možno budete chcieť kúpiť zásuvkový konektor pre svoj typ rádia, aby ste sa nemuseli spájať s káblami vášho vozidla a rušiť záruku alebo potenciálne spôsobiť nebezpečenstvo požiaru.

A potom som mužskú časť pripojil k štítu SeeedStudio CAN-BUS, ako je znázornené na obrázku. Týmto spôsobom sa môžem v prípade potreby pripojiť/odpojiť.

Tip: Na CAN-H použite červený vodič a na CAN-L čierny

Krok 2: Nainštalujte softvér na Arduino

Nainštalujte softvér na Arduino
Nainštalujte softvér na Arduino
Nainštalujte softvér na Arduino
Nainštalujte softvér na Arduino
Nainštalujte softvér na Arduino
Nainštalujte softvér na Arduino

Stiahnite si knižnicu SeeedStudio z wiki stránky SeeedStudio CAN-BUS.

github.com/Seeed-Studio/CAN_BUS_Shield

Nainštalujte knižnicu tak, ako je to znázornené na obrázkoch.

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

Po pridaní knižnice zatvorte IDE Arduino a znova ho otvorte. Teraz budete môcť načítať niektoré príklady z ponuky Súbor Ponuka Príklady Súbor CAN-BUS štít Prijať kontrolu

V tomto tutoriále si načítajte príklad kontroly príjmu.

Dôležité!

Nasledujúce kroky budú vyžadovať pokus a omyl.

Na získanie údajov som použil svoj Jeep JK 2010 Rubicon a jeho vnútorná zbernica jazdí na 125 kB.

V sekcii nastavenia, kde sa to číta

zatiaľ čo (CAN_OK! = CAN.begin (CAN_500KBPS)) som to musel zmeniť na

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

Ak to zle pochopíte, nebudete môcť načítať čitateľné údaje. Vo väčšine prípadov, vrátane môjho, pôjde vaše vozidlo do pekla. Klaster sa rozsvieti ako vianočný stromček a stierače sa začnú pohybovať. pretože štít zbernice plechoviek poškodzuje zbernicu.

Krok 3: Pripojte ho a začnite získavať údaje

Pripojte ho a začnite získavať údaje
Pripojte ho a začnite získavať údaje
Pripojte ho a začnite získavať údaje
Pripojte ho a začnite získavať údaje
Pripojte ho a začnite získavať údaje
Pripojte ho a začnite získavať údaje

Pred pripojením vykonajte kontrolu zdravého rozumu a potom ho pripojte k svojmu vozidlu. Posledná vec, ktorú musíte urobiť, je odoslať napájanie do zbernice CAN-BUS, ktorá potenciálne vyhodí ECU vášho vozidla.

Nerobil som kontrolu duševného zdravia a až potom, čo som si uvedomil, že nedostávam údaje, som videl, že som pripojil USB prenosného počítača priamo k napájaniu USB Arduino. Našťastie sa nič nestalo.

Na obrázkoch tohto kroku som použil svoj notebook Lenovo nabitý systémom Linux Mint. Hrubé, na pripojenie k sériovému portu vášho Arduina môžete použiť akýkoľvek operačný systém, 1. Nastavte prenosný počítač vo svojom vozidle a napájajte štít Arduino CAN-BUS káblom USB.

2. Spustite Putty alebo sériový monitor Arduino (uprednostňujem Putty). Keď je pripojený, v sériovej konzole by sa vám mala zobraziť správa, že sa mu podarilo inicializovať štít Can-Bus.

3. Zapnite vozidlo. Nemusí byť spustené, pokiaľ je kľúč v zapnutej polohe.

4. Pripojte Arduino k zbernici CAN-BUS. V okamihu, keď sú pripojené, začnú dáta prúdiť do konzoly.

Krok 4: Údaje a čo to všetko znamená

Údaje a čo to všetko znamená
Údaje a čo to všetko znamená
Údaje a čo to všetko znamená
Údaje a čo to všetko znamená

Keď sa údaje načítajú, uložia sa do pamäte v nasledujúcom formáte HEX.

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

ID zvyčajne predstavuje uzol vo vašom vozidle.

Ukážme si jednoduchý príklad. (Nasledujúce je vymyslené a nie je skutočné, len príklad)

ID uzla klimatizácie = 0x402VYPNÚŤ AIRCÓN VYPNUTÝ = 13ZAPNÚŤ AIRCÓN ZAPNUTÝ = 14 NASTAVIŤ DUCHOVAČ VZDUCHU NA NÍZKU = 7C NASTAVIŤ FUKÁTOR VZDUCHU NA STREDNÝ 8C NASTAVIŤ FUKÁTOR VZDUCHU NA VYSOKÝ 9C

Ak teda zapneme klimatizáciu a nastavíme ju na médium, správa bude vyzerať takto0x402, 13, 8C

to isté platí pre ostatné uzly, príklad Centrálne zamykanieCentrálne zamykanie ID = 0x503ZAMKNÚ všetky dvere = 14

Ak teda stlačením tlačidla zamknete všetky dvere, správa bude vyzerať takto

0x502, 14

Niekoľko poznámok navyše.

Niektoré správy sú riadené stavom a niektoré alebo iba na chvíľu.

Príklad 1. Svetlomety ovládané štátom. Keď vo vozidle nastavíte prepínač do konkrétnej polohy, uzol bude správu vysielať znova a znova. Ak by ste museli zasahovať do zbernice CAN-BUS, pošlite správu, aby ste vypli svetlomety. Krátko sa vypne a potom znova zapne, pretože uzol, v ktorom je spínač nastavený na zapnutie svetlometov, znova odošle správu o jeho zapnutí.

Príklad 2. Preskakovanie skladieb na hlavnej jednotke rádia. keď stlačíte tlačidlo a jeho dočasné tlačidlo, ktoré spôsobí a okamžite preruší obvod, keď ho opustíte, odošle jednu správu, aby preskočila stopu, a nikdy viac, pokiaľ o to znova nepožiadate.

Momentálne tlačidlá sú väčšinou najužitočnejšie, pretože funkcie vo svojom vozidle môžete ovládať odoslaním jedného príkazu bez obáv, že by bol váš príkaz prepísaný. Kde budú funkcie riadené štátom neobmedzene prepisované.

Niekoľko tipov a nápadov

Vidieť, že teraz môžete ukladať údaje, ktoré môžete použiť na stavbu vlastných obvodov Arduino, ktoré budú reagovať na základe správ, je uvedené na zbernici CAN-BUS. napríklad. Povedzme, že inštalujete bodové svetlá po uvedení na trh. Bez toho, aby ste sa museli vŕtať v existujúcom zapojení, môžete svetlomety nainštalovať nezávisle a zapnúť ich iba vtedy, keď váš Arduino zistí správu na zbernici CAN-BUS.

Odosielanie údajov do zbernice CAN-BUS

Ak ste postupovali podľa pokynov na začiatku tohto návodu, nainštalovali ste knižnice SEEEDStudio. V Arduino IDE existuje niekoľko príkladov, ktoré môžete vyskúšať.

Poznať ID a správu CAN0-BUS uzla, s ktorým chcete interagovať.

Bohužiaľ to nie je veľmi jednoduchá úloha. Ale tu je nápad. Použite funkciu protokolovania Putty a uložte všetky údaje relácie do súboru. Nechajte Arduino monitorovať zbernicu plechoviek asi 5 minút a potom odhláste cestu.

Potom spustite novú reláciu a začnite ukladať údaje. Ale tentoraz pri vypúšťaní údajov stlačte tlačidlo. Nestláčajte viac ako jedno tlačidlo. Niekoľkokrát stlačte tlačidlo, aby ste sa presvedčili, že zachytilo stlačenie tlačidla.

Potom použite nejaký nástroj na porovnanie a porovnajte súbor, aby ste zistili rozdiely. Na to výborne funguje Excel.

Niektoré kódy môžete vyskúšať

Ak máte rovnaký model Jeep 2010 Rubicon ako ja (som si istý, že nižšie uvedené bude fungovať aj pre modely '07, '08', 09)

Môžete vyskúšať nasledujúce správy. Načítajte príklady odoslania z ponuky príkladov Arduino a zmeny boli relevantné.

Zapnite zadnú skrinku.: CAN.sendMsgBuf (0x2B0, 0, 4, zn.);

Ľavý blikač zapnutý: CAN.sendMsgBuf (0x2A8, 0, 6, zn.);

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

Zapnutie/vypnutie ESP: CAN.sendMsgBuf (0x2B0, 0, 4, zn.);

Vo svojom ďalšom pokyne pošlem niekoľko údajov na CAN-BUS môjho Jeepu, aby som ukázal, ako do neho môžete zasahovať.

Veľa štastia!

Krok 5: Pozrite si video

Pozrite sa na video, kde nájdete ďalšie dobroty CAN-BUS!

Odporúča: