logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Rozwiązano] Parowanie modułu Bluetooth i ATmega z autkiem Ferrari z YC1063 UAT736 2019AY

Juni[]r 09 Gru 2021 07:51 4107 39
Najlepsze odpowiedzi

Jak rozpoznać i obsłużyć połączenie BLE w autku sterowanym aplikacją, żeby zrobić własny pilot zamiast telefonu?

To autko komunikuje się przez Bluetooth Low Energy, więc HC-05 i klasyczny profil SPP nie pomogą; trzeba pracować jako klient BLE, skanować urządzenie, a potem zapisywać dane do odpowiedniej charakterystyki, nie do serwisu [#19757477][#19758927][#19778913] W wątku ustalono, że istotny jest serwis 0xFFF0 z charakterystyką 0xFFF1, a reakcję auta udało się wywołać po zapisaniu 2 bajtów 0x0001, podczas gdy 0x0000 zatrzymuje ruch [#19763598][#19758831][#19758856] Połączenie w BLE nawiązuje się po adresie MAC, a nie po nazwie czy samym UUID, więc aplikacja najpierw znajduje auto w skanie, a dopiero potem łączy się z jego MAC [#19764049][#19764704][#19765151] Do sterowania trzeba metodą prób i błędów testować, jakie bajty i ile bajtów przyjmuje charakterystyka, bo to nie jest port szeregowy [#19757520][#19758927] Jeśli chcesz zrobić własny pilot, rozsądniejszy będzie ESP32 jako klient BLE niż ATmega z HC-05 [#19757520][#19778913]
Wygenerowane przez model językowy.
REKLAMA
  • #1 19752901
    Juni[]r
    Poziom 16  
    Posty: 459
    Ocena: 24
    Witam wszystkich z pytaniem. Na stacji paliw z muszelką w logotypie są dostępne autaka Ferr.....jjjiii. Problem w tym że sterowane są za pomocą aplikacji po bluetooth. Sterowanie cyfrowe (góra, dół, lewo, prawo) wiec dużo informacji nie leci ale.... .No właśnie zawsze jest ale. Mam 4 synów a ilość telefonów w domu nie jest już taka obfita. Chciałem użyć jakiegoś modułu BT + ATmega jakaś nie duża, 4 guziczki i po sprawie pilot gotowy. Tylko ze nie da się parować z urządzeniem. Widzę je ale nie mogę się połączyć bez aplikacji. Testowałem terminalami ale nic to nie dało. Nie chce by ktoś cos za mnie robił tylko pomysły jak rozgryźć to połączenie. Scalak w autku ma oznaczenie YC1063 UAT736 2019AY ale żadnej informacji na necie nie znalazłem. Mam koncepcje bo poza tym modułem nie ma nic więcej na płytce. Zastanawia mnie czy czasami nie działa to jak sterowanie jako audio ? W każdym z autek ta sama płytka.
    Załączniki:
    • Parowanie modułu Bluetooth i ATmega z autkiem Ferrari z YC1063 UAT736 2019AY 20211209_072743.jpg (610.78 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 19753261
    LightOfWinter
    Poziom 38  
    Posty: 4374
    Pomógł: 364
    Ocena: 923
    Witam

    A nie prościej przeznaczyć na pilota jednego starego/taniego smartfona?
    Przecież nie musi mieć karty SIM.
  • #4 19754865
    MocnyAmper
    Poziom 25  
    Posty: 1385
    Pomógł: 87
    Ocena: 282
    Może da się ten problem obejść jakoś programowo? Trochę to bez sensu żeby tak prosta aplikacja wymagała najnowszego androida.
  • #5 19754992
    TvWidget
    Poziom 39  
    Posty: 4394
    Pomógł: 472
    Ocena: 694
    Juni[]r napisał:
    Tylko ze nie da się parować z urządzeniem.

    Uruchom w PC z interfejsem Bluetooth przeglądarkę Chrome lub Edge. Wpisz w pasku adresu odpowiednio chrome://bluetooth-internals/#devices lub edge://bluetooth-internals/#devices , uruchom "Start Scan" i zobacz czy na liście znalezionych urządzeń pojawi się auto. Jeśli będzie to nawiąż z nim połączenie i zobacz co się pokaże.
  • #6 19755205
    Juni[]r
    Poziom 16  
    Posty: 459
    Ocena: 24
    TvWidget to nie problem ja widzę urządzenia (autka) na liście bluetooth ale nie mogę się z nimi sparować. Jak daje na połącz to wyskakuje "urządzenie sterowane za pomocą aplikacji". Chciałem za pomocą terminala coś podsłuchać ale każdy terminal zaczyna od "połącz", to dość logiczne ale nie da się połączyć. "Powiązanie odrzucone przez urządzenie"
  • REKLAMA
  • #7 19755213
    TvWidget
    Poziom 39  
    Posty: 4394
    Pomógł: 472
    Ocena: 694
    Założyłeś, że auto komunikuje się w standardzie BT2.1 z użyciem profilu SPP. Co nie musi być prawdą. Zrób eksperyment o jakim napisałem.
  • #11 19757451
    TvWidget
    Poziom 39  
    Posty: 4394
    Pomógł: 472
    Ocena: 694
    Kliknij na Connect
  • #13 19757477
    TvWidget
    Poziom 39  
    Posty: 4394
    Pomógł: 472
    Ocena: 694
    Auto komunikuje się przez Bluetooth Low Energy. Użycie HC05 nic nie da.
    Nie jest wykluczone, że jeśli klikniesz na wskazanym serwisie to zakładka się rozwinie. Kolejnym poziomem są tzw. charakterystyki. Z danej charakterystyki można odczytać wartość lub ją zapisać
    Do sterowania mogą być użyte serwisy 0x6939 lub 0xFFF0. Zobacz jakie charakterystyki są z nimi związane.
  • REKLAMA
  • #14 19757485
    Juni[]r
    Poziom 16  
    Posty: 459
    Ocena: 24
    Kazda z 4 zakładek się rozwija. Ale nie wiem co oznaczają. Ale jak włączę plika je shell to ten twój program pyt czy debugowc i połączyć.

    Dodano po 3 [minuty]:

    To jaki moduł bym potrzebował jjakilkolwiek BT5.0?

    Dodano po 2 [minuty]:

    Takie rzeczy po rozwinięciu
    Załączniki:
    • Parowanie modułu Bluetooth i ATmega z autkiem Ferrari z YC1063 UAT736 2019AY Screenshot_20211211-172707.png (98.36 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Parowanie modułu Bluetooth i ATmega z autkiem Ferrari z YC1063 UAT736 2019AY Screenshot_20211211-172713.png (108.42 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Parowanie modułu Bluetooth i ATmega z autkiem Ferrari z YC1063 UAT736 2019AY Screenshot_20211211-172721.png (113.6 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Parowanie modułu Bluetooth i ATmega z autkiem Ferrari z YC1063 UAT736 2019AY Screenshot_20211211-172727.png (106.62 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • Pomocny post
    #15 19757520
    TvWidget
    Poziom 39  
    Posty: 4394
    Pomógł: 472
    Ocena: 694
    Pierwszy serwis jest standardowy służy do pobierania informacji o urządzeniu. Nie jest istotny. Podobnie jak ostatni. Te dwa środkowe są specyficzne dla tego produktu. Jeden z nich służy więc do sterowania. Tak jak już napisałem dany serwis zawiera jedną lub więcej charakterystyk. Charakterystyki to coś podobnego do rejestrów procesora. Mogą być tylko do odczytu, tylko do zapisu lub zapisu i odczytu. Szukaj więc charakterystyk do jakich można coś zapisać. Metodą prób i błędów spróbuj coś wysłać. Jak będziesz miał szczęście to auto zareaguje. Niestety nie wiadomo ile i jakich bajtów można zapisać do danej charakterystyki. Zwykle tyle ile się z niej odczytuje.
    Deskryptor to w uproszczeniu poziom niżej niż charakterystyka. Związany jest z notyfikacjami. Na tym etapie nieistotny.
    Jak wykryjesz co trzeba do auta przesłać to będziesz mógł zrobić pilota np. na ESP32.
  • #17 19758831
    TvWidget
    Poziom 39  
    Posty: 4394
    Pomógł: 472
    Ocena: 694
    Nie
    Włączyłeś wysyłanie z auta wartości napięcia baterii w trybie notyfikacji. Ta funkcjonalność jest w czwartym serwisie. Włącza się ją zapisują odpowiednią wartość do deskryptora. Tak jak napisałem już wcześniej musisz próbować zapisać coś do charakterystyki w drugim (0x6963) lub trzecim serwisie (0xFFF0). W każdym z nich jest tylko jedna charakterystyka więc wiele możliwości nie masz.
    Drugi serwis: Screenshot_20211211-172713.png
    Trzeci serwis: Screenshot_20211211-172721.png
  • #19 19758861
    TvWidget
    Poziom 39  
    Posty: 4394
    Pomógł: 472
    Ocena: 694
    Juni[]r napisał:
    W FFF0 wyyslalaem my 4 bajty 0x0001 i ruszył do przodu.a
    0x0000 się zatrzymał. I mam teraz drobne 9997 kolejnych prób

    Źle liczysz. Wysłałeś 2 bajty i masz do przetestowania jeszcze ponad 65000 kombinacji
    Wypróbuj 0x01,0x00, 0x0001,0x0002,0x0004 ...
  • REKLAMA
  • #23 19759283
    TvWidget
    Poziom 39  
    Posty: 4394
    Pomógł: 472
    Ocena: 694
    Juni[]r napisał:
    A może podejść od drugiej strony. Niech ESP będzie autkiem wtedy powie co do niego wysyłam. Nie będzie trzeba szukać. Jak dzieciaki oddadzą mi komputer to poprubuje z tym BLE

    To wymaga stworzenia w ESP serwera GAT z odpowiednimi serwisami i charakterystykami. Trzeba na to poświęcić sporo pracy.
  • #24 19763598
    Juni[]r
    Poziom 16  
    Posty: 459
    Ocena: 24
    Znalazłem kilka informacji wiem że autko to
    SERVICE_UUID "0000FFF0-0000-1000-8000-00805f9b34fb"
    CHARACTERISTIC_UUID "0000FFF1-0000-1000-8000-00805f9b34fb"
    tylko nie mam pojęcia jak zrobić by łączył się automatycznie np:"SL-488 Chalalenge Evo"
    i wysyłał zmienną do charakterystyki FFF1

    super tutorial: https://www.youtube.com/watch?v=osneajf7Xkg
  • Pomocny post
    #25 19764049
    TvWidget
    Poziom 39  
    Posty: 4394
    Pomógł: 472
    Ocena: 694
    W BLE w celu nawiązania trzeba podać adres MAC nie nazwę.
    Potem podobnie jak w przykładzie do jakiego podałem link trzeba pobrać uchwyt do odpowiedniej charakterystyki i zapisać wartość.
  • #26 19764553
    Juni[]r
    Poziom 16  
    Posty: 459
    Ocena: 24
    Telefon wybiera tylko po nazwie. Ja myślałem ze po UUID ale ono jest takie same dla każdego z aut. Czyli łączy po nazwie odczytuje MACa i laczy się po MACu? Chyba ze każdy z modeli ma tego samego MACa - ale nie mam takich samych modelu aut by to zweryfikować. No to walczę dalej
  • #27 19764704
    TvWidget
    Poziom 39  
    Posty: 4394
    Pomógł: 472
    Ocena: 694
    Nie myl UUID z adresem MAC.
    Urządzenia BLE mogą mieć stałe adresy MAC nadane przez producenta lub dynamicznie zmieniane. Smartfon przy wyszukanych urządzeniach wyświetla adres MAC lub tzw. przyjazną nazwę jeśli jest nadawana. Wewnętrzne do nawiązania połączenia używa jednak wyłącznie adresu MAC.
    UUID są używane do wskazania odpowiedniego serwisu, charakterystyki lub deskryptora.
  • #28 19765108
    Juni[]r
    Poziom 16  
    Posty: 459
    Ocena: 24
    Nie mylę MAC i UUID. MAC jak w karcie sieciowej. Adresy w autach na pewno są inne właśnie sprawdziłem. Pytanie jak aplikacja je wyszukuje. Według jakiegoś klucza ?

    SL-FXX-K Evo
    AA:C0:31:44:70:8F
    SL-SF1000
    AA:C0:31:44:5B:77
    SL-488 Challange Evo
    0A:C0:31:44:FA:1D

    Naprawdę nie da się połączyć po nazwie ? Po MAC to jedyna możliwość ?
  • #29 19765151
    TvWidget
    Poziom 39  
    Posty: 4394
    Pomógł: 472
    Ocena: 694
    Juni[]r napisał:
    Naprawdę nie da się połączyć po nazwie ? Po MAC to jedyna możliwość ?

    Nie bardzo rozumiem. Możesz po operacji skanowania zaleźć z jakim adresem MAC jest powiązana dana nazwa. Pobrać ten adres i nawiązać połączenie.
    W BLE tzw. przyjazna nazwa urządzenia nie jest konieczna. Nie musi być nadawana. Czasem jest przesyłana tylko na żądanie (skanowanie aktywne).

Podsumowanie tematu

✨ W dyskusji poruszono problem parowania modułu Bluetooth z autkiem Ferrari, które jest sterowane za pomocą aplikacji. Użytkownik chciał stworzyć własny pilot z użyciem modułu Bluetooth i ATmega, jednak napotkał trudności w nawiązaniu połączenia, ponieważ urządzenie wymaga aplikacji do sparowania. Uczestnicy sugerowali różne podejścia, w tym użycie aplikacji do skanowania Bluetooth, a także eksperymenty z charakterystykami i serwisami BLE. Użytkownik odkrył, że auto komunikuje się przez Bluetooth Low Energy (BLE) i zidentyfikował odpowiednie UUID serwisów i charakterystyk. Wskazano, że do komunikacji z urządzeniem konieczne jest użycie adresu MAC, a nie nazwy. Użytkownik testował różne wartości bajtów, aby uzyskać odpowiednią reakcję z auta.
Wygenerowane przez model językowy.
REKLAMA