[Giulietta] B4A (Basic4Android) program APK do odczytu PID w aucie z pomocą interfejsu BlueTooth

bubu321

Nowy
Rejestracja
Wrz 1, 2007
Postów
6,823
Lokalizacja
Wrocław
Auto
G 1.4 MA 170CV ECU Nexus 8GMF
- załączam program BT_digidash.apk do odczytu PID w samochodzie i proszę o podanie wyników skanowania (numery PID)
- program powinien działać na dowolnym modelu auta z CAN (147, 159, Brera, Mito, GT ...) oraz na dowolnym interfejsie z BT
(BlueTooth) opartym na układzie ELM327 (wersje od 1.2 w gorę).
- zródła programu zostały znalezione w sieci WWW dlatego też parowanie telefonu z interfejsem BT robimy z poziomu
telefonu a nie z programu.
- program został napisany w języku programowania B4A (Basic 4 Android).
- dobry wideo samouczek tego języka jest dostępny na witrynie atnel.pl
(zainteresowanych żródłami programu BT_digidash oraz linkami do samouczka odsyłam na PW)

- ten program pod względem funkconalnym jest podobny do polskiego programu Piston, zaletą BT_digidash jest to,
że podaje w prostej formie wykaz PID oraz są dostępne żródła programu.

- załadowanie programu do telefonu z system Android (wersja oprogramowania wieksza od 4.1)

1. - ze sklepu Google ściągamy program Total Commander i instalujemy w telefonie.
2. - w telefonie włączamy funkcjonalność USB Debugging.
3.- telefon łączymy poprzez USB do PC lub notebooka.
4.- do telefonu, w katalogu downoload, kopiujemy program Bt_digidash.apk
5.- w telefonie uruchomić Total Commandera, przechodzimy do katalogu Download telefonu.
6.- wybieramy program BT_digidash.apk i go instalujemy.

- obsługa programu BT_digidash

0. uruchamiamy program BT_digidash.
1. wybieramy sparowany z telefonem interfejs BT
2. z panelu programu wybieramy menu (na dole z lewej strony)
3. wybieramy Properties
4. zaznaczamy PID numer 5, Engine coolant temperature.(PID-y są zaznaczone kolorem czerwonym, nie aktywne)
5. usypiamy program poprzez wybranie ikony telefonu na dole z prawej strony.
6. wznawiamy program poprzez wybranie ikony telefonu na dole z lewej strony i klikniecie na programie BT_digidash
(punkty 5, 6 dotyczą telefonu Samsung Galaxy S5, inne modele mogą mieć inaczej rozmieszczone ikony funkcyjne)
7. na pojawiającym się panelu, poprzez dłuższe klikniecie wybieramy Properties.
8. teraz odczytane PID-y powinny być zaznaczone jako aktualne (ptaszek na zielono).
9. spisujemy i podajemy ich numery na forum. (z góry dziękuję za podanie tych numerów.)

- program działa w trybie portretowym, nie miałem okazji sprawdzić jak działa skalowanie programu na innych telefonach,
innych rozmiarach ekranu.
- program był testowany na Samsung Galaxy S4, S5
 

Załączniki

  • BT001.jpg
    BT001.jpg
    35.4 KB · Wyświetleń: 33
  • BT003.jpg
    BT003.jpg
    24.4 KB · Wyświetleń: 33
  • BT002.jpg
    BT002.jpg
    20.4 KB · Wyświetleń: 30
  • BT000.jpg
    BT000.jpg
    23.8 KB · Wyświetleń: 33
  • BT004.jpg
    BT004.jpg
    20.1 KB · Wyświetleń: 26
  • BT_digidash.zip
    BT_digidash.zip
    263.3 KB · Wyświetleń: 70
Ostatnia edycja:
Errata:
- za szybko powiedziałem że wszystkie interfejsy BT działają.
- za pomniałem, że istnieja podróby i klony by china.
- zwykle zgłaszają się takie interfejsy jako ver 1.5 lub ver 2.1 a nawet ver 2.2, czemu nie.
- zrzuty z ekranu kolejno: bt za 9 zł, bt iCAR ver 2.0 oraz BT iCar versja 3.0
 

Załączniki

  • At.jpg
    At.jpg
    32.2 KB · Wyświetleń: 28
  • bt za 9 pln.jpg
    bt za 9 pln.jpg
    50.3 KB · Wyświetleń: 23
  • vlink BT ver 2.0.jpg
    vlink BT ver 2.0.jpg
    49.9 KB · Wyświetleń: 28
  • vlink iCar BT ver 3.0.jpg
    vlink iCar BT ver 3.0.jpg
    51 KB · Wyświetleń: 27
Ostatnia edycja:
Chcesz, żeby dokładnie to co wrzucasz sprawdzić jak czyta w innym samochodzie?
- Na Iphone jest jakaś możliwość wgrania androida, jak drugi system, ale jest niedokończone i chyba nie działa w sposób ciągły. Za dużo kombinacji.
- W sumie mam IPada z android, tylko nie korzystam. Jeśli nie jest za stary i może być, to mogę sprawdzić, w sensie spróbować zrobić to co napisałeś (?).
Istnieje może odczyt jakiś rozszerzony, nr PIDów Fiata?
 
