Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Pilot do autka bluetooth Ferrari

Juni[]r 09 Dec 2021 07:51 702 39
  • #1
    Juni[]r
    Level 16  
    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.
    [28-30.06.2022, targi] PowerUP EXPO 2022 - zasilanie w elektronice. Zarejestruj się za darmo
  • #3
    Juni[]r
    Level 16  
    Stary odpada kolego bo aplikacja ma wymagania na nowe androidy. Już na 3 letnim telefonie jest lipa. A za rok i na obecnych nie będzie działać. Dlatego chcę się zabezpieczyć na zaś.
  • #5
    TvWidget
    Level 36  
    Juni[]r wrote:
    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
    Juni[]r
    Level 16  
    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"
  • #7
    TvWidget
    Level 36  
    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.
  • #13
    TvWidget
    Level 36  
    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.
  • #14
    Juni[]r
    Level 16  
    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
  • Helpful post
    #15
    TvWidget
    Level 36  
    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
    TvWidget
    Level 36  
    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
    TvWidget
    Level 36  
    Juni[]r wrote:
    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 ...
  • #22
    Juni[]r
    Level 16  
    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
  • #23
    TvWidget
    Level 36  
    Juni[]r wrote:
    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
    Juni[]r
    Level 16  
    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
  • Helpful post
    #25
    TvWidget
    Level 36  
    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
    Juni[]r
    Level 16  
    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
    TvWidget
    Level 36  
    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
    Juni[]r
    Level 16  
    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
    TvWidget
    Level 36  
    Juni[]r wrote:
    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).
  • #30
    Juni[]r
    Level 16  
    Chodzi o to że jak będę chciał się połączyć do takiego samego autka "modelu" to (choć jeszcze nie wiem) może mieć każdy inny MAC adres. A po nazwie nie będzie to istotne.