Spisu treści:
- Krok 1: Konfiguracja sprzętu i połączenie
- Krok 2: Zainstaluj oprogramowanie na Arduino
- Krok 3: Podłącz i zacznij pobierać dane
- Krok 4: Dane i ich znaczenie
- Krok 5: Obejrzyj wideo
Wideo: Seeed Studio CAN-BUS V2.0 Hakowanie - Pierwsze kroki: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Ta instrukcja jest przeznaczona dla początkujących, którzy już znają się na Arduino. Wstępna wiedza, jak zacząć, jest zawsze bolesna i czasochłonna w każdym projekcie. Ale dopóki nie poznasz swojego sposobu poruszania się, prawie zawsze żałuj, że nie masz kogoś, kto pokaże ci podstawy.
W tej instrukcji zwrócimy niektóre dane CAN-BUS z Twojego pojazdu.
I nie martw się! Przejdę od razu do sedna bez gadania i używania modnych słów, żeby zabrzmieć jak sprytny haker:-)
Osobiście polecam nakładki Seeed Studio CAN-BUS. Naprawdę nie mogę mówić za żadną z innych marek, ale CAN-BUS Shield od SeeedStudio bardzo mi służył.
Ważna uwaga: osłona magistrali can-bus jest obowiązkowa. Zrobiłem tę notatkę, ponieważ dość często ludzie pytają, czy musisz użyć osłony CAN-BUS. Tarcza ma MCP2515 (kontroler CAN) i MCP2551 (transceiver), które będą przetwarzać dane CAN-BUS na port szeregowy twojego Arduino.
Wymagany sprzęt.1. Arduino UNO - Wystarczy dowolny kompatybilny z arduino. Użyłem tego
2. Osłona CAN-BUS SeeedStudio. Dostałem go bezpośrednio z SeeedStudio, oto link
3. Niektóre przewody do podłączenia do magistrali CAN
4. Pojazd, z którego można pobrać dane
Wymagane oprogramowanie1. IDE Arduino! Oczywiście:-)
2. Biblioteka SeeedStudio CAN-BUS. Do pobrania z GIT Hub
Kilka dodatkowych ważnych informacji, jeśli chcesz przeczytać więcej o osłonie SeeedStudio CAN-BUS.
Zacznijmy!
Krok 1: Konfiguracja sprzętu i połączenie
Zacznijmy od najtrudniejszej części. Musimy znaleźć miejsce w Twoim pojeździe, gdzie możemy podłączyć się do CAN-BUS. Niewiele mogę tu dla ciebie zrobić, musisz sam to rozgryźć. W moim przypadku podłączyłem się do CAN-BUS przez radio. Tak! radio. Pojazdy ze zintegrowanym samochodowym systemem audio zwykle ustawiają podświetlenie wyświetlacza samochodowego stereo na podstawie ustawienia reflektorów pojazdu podczas jazdy nocą. Odbywa się to zwykle za pośrednictwem wewnętrznej magistrali CAN.
Użyłem przedłużacza USB, który ma męski i żeński koniec USB. Więc po prostu przeciąłem go na pół i przylutowałem stronę żeńską do złącza radia. Możesz kupić męskie złącze żeńskie do swojego typu radia, w ten sposób nie będziesz musiał splatać się z okablowaniem pojazdu i unieważnić gwarancję lub potencjalnie spowodować zagrożenie pożarowe.
A potem męską część podłączyłem do nakładki SeeedStudio CAN-BUS tak jak na zdjęciu. W ten sposób mogę łączyć/rozłączać w razie potrzeby.
Wskazówka: użyj czerwonego przewodu dla CAN-H i czarnego dla CAN-L
Krok 2: Zainstaluj oprogramowanie na Arduino
Pobierz bibliotekę SeeedStudio z wiki SeeedStudio CAN-BUS.
github.com/Seeed-Studio/CAN_BUS_Shield
Zainstaluj bibliotekę jak pokazano na zdjęciach.
Z Arduino IDE wybierz Sketch Include Library - Add.zip Library.
Po dodaniu biblioteki zamknij Arduino IDE i otwórz je ponownie. Będziesz teraz mógł załadować niektóre przykłady z menu Plik Przykłady plików Osłona CAN-BUS Odbierz kontrolkę
W tym samouczku załaduj przykład odbioru.
Ważny!
Poniższe będzie wymagało pewnych prób i błędów.
Użyłem mojego Jeepa JK 2010 Rubicon do pobierania danych, a jego wewnętrzny autobus działa z prędkością 125Kbs.
W sekcji konfiguracji, gdzie czytasz
natomiast (CAN_OK != CAN.begin(CAN_500KBPS)) musiałem to zmienić na
while (CAN_OK != CAN.begin(CAN_125KBPS))
Jeśli się pomylisz, nie będziesz w stanie odzyskać czytelnych danych. W większości przypadków, wliczając w to kopalnię, twój pojazd będzie szalony. Czyli klaster z zapali się jak choinka i wycieraczki zaczną się ruszać. ponieważ osłona magistrali może psuje autobus.
Krok 3: Podłącz i zacznij pobierać dane
Przed podłączeniem należy sprawdzić poprawność kondycji przed podłączeniem go do pojazdu. Ostatnią rzeczą, którą chcesz zrobić, to wysłać zasilanie do magistrali CAN-BUS, potencjalnie powodując wysadzenie ECU pojazdu.
Nie przeprowadziłem kontroli zdrowia i dopiero po tym, jak zdałem sobie sprawę, że nie otrzymuję danych, zauważyłem, że podłączyłem USB laptopa bezpośrednio do zasilania USB Arduino. Na szczęście nic się nie stało.
Na zdjęciach tego kroku użyłem laptopa Lenovo załadowanego Linux Mint. Poza tym możesz użyć dowolnego systemu operacyjnego do połączenia z portem szeregowym Arduino, 1. Skonfiguruj laptopa w pojeździe i zasil ekran Arduino CAN-BUS za pomocą kabla USB.
2. Uruchom Putty lub Arduino Serial Monitor (wolę Putty). Po podłączeniu powinieneś zobaczyć komunikat w konsoli szeregowej z informacją, że udało się zainicjować osłonę Can-Bus.
3. Włącz pojazd. Nie trzeba go uruchamiać, dopóki kluczyk jest w pozycji włączonej.
4. Podłącz Arduino do magistrali CAN. W momencie podłączenia dane zaczną być przesyłane strumieniowo do konsoli.
Krok 4: Dane i ich znaczenie
Po pobraniu danych zrzuci je do następującego formatu HEX.
ID, BIT1, BIT2, BIT3, BIT4, BIT5, BIT6, BIT7, BIT8
Identyfikator zazwyczaj reprezentuje węzeł w twoim pojeździe.
Zróbmy prosty przykład. (Poniższy tekst jest zmyślony, a nie prawdziwy, tylko przykład)
ID węzła klimatyzacji = 0x402 WYŁĄCZ KLIMATYZACJA = 13 WŁĄCZ KLIMATYZACJA = 14 USTAW DMUCHAWĘ KLIMATYZACJI NA NISKĄ = 7 C USTAW DMUCHAW KLIMATYZACJI NA ŚREDNĄ 8 C USTAW DMUCHAW KLIMATYZACJI NA WYSOKIE 9 C
Więc jeśli włączymy klimatyzację i ustawimy ją na medium wiadomość będzie wyglądać tak 0x402, 13, 8C
to samo dotyczy innych węzłów, na przykład Central LockingCentral Locking ID= 0x503LOCK wszystkie drzwi = 14
Więc jeśli naciśniesz przycisk, aby zablokować wszystkie drzwi, wiadomość będzie wyglądać tak
0x502, 14
Kilka dodatkowych uwag.
Niektóre komunikaty są sterowane stanem, a inne chwilowo.
Przykład 1. Reflektory sterowane stanem. Gdy ustawisz przełącznik w pojeździe w określonej pozycji, węzeł będzie nadawał komunikat w kółko. Gdybyś musiał ingerować w CAN-BUS to wyślij wiadomość, żeby wyłączyć reflektory. Wyłączy się na chwilę, a potem ponownie włączy, ponieważ węzeł, w którym ustawiony jest przełącznik włączania reflektorów, ponownie wyśle komunikat, aby go włączyć.
Przykład2. Pomijanie utworów w radioodtwarzaczu. kiedy naciśniesz przycisk i jego chwilowy przycisk, który spowoduje i natychmiast przerwie obwód, gdy go opuścisz, wyśle jeden komunikat, aby pominąć utwór i nigdy więcej, dopóki nie poprosisz o ponowne naciśnięcie przycisku.
Zwykle najbardziej przydatne są chwilowe przyciski, ponieważ możesz sterować funkcjami w pojeździe, wysyłając pojedyncze polecenie bez obawy, że Twoje polecenie zostanie nadpisane. Gdzie funkcje zależne od stanu zostaną nadpisane na czas nieokreślony.
Kilka wskazówek i pomysłów
Widząc, że możesz teraz zrzucić dane, możesz ich użyć do zbudowania własnych obwodów Arduino, które będą reagowały na podstawie komunikatów widocznych na magistrali CAN-BUS. dla przykładu. Załóżmy, że instalujesz światła punktowe po rynku. Bez konieczności zagłębiania się w istniejące okablowanie, możesz zainstalować reflektory niezależnie i włączać je tylko wtedy, gdy Arduino wykryje komunikat na magistrali CAN-BUS.
Wysyłanie danych do CAN-BUS
Jeśli postępowałeś zgodnie z instrukcją na początku tej instrukcji, zainstalowałeś biblioteki SEEEDStudio. W Arduino IDE jest kilka przykładów, które możesz wypróbować.
Znajomość identyfikatora i komunikatu CAN0-BUS węzła, z którym chcesz współpracować.
Niestety nie jest to łatwe zadanie. Ale oto pomysł. Użyj funkcji rejestrowania Putty i zrzuć wszystkie dane sesji do pliku. Pozwól Arduino monitorować magistralę can przez około 5 minut, a następnie zapisz wylogowanie.
Następnie rozpocznij nową sesję i zacznij zrzucać dane. Ale tym razem podczas zrzucania danych naciśnij przycisk. Nie naciskaj więcej niż jednego przycisku. Naciśnij przycisk kilka razy, aby zagwarantować, że przechwycił naciśnięcie przycisku.
Następnie użyj jakiegoś narzędzia do porównywania i porównaj plik, aby dostrzec różnice. Excel świetnie się do tego sprawdza.
Niektóre kody, które możesz wypróbować
Jeśli masz ten sam model Jeepa 2010 Rubicon co ja (jestem pewien, że poniższe działa również dla modeli '07, '08', 09)
Możesz wypróbować następujące wiadomości. Załaduj przykłady wysyłania z menu przykładów Arduino i zmiany były istotne.
Włącz tylną blokadę.: CAN.sendMsgBuf(0x2B0, 0, 4, stmp);
Lewy migacz włączony: CAN.sendMsgBuf(0x2A8, 0, 6, stmp);
Prawy migacz włączony: CAN.sendMsgBuf(0x2A8, 0, 6, stmp);
ESP wł./wył.: CAN.sendMsgBuf(0x2B0, 0, 4, stmp);
W mojej następnej instrukcji wyślę trochę danych do CAN-BUS mojego Jeepa, aby zademonstrować, w jaki sposób możesz w to ingerować.
Powodzenia!
Krok 5: Obejrzyj wideo
Zobacz wideo, aby uzyskać więcej dobroci CAN-BUS!
Zalecana:
Passagier Teller. Szczęśliwe hakowanie: 4 kroki
Passagier Teller. Happy Hacking: Gemaakt door.Owen CiciliaTim JansenMees van EssenArduino Licznik pasażerów: APCOpenbaar vervoer, wij maken allemaal weleens gebruik van. Je stapt soms de trein in en zoekend naar een zitplaats maar na twee coupés beslis je toch te gaan staan
Hakowanie zabawek - co jest w środku?: 4 kroki
Hakowanie zabawek - co jest w środku?: Ten projekt ujawnia technologię i elementy mechaniczne wewnątrz zabawki. Możesz przeanalizować, naszkicować i przeprojektować starą zabawkę w nową kreację. Zaplanuj, że ten projekt zajmie co najmniej 90 minut, a nawet więcej, w zależności od przeprojektowania. Poprzez
Hakowanie opaski LED Coldplay: 4 kroki (ze zdjęciami)
Hakowanie opaski LED Coldplay: Idąc na duży koncert, często rozdają małe diody LED. Idąc na koncert Coldplay, dostajesz jego niesamowitą wersję: opaskę LED. Podczas pokazu zapalają się automagicznie i dają niesamowity efekt. Pod koniec s
Hakowanie Microsoft Office Excel w celu czytania na żywo RSS Stock News Feeds: 3 kroki
Hakowanie programu Microsoft Office Excel w celu czytania bieżących kanałów informacyjnych RSS: Możesz łatwo uzyskać program Excel, aby działał jako bieżący czytnik wiadomości RSS z bezpłatnym dodatkiem. Fajne w tym, w przeciwieństwie do zwykłego czytnika wiadomości, jest to, że możesz zaktualizować wiadomości w zależności od interesującego Cię symbolu giełdowego. Plus
Hakowanie kabla USB: 4 kroki
Hack kabla USB do ładowania: ładuj urządzenie USB przez USB bez potrzeby przesyłania danych. W przypadku mojego Sansusa e280 pozwala na odtwarzanie muzyki podczas ładowania. To skutecznie obejmuje dwa przewody danych na dowolnym kablu USB