- ten program nie wychodzi ponad mode 0.
- interesuje mnie jak ten program odczytuje, jak się zachowuje po podłączeniu do auta.
- na jego bazie zamierzam zrobić odczyty BSI ?
- czytam na stronie https://www.b4x.com/b4i.html
że można w miarę prosty sposób przenieść oprogramowanie z B4A na B4I, tylko trzeba dodatkowo coś dopłacić, nie wiem czy warto iść w tym kierunku.
- jak znajdziesz czas, to poproszę o te wyniki na androidzie.
 
Jeśli jest Ci to potrzebne i z tego skorzystasz, to znajdę czas i spróbuję się połączyć. Najwyżej się nie uda.

Muszę kupić interfejs bezprzewodowy. Pierwotnie myślałam o OBDlinkSX, bo jednak w moich warunkach jest najtrwalszy i jak zmienię prędkość łączy mi się też z CAN, ale jest drogi i mam już zwykły. Przejrzałam allegro, są różne wersje icar - od 1 do 4. Te co podałeś i pokazałeś na zdjęciach, to chyba icar2 miałby być, ale pewności nie mam. icar4 mam w Łodzi, ale on jest 1/3 tańszy od pozostałych. A wszyscy sprzedawcy chwalą swoje. Możliwe, że to wszystko jedno, bo protokół, którym GT łączy się z tym mode działa poprawnie we wszystkich elm327. Jednak, na wszelki wypadek, która wersja będzie najlepsza?
http://allegro.pl/obd2-wifi-icar-nano-pl-elm327-elm-327-wireless-hit-i4996375991.html
http://allegro.pl/interfejs-obdii-elm327-icar2-wifi-polski-program-i5404054858.html
https://elektrosektor.pl/Skaner-diagnostyczny-OBD2-Vgate-iCar3-WiFi-polski-program-SDPROG
http://allegro.pl/interfejs-icar1-wifi-obdii-vgate-sdprog-pl-i6536227748.html
http://allegro.pl/interfejs-diagnostyczny-icar4-elm327-bluetooth-cd-i6169690834.html
 
Ostatnia edycja:
- na czym polega problem interfejsów BT na rynku ?
- BT bazujący na elm 327 ma zaszyte kilka prędkości transmisji od komendy ATSP1 do ATSPA.
- sprawdzenie wybranej predkości to komenda ATDP (nie działa na iCAR3- ten interfejs zglasza się jako VLINK).
- sprawdziłem także iCAR 2, taki z czerwona obwódka, ten działa na komendę ATDP.
- dwie komendy ATSPB, ATSPC są dla użytkownika do programowania prędkości transmisji.
- można zobaczyć tabelę zmiennych po komendzie AT PPS.
AT PP 2C SV 01, AT PP 2C ON
AT PP 2D SV 0A, AT PP 2D ON
- powyzsze komendy ustawiają zmienne w tabeli.
- teraz podanie AT SPB, potem ATDP pokazuje nam CAN29/50.
- podanie AT SPC , potem ATDP pokazuje CAN11/50
- inne interfejsy z alegro biały, czarny i niebieski przezroczysty ma ten problem, że nie reagują na te komendy, nic nie zmieniają.
- na stałe mają wpisane CAN11/125 po podaniu komendy AT SPB lub AT SPC.
- jeśli używa sie tych interfejsów np do body komputera w grupie fiata to jest problem, ponieważ jest potrzebna prędkośc can29/50 a tego ustawić nie można na tych tanich interfejsach.
- na tych tanich interfejsach nie mozna wgrać także komendy AT CRA, slużacej do ustawiania maski, ramki.
- te wszystkie interfejsy pracują także na CAN29/500 czyli ECU od samochodu.
 
Ostatnia edycja:
W tym układzie dla GT, powinien starczyć dowolny interfejs bezprzewodowy.

Jednak póki co musi być na iOS, bo nie działa w tablecie wyświetlacz. Oddałam tablet do serwisu, ale nie wiem jeszcze, czy naprawią i kiedy to nastąpi.

Przeczytałam link. Pomijając na razie kwestię komunikacji, nie wiem, czy to tak łatwo się przeniesie.

1. Czy aplikacja (kody?) są kompatybilne między różnymi środowiskami i czy ew. biblioteki są zgodne? Jak zainstaluję total commander na ios, to Twoja aplikacja się nie uruchomi i nie da się sprawdzić, tak jak opisałeś, z powodu niezgodności.
2. Skąd będę wiedzieć jak i co zmienić, by poprawnie działało na innym środowisku? Takie rzeczy mnie przerastają.
3. Aby aplikacja mogła być testowana muszę kupić tam licencję, nawet jak Ty programujesz, a nie ja. I czy to musi być ta licencja - B4A (Android) Enterprise + B4i (iOS) Enterprise czy wystarczy B4i? Czy ta podwójna na pewno rozwiązuje problem z pkt. 2?
4. I czy będzie mi potrzebna ewentualność możliwość kompilowania programu czy niekoniecznie? To ma znaczenie przy ewentualnym wyborze licencji.
5. Czy masz jakiś plik logu - danych, żeby ewentualnie sprawdzić wpierw działanie aplikacji w opcji bez komunikacji?
 
