Projekt „automatyzacja zapisu danych generowanych przez aplikację Car Scanner”

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:

  • 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".
W załączeniu screen flow’a.

  • 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 :cool:
 

Attachments

  • CS restart.png
    CS restart.png
    105,5 KB · Liczba wyświetleń: 13
Last edited:
Top