Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Tato dokumentace představuje jednoduchý a nákladově efektivní způsob hackování OBD streamu automobilu. V tomto se snažím ukázat obecný způsob, jak získat informace o OBD.
Zde používám Arduino UNO, CAN-Bus shield (1.2), kabel DB9 pro připojení k portu OBD a pro programování Arduino IDE (což pomáhá snadno vypálit kód na uno).
Začal jsem tento projekt pro vytvoření automatického zámku dveří, když vozidlo dosáhne rychlosti 20 km, a automatické zavírání všech oken, když je auto zamčené zvenčí.
Chcete -li najít data, která jsou produkována z portu OBD, je třeba je před zahájením projektu analyzovat a porozumět jim. (Potřebujete více trpělivosti a průběžné procházení).
Tady příběh začíná. (Zkouším Hyundai Grand i10, Magna, 2019 - značka v Indii, údaje se budou lišit podle výrobců / variant atd.).
Krok 1: Odkazy na nákup hardwaru
- CAN-bus arduino štít-CAN-bus štít
- Arduino UNO - Arduino UNO
- Kabel OBD port na DB9 - kabel DB9
Krok 2: Uspořádejte hardware, IDE a další potřebné věci
Před zahájením projektu musíme zajistit, aby veškerý hardware používaný pro tento projekt zkontroloval a zajistil správnou funkci. Musíme tedy připojit hardware k portu OBD a zajistit, aby z hardwaru nevytvářel kouř nebo zbytečné teplo. Poté musíme vypálit ukázkový kód, abychom zajistili, že hardware bude moci číst datový tok z OBD.
První krok začíná zde, nastavte Arduino IDE v počítači a ujistěte se, že jsou na něm nainstalovány potřebné knihovny. Po připojení arduino uno k počítači jsme vybrali připojený sériový port a typ desky v Arduino IDE.
Ukázkový kód by se měl stáhnout z úložiště git a vypálit kód na Arduino Uno, poté připojíme štít k portu OBD a zahájíme čtení datového proudu.
Úložiště Git -
github.com/JijovarghesePunalur/CarHacks.git
Můžete získat ukázkový kód a knihovnu pro připojení a extrahování datového proudu Can-bus. Po klonování projektu můžete zkopírovat soubory knihovny do složky souborů arduino a spustit proces kompilace a vypalování v arduino IDE.
Před vypálením kódu na Arduino Uno musíte připojit arduino k počítači a poté v Arduino IDE vybrat sériový port a typ desky.
V ukázkové složce vidíte Operace čtení, operace zápisu a soubory Serial-Message, v podstatě obsah vytvořený pomocí běžných souborů knihovny. Serial-Message se liší od programu Read na základě výstupního formátu, to znamená, že v tomto projektu jsem se pokusil použít can-utils v linuxu k třídění opakujících se zpráv.
Používání a provádění can-utils najdete na souboru Readme.md společnosti CarHaks.
Krok 3: Odkaz na video
Toto video vám poskytne přesnou představu o datovém proudu sběrnice CAN (port OBD). Může to být jednoduché, protože jsem zahrnul pouze základní informace.
Krok 4: Udělejte to sami a překvapte
Napište zpět na sběrnici CAN pomocí extrahovaných dat pomocí sériové zprávy, to vás opravdu překvapí. (Program pro psaní najdete v úložišti, zkuste to hned).
Můžete ovládat vše, co je spojeno s ECU / BCM, stačí analyzovat data a poté je zapsat zpět.
Další projekt bude založen na této studii - Ovládání auta pomocí chytrého telefonu.