Ostatnia edycja:
- wg mnie nie warto wydawać więcej niż na interfejs, a o licencji bym raczej zapomniał.
- dostałem trochę danych z forum fiata, na razie wystarczy.
- co do PID_ów to jest bardzo dobry program OBDLink (nie wiem czy jest na ios).
- w nim można ustawić pidy użytkownika.
 

Załączniki

  • unnamed.png
    unnamed.png
    44.5 KB · Wyświetleń: 109
  • 7006pid.jpg
    7006pid.jpg
    15.5 KB · Wyświetleń: 28
  • 7002.jpg
    7002.jpg
    28.5 KB · Wyświetleń: 25
Nie o PIDy chodzi. Nie jest mi też potrzebna aplikacja na telefon. Czasem paradoksalnie coś można wykorzystać w zupełnie innej rzeczywistości. Ciekawiła mnie kuchnia, na poziomie programowania, niekoniecznie z motoryzacyjnych względów. W tym możliwość korzystania z aplikacji wywoływanych z terminala na różnych środowiskach. Czasem nie ważne co, ale ważne jak. Bo jak, dla różnych co jest takie same.

Uruchomiłam aplikację na laptopie. Nie wiem, czy w ogóle będzie możliwa emulacja czy komunikacja z interfejsu, tak sobie działa. Miałam konflikt z bluetooth przy okazji usunęłam. Wolno działa, zawiesza się, nie zawiesza się jak wyrzuca błędy. Nie można wrócić do wcześniejszego menu. Jak się wejdzie w parametr to pokazuje 0 (stosownie do off), po ponownym włączeniu pokazuje stałe 52 i już tak się uruchamia, a po całkowitym resecie wywala już błędy. Potem je pamięta i trzeba na nowo instalować i restartować cały win. Raz się uda a raz nie. Niestabilna jest. Może wina, że nie przez telefon, a może co innego. Skoro nie jest potrzebne, to bez znaczenia.
 

Załączniki

  • 1_dd.jpg
    1_dd.jpg
    59.3 KB · Wyświetleń: 32
  • 2_dd.jpg
    2_dd.jpg
    61 KB · Wyświetleń: 32
  • 3_dd.jpg
    3_dd.jpg
    58.3 KB · Wyświetleń: 33
  • 4_dd.jpg
    4_dd.jpg
    64.1 KB · Wyświetleń: 22
  • 5_dd.jpg
    5_dd.jpg
    62.3 KB · Wyświetleń: 22
  • 6_dd.jpg
    6_dd.jpg
    68.9 KB · Wyświetleń: 26
  • 7_dd.jpg
    7_dd.jpg
    69.6 KB · Wyświetleń: 26
  • 8_dd.jpg
    8_dd.jpg
    63.8 KB · Wyświetleń: 24
  • 9_dd.jpg
    9_dd.jpg
    17 KB · Wyświetleń: 27
  • 10_dd.jpg
    10_dd.jpg
    40.1 KB · Wyświetleń: 27
  • 11_dd.jpg
    11_dd.jpg
    18 KB · Wyświetleń: 23
Może być tak, że apka się tak zachowuje, ponieważ nie ma sygnału – odpowiedzi na przyciśnięcie przycisku lub wywołanie, ot w wersji demo reakcja na brak danych. Zależy co tam w kodzie programu jest napisane. Tak czy owak, potrzebne, czy nie - spróbuję się połączyć, aby zobaczyć czy się da i czy dlatego.
 
- aplikacja nie będzie działać w emulatorze, program ma wbudowane procesy serwisowe i one będą zatrzymywać aplikację, bo jest time-out.
- ale dzięki za próby z emulatorem.
- w nagrodę podsyłam żródła programu.
 

Załączniki

  • alfaholicy.zip
    alfaholicy.zip
    41.5 KB · Wyświetleń: 33
  • alfaholicy1.jpg
    alfaholicy1.jpg
    26 KB · Wyświetleń: 14
  • alfaholicy2.jpg
    alfaholicy2.jpg
    83.4 KB · Wyświetleń: 10
Ostatnia edycja:
Działanie było spontaniczne. Chciałam spróbować, ale niestety wygląda, że masz rację, że emulator nie obsługuje bluetooth, więc nie uzyskam komunikacji z interfejsem w ten sposób. A z kolei aplikacja wymusza tylko taką komunikację, więc i tak potrzebne jest realne urządzenie. Gdyby aplikacja miała możliwość komunikacji po wi-fi, może byłoby to możliwe, ale też w sumie nie mam pewności. Nie komunikowałam się jeszcze z interfejsem bezprzewodowym.
 
Amortyzatory
Powrót
Góra