Tartalomjegyzék:
- 1. lépés: Hardver beállítása és csatlakoztatása
- Lépés: Telepítse a szoftvert az Arduino -ra
- 3. lépés: Csatlakoztassa és indítsa el az adatok lekérését
- 4. lépés: Az adatok és mit jelent ez
- 5. lépés: Nézze meg a videót
Videó: Látta a Studio CAN -BUS V2.0 Hackelést - Az első lépések: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Ez az útmutató azoknak a kezdőknek szól, akik már ismerik Arduino környékét. A kezdeti tudás, hogyan kell elindulni, mindig fájdalmas és időigényes minden projektben. De amíg nem ismeri az utat, szinte mindig azt kívánja, bárcsak lenne valaki, aki megmutatja az alapokat.
Ebben az utasításban visszaadunk néhány CAN-BUS adatot a járműből.
És ne aggódj! Rögtön a lényegre térek, anélkül, hogy bolyongnék és buzz szavakat használnék, hogy okos hackernek tűnjek:-)
Én személy szerint ajánlom a Seeed Studio CAN-BUS pajzsát. Nem igazán tudok beszélni a többi márka nevéről, de a SeeedStudio CAN-BUS Shieldje nagyon jól szolgált nekem.
Fontos megjegyzés: A can-bus pajzs kötelező. Azért tettem ezt a megjegyzést, mert gyakran az emberek megkérdezik, hogy kell-e CAN-BUS pajzsot használni. A pajzs rendelkezik MCP2515 (CAN vezérlő) és MCP2551 (adó-vevő) készülékekkel, amelyek feldolgozzák a CAN-BUS adatokat az Arduino soros portjára.
A szükséges hardver.1. Arduino UNO - Bármilyen arduino kompatibilitás elegendő. Ezt használtam
2. SeeedStudio CAN-BUS Shield. Közvetlenül a SeeedStudiótól kaptam, itt a link
3. Néhány vezeték a CAN-BUS-hoz
4. egy jármű, ahonnan adatokat kérhet le
A szükséges szoftver 1. Arduino IDE, Duh! Magától értetődően:-)
2. SeeedStudio CAN-BUS könyvtár. Letölthető a GIT Hubból
Néhány extra fontos információ, ha szeretne többet olvasni a SeeedStudio CAN-BUS pajzsáról.
Lássunk neki!
1. lépés: Hardver beállítása és csatlakoztatása
Kezdjük a legnehezebb résszel. Találnunk kell egy helyet a járművében, ahol beléphetünk a CAN-BUS-ba. Itt nem sokat tehetek érted, ezt magadnak kell kitalálnod. Esetemben a rádión keresztül csaptam be a CAN-BUS-ba. Igen! a rádió. A beépített autórádióval rendelkező járművek általában az autó sztereó kijelzőjének megvilágítását állítják be a jármű fényszórójának beállítása alapján, amikor éjszaka vezetnek. Ez általában a beltéri CAN-BUS-on keresztül történik.
Olyan USB -hosszabbító kábelt használtam, amely férfi USB és női USB véggel rendelkezik. Így egyszerűen félbevágtam, majd a női oldalt ráforrasztottam a rádió csatlakozójára. Érdemes férfi dugót vásárolni a rádiótípushoz, így nem kell bekötnie a jármű vezetékébe, és érvénytelenítenie kell a garanciát, vagy potenciálisan tűzveszélyt okozhat.
És akkor a férfi rész, amelyet a képen látható módon csatlakoztattam a SeeedStudio CAN-BUS pajzsához. Így szükség esetén tudok csatlakozni/bontani.
Tipp: CAN-H esetén piros, CAN-L esetén feketét használjon
Lépés: Telepítse a szoftvert az Arduino -ra
Töltse le a SeeedStudio könyvtárat a SeeedStudio CAN-BUS wikiből.
github.com/Seeed-Studio/CAN_BUS_Shield
Telepítse a könyvtárat a képeken látható módon.
Az Arduino IDE -ből válassza a Sketch Include Library -.zip Library hozzáadása lehetőséget.
A könyvtár hozzáadása után zárja be az Arduino IDE -t, és nyissa meg újra. Most néhány példát betölthet a Fájl menü Fájlpéldák CAN-BUS pajzs fogadása ellenőrzéséből
Ehhez az oktatóanyaghoz töltse be a fogadásellenőrzési példát.
Fontos!
Az alábbiak némi próbát és hibát igényelnek.
A Jeep JK 2010 Rubiconomat használtam az adatok lekérésére, és a belső busz 125Kbs sebességgel fut.
A beállítás részben, ahol olvasható
míg (CAN_OK! = CAN.begin (CAN_500KBPS)) módosítanom kellett
while (CAN_OK! = CAN.begin (CAN_125KBPS))
Ha ezt félreérti, akkor nem tudja leolvasni az olvasható adatokat. Az esetek többségében, beleértve az enyémet is, a gépjármű szokatlan lesz. Vagyis a fürt karácsonyfaként világít, és az ablaktörlők mozogni kezdenek. mert a kanna buszpajzs tönkreteszi a buszt.
3. lépés: Csatlakoztassa és indítsa el az adatok lekérését
Mielőtt csatlakoztatná a gépkocsijához, ellenőrizze a józan állapotát. Az utolsó dolog, amit tenni szeretne, az, hogy áramot küld a CAN-BUS-nak, amely potenciálisan felrobbantja a jármű ECU-ját.
Nem csináltam józanság -ellenőrzést, és csak miután rájöttem, hogy nem kapok adatokat, láttam, hogy közvetlenül a laptop USB -jét csatlakoztattam az Arduino USB -tápellátásához. Szerencsére nem történt semmi.
Ennek a lépésnek a képein a Linux Mint -mal töltött Lenovo laptopomat használtam. Nem durva módon bármilyen operációs rendszert használhat az Arduino soros portjához való csatlakozáshoz, 1. Állítsa be a laptopot a járműben, és kapcsolja be az Arduino CAN-BUS pajzsot egy USB-kábellel.
2. Indítsa el a Putty-t vagy az Arduino soros monitort (én jobban szeretem a Putty-t). Ha csatlakoztatva van, a soros konzolon üzenetet kell látnia, miszerint sikerült inicializálnia a Can-Bus pajzsot.
3. Kapcsolja be a járművet. Nem kell elindítani, amíg a kulcs bekapcsolt helyzetben van.
4. Csatlakoztassa az Arduino-t a CAN-BUS-hoz. A csatlakoztatás pillanatában az adatok elkezdenek streamelni a konzolba.
4. lépés: Az adatok és mit jelent ez
Az adatok lekérésekor a következő HEX formátumba kerülnek.
ID, BIT1, BIT2, BIT3, BIT4, BIT5, BIT6, BIT7, BIT8
Az azonosító általában egy csomópontot jelent a járműben.
Tegyünk egy egyszerű példát. (Az alábbiakban kitalált és nem valós, csak egy példa)
Légkondicionáló csomópont azonosító = 0x402TURN AIRCON OFF = 13TURN LÉGKAPCSOLÁS = 14 BEÁLLÍTOTT LÉGFÚVÓ ALACSONYRA = 7C BEÁLLÍTÁS A LÉGKÖNYV FÚVÓ KÖZEPES 8C BEÁLLÍTÁSA LÉGVÍZFÚVÓ MAGAS 9C
Tehát ha bekapcsoljuk a légkondicionálót és közepesre állítjuk, az üzenet így fog kinézni: 0x402, 13, 8C
ugyanez vonatkozik más csomópontokra is, például Központi Zárás
Tehát ha megnyomja a gombot az összes ajtó zárásához, az üzenet így fog kinézni
0x502, 14
Néhány extra megjegyzés.
Néhány üzenet állapotvezérelt, néhány pedig pillanatnyi.
1. példa. A fényszórók állapotvezérelt állapotban. Amikor egy kapcsolót a járműben meghatározott helyzetbe állít, a csomópont folyamatosan továbbítja az üzenetet. Ha zavarnia kellett a CAN-BUS rendszerben, küldjön üzenetet a fényszórók kikapcsolására. Röviden kikapcsol, majd újra bekapcsol, mert az a csomópont, ahol a kapcsoló be van kapcsolva a fényszórók bekapcsolására, ismét üzenetet küld a bekapcsolásról.
Példa2. Számok kihagyása a rádiófejes egységen. amikor megnyom egy gombot és egy pillanatnyi gombot, amely azonnal megszakítja az áramkört, amikor elhagyja, akkor egy üzenetet küld a szám kihagyására, és soha többé, amíg meg nem kéri, hogy ismét megnyomja a gombot.
Általában a pillanatnyi gombok a leghasznosabbak, mert a jármű funkcióit egyetlen parancs elküldésével vezérelheti anélkül, hogy attól kellene tartania, hogy a parancs felülírásra kerül. Ahol állapotvezérelt szolgáltatások korlátlan ideig felülíródnak.
Néhány tipp és ötlet
Látva, hogy most már ki tudja dobni az adatokat, felhasználhatja saját Arduino áramkörök létrehozásához, amelyek az üzenetek alapján reagálnak, a CAN-BUS-on látható. egy példára. Tegyük fel, hogy a piaci spotlámpák után telepíti. Anélkül, hogy bele kellene ásnia magát a meglévő vezetékekbe, függetlenül telepítheti a fényszórókat, és csak akkor kapcsolhatja be őket, ha az Arduino üzenetet észlel a CAN-BUS-on.
Adatok küldése a CAN-BUS-ba
Ha követte az utasítás elején leírt utasításokat, telepítette a SEEEDStudio könyvtárakat. Az Arduino IDE -ben van néhány példa, amelyet kipróbálhat.
Annak a csomópontnak az azonosítója és CAN0-BUS üzenete, amellyel kapcsolatba kíván lépni.
Sajnos ez nem túl könnyű feladat. De itt van egy ötlet. Használja a Putty naplózási funkcióját, és dobja az összes munkamenetadatot fájlba. Hagyja, hogy az Arduino figyelje a konzervdobozt körülbelül 5 percig, majd mentse el a naplót.
Ezután indítson új munkamenetet, és kezdje el az adatok kirakását. De ezúttal az adatok lerakása közben nyomja meg a gombot. Ne nyomjon meg egynél több gombot. Nyomja meg néhányszor a gombot, hogy garantálja, hogy rögzítette a gombnyomást.
Ezután használjon valamilyen összehasonlító eszközt, és hasonlítsa össze a fájlt, hogy észrevegye a különbségeket. Erre kiválóan működik az Excel.
Néhány kódot kipróbálhat
Ha ugyanaz a Jeep 2010 Rubicon modellje van, mint nekem (biztos vagyok benne, hogy az alábbiak a '07, '08', 09 modelleknél is működnek)
Kipróbálhatja az alábbi üzeneteket. Töltse be a küldési példákat az Arduino példák menüből, és a módosítás releváns volt.
Hátsó retesz bekapcsolása: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);
Bal villogó be: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);
Jobb villogó be: CAN.sendMsgBuf (0x2A8, 0, 6, stmp);
ESP be/ki: CAN.sendMsgBuf (0x2B0, 0, 4, stmp);
A következő utasításomban néhány adatot küldök a Jeep CAN-BUS-jára, hogy bemutassam, hogyan lehet zavarni.
Sok szerencsét!
5. lépés: Nézze meg a videót
Nézze meg a videót a CAN-BUS további jóságairól!
Ajánlott:
Első lépések a nagy hatótávolságú vezeték nélküli hőmérséklet- és rezgésérzékelőkkel: 7 lépés
Első lépések a nagy hatótávolságú vezeték nélküli hőmérséklet- és rezgésérzékelőkkel: Néha a vibráció komoly problémák oka lehet sok alkalmazásban. A géptengelyektől és csapágyaktól a merevlemez teljesítményéig a rezgés a gép károsodását, korai cseréjét, gyenge teljesítményét okozza, és nagy hatást gyakorol a pontosságra. Figyelés
Az első lépések a WeMos ESP8266 segítségével: 6 lépés
Kezdő lépések a WeMos ESP8266 -tal: Ebben az utasításban a villogó LED -es példát futtatjuk a WeMos ESP8266 -on
Első lépések a Ham rádióval: 5 lépés (képekkel)
Kezdő lépések a Ham rádióval: Nemrégiben vert sonka -engedélyesként szeretném végigvinni azt a folyamatot, amelyet a sonka -rádió használatához vettem. Engem elcsábított a hobbi önellátási aspektusa, módot adva az embereknek a kommunikációra, amikor más módszerek megszakadnak. De az is kifizetődő, ha
Első lépések az I2C érzékelő interfésszel ?? - Az MMA8451 interfésze ESP32 -k használatával: 8 lépés
Első lépések az I2C érzékelő interfésszel ?? - Az MMA8451 interfésze ESP32 -k használatával: Ebben az oktatóanyagban mindent megtudhat arról, hogyan kell elindítani, csatlakoztatni és beszerezni az I2C eszközt (gyorsulásmérő) a vezérlővel (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Első lépések az FPV Drone Racingben: 11 lépés
Az FPV Drone Racing első lépései: Az FPV Drone Racingnek sokféle típusa van. Van beltéri, azaz Tiny Whoop verseny, amely 50 gramm alatti, 50 mm -nél nem nagyobb rekeszeket használó quadokat használ, csatornákkal rendelkezik, és szinte mindig beltéri 1 -es sebességgel futnak. Aztán ott van a nagyobb osztály, amely