Obsah:
- Krok 1: Nastavenie a pripojenie hardvéru
- Krok 2: Nainštalujte softvér na Arduino
- Krok 3: Pripojte ho a začnite získavať údaje
- Krok 4: Údaje a čo to všetko znamená
- Krok 5: Pozrite si video
Video: Hacking Seeed Studio CAN -BUS V2.0 - Začíname: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
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
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
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
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á
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:
Hacking IKEA Växer: 12 krokov (s obrázkami)
Hacking IKEA Växer: Toto je rýchly víkendový projekt na automatizáciu osvetlenia vnútorného kultivátora IKEA Växer (+ Krydda) a jeho integrácia do Home Assistant pomocou mikrokontroléra a ESPHome. To predpokladá, že ste s Asistentom domova už v prevádzke
Hacking EXtreme Burner pre programovanie zariadení AVR Atmega: 7 krokov
Hacking extrémnej napaľovačky pre programovanie zariadení AVR Atmega: Toto je môj prvý pokyn na tejto stránke! Všetci vy, dobrí ľudia, ste na tomto webe zverejnili veľa vecí, veľa bizarných a podivných myšlienok a záujmov! Mnohé z nich som z času na čas prečítal a inšpirovali ste ma, aby som ich vrátil komunite! Alth
Hacking LG Ducted Split pre domácu automatizáciu: 8 krokov (s obrázkami)
Hacking LG Ducted Split pre domácu automatizáciu: V prvom rade - toto nie je ďalší hack emulácie infračerveného diaľkového ovládania. Môj konkrétny AC nemá žiadne použiteľné rozhranie navrhnuté pre akýkoľvek iný druh ovládania, ako sú pribalené nástenné inteligentné ovládače. V mojom
DIY hacking vášho vlastného systému automatizácie domácnosti: 7 krokov (s obrázkami)
DIY hacking your own home Automation System: Domáci automatizačný systém by mal byť schopný zapnúť/vypnúť spotrebiče, ako sú svetlá, ventilátory, zábavné systémy atď. Systém, ktorý je bezdrôtový, ale nezávislý na internete, ale čo je najdôležitejšie, urobte si sám a otvorený -zdroj, pretože chcem porozumieť
Hacking TV tunera na čítanie fotografií Zeme zo satelitov: 7 krokov (s obrázkami)
Hacking TV tuner na čítanie fotografií Zeme zo satelitov: Nad našimi hlavami je veľa satelitov. Vedeli ste, že prenosy z nich môžete prijímať iba pomocou počítača, televízneho tunera a jednoduchej antény pre domácich majstrov? Napríklad obrázky Zeme v reálnom čase. Ukážem vám, ako na to. Budete potrebovať:- 2 w