Z cyklu „nikt nie potrzebuje, wszyscy chcą” podzielę się pomysłem na zautomatyzowanie rejestrowania danych z auta (w tym naszych szczególnie ulubionych parametrów pracy ICCU i akumulatora 12V)
Co potrzebujemy:
Co robimy:
Co potrzebujemy:
- Smartfona z Androidem (na iOS się nie znam, nie mam i nie zamierzam) – cena: najlepszy na jaki cię stać.
- Interfejs diagnostyczny ELM327 OBDII Vgate vLinker MC – to jeden z nielicznych (a jedyny dla BEV), który włącza się automatycznie ze startem silnika i przechodzi w tryb uśpienia 30 minut po jego zgaszeniu, dlatego też może być bez obaw pozostawiony w gnieździe samochodu, bez konieczności ciągłego uruchamiania. Nowsza wersja jest mniejsza od starszej. To ważne ze względu na ograniczone miejsce przy OBD. – cena ok 230 zł
- Aplikacja Car Scanner ze sklepu Google (najlepiej PRO – cena 25 zł)
- Aplikacja Automate ze sklepu Google (najlepiej Premium – cena 20 zł)
Co robimy:
- Montujemy interfejs w gnieździe OBD i parujemy go z fonem przez BT zgodnie z instrukcją. Pozostawienie go na stałe w gnieździe wiąże się z modyfikacją klapki osłaniającej. Trzeba przyciąć część wklęsłą i podpiłować trochę tworzywo wokół otworu. Najlepiej metodą prób. Jak się wszystko dobrze zrobi to idealnie klapka się zamknie a diody interfejsu będą widoczne.
- Na fonie instalujemy CS i w sekcji Ustawienia wybieramy połączenie Bluetooth, adapter vLinker a poniżej zaznaczamy opcje: „połącz przy uruchomieniu” i „otwórz deskę rozdzielczą po połączeniu”. W sekcji Zapisywanie danych zaznaczamy opcję „zapis danych”,
- Na fonie instalujemy Automate i w sekcji Settings zaznaczamy opcję „run on system startup” a w zakładce Privileges oba okienka z opisem (superuser) i co tam jeszcze sobie zdecydujemy.
- - Na głównej stronie wciskamy + i tworzymy nowy FLOW czyli w tym przypadku proces automatycznego uruchamiania CS. Zaczynamy od kafla Flow beginning (nr5),
- - do niego podpinamy kafel Connect to a Bluetooth device (nr32) i w jego ustawieniach wskazujemy w PICK DEVICE sparowane wcześniej urządzenie – takie które uruchamia się wraz z samochodem – w moim przypadku EV6.
- - kolejnym kaflem jest Start an app activity (nr38) a w jego ustawieniach wskazujemy w PICK ACTIVITY z rozwijanej listy com.ovz.carscanner a następnie klasę carScannerXamarinForms.Droid.MainActivity.
- - następnie do powyższego podpinamy kafel Wait for an amount of time (nr43) a w jego ustawieniach wpisujemy w argumencie wejściowym Duration 20 sekund (opóźnienie)
- - ostatni kafel to Simulate user interface gesture (nr39) a w parametrach ustawiamy RECORD GESTURE czyli po aktywacji ekranu klikamy paluchem w to miejsce gdzie po uruchomieniu CS znajduje się przycisk POŁĄCZ.
- - na koniec robimy pętlę do pierwszego kafla.
- Wychodzimy z projektu i klikamy START. Mozemy tez zmienic nazwę. Po wyjsciu do strony głownej przy naszym procesie powinna byc mała zębatka z 1 w środku. Tzn ze działa i "czuwa".
- Co ważne do uruchomienia CS wystarczą dwa pierwsze kafle ale tylko wtedy gdy CS odpala się jako nowy proces. Jeśli jednak zatrzymamy auto i pozostawimy CS w pamięci podręcznej to wtedy po połączeniu z interfejsem CS pojawi się na ekranie ale już się automatycznie nie uruchomi. Stąd potrzebne jest wymuszenie kliknięcia POŁĄCZ.
- Jak ktoś ma na roota na swoim fonie to może zamiast wymuszania połączenia po rozłączeniu z interfejsem wymusić zabicie aplikacji przez KILL APP. Wtedy za każdym razem będzie się uruchamiać z autostartu.
- Żeby interakcja dotyku zadziałała trzeba w ustawieniach programisty zezwolić na nakładki ekranowe dla aplikacji.
- W konsekwencji całej tej zabawy po odpaleniu auta w trybie READY uruchamia się automatycznie CS z takim ekranem deski rozdzielczej jak ostatnio zapamiętany a wszystkie odczyty z PIDów są zapisywane do logów. Dodatkowo można ustawić na konkretnych PIDach powiadomienia dźwiękowe z określonymi parametrami po przekroczeniu których nastąpi alarm i powiadomi nas wyciem z telefonu (niestety u mnie alarmy ustawione poniżej progu nie działają. Zapewne jakiś błąd aplikacji. Szkoda bo byłoby to bardzo przydatne. Jeśli to komuś zadziała to proszę o info.)
- Dobrej zabawy
Attachments
Last edited: