( plt | 2020. 10. 01., cs – 09:43 )

Köszönöm, ez nagyon sokat segített! Sikerült dekódolnom az irányítást.

Ha valaki hasonlóba kezdene, pár lépés, ami nekem segített.

Először a btsnoop.log bluetooth logfájl elkészítése a telefonon, ahol a vezérlő alkalmazás fut. (Nálam [Samsung Android 5] a /Android/data/ mappában volt a telefonon).

Majd fájl átmásolása a gépemre.

A Wireshark, ami gyönyörűen olvassa ezt a fájlt.

A RPI-BLE-toy-control project, ami más kisautókat irányít shell scriptekkel. Innen a "hcitool lescan" parancs, ami kilistázza a bluetooth MAC adresseket, bár a MAC address a logból is kideríthető a Wireshark segítségével. Valamint a gatttool parancs, amiből nekem a következőket kellett használnom:

gatttool -b $MAC --primary -u $UUID

Ahol a UUID-t a Wireshark segítségével kerestem meg, anélkül, hogy ismertem volna a bluetooth protokoll rejtelmeit. Ez a parancs visszaadta a tól-ig értékeket, amivel a szervizekre hivatkozhatom. ( Esetemben 0x0010 és 0x001c. )

gatttool -b $MAC --char-read -a 0x0010

Amivel olvashattam volna az eszközről, ilyet egyelőre nem csináltam.

gatttool -b $MAC --char-write-req -a 0x0012 -n $VALUE

Ahol a 0x0012 az a szolgáltatás, ami nálam az autót vezérelte, és a $VALUE tartalmazza azt az értéket, amit az autó csinál. Ezeket szintén a Wireshark-ból olvastam ki, bár a végén egy plain text exporttal egyszerűbb volt scripttel kikeresni az export fájlból.

A konkrét parancsok a TTA protokollal kerülnek átküldésre, ami az exportban a következő formában található meg:

Bluetooth Attribute Protocol
    Opcode: Write Command (0x52)
    Handle: 0x0012 (Unknown: Unknown)
    Value: 025e695a48ff2a438ca680f83e04e45d

Innen kigyűjtve a Value értékeit, megkaptam az összes átküldött parancsot:

025e695a48ff2a438ca680f83e04e45d        Alapállapotba állít

29609c664852cff1b0f0cbb98014bd2c        Előre
e65567da8e6c560d09d3733a7f47ff06        Turbó előre
03209909ba9da1c8b986163c6d484655        Hátra
cec2ff1d7acc163cd13b7e6153ad5c45        Turbó hátra
9928e590dfe821485f414fbb633d5c4e        Előre és balra
51382112135cccdb46cf8921b705499a        Balra
0f2ce56662d4fd9d32a44f102bf20aa7        Előre és jobbra
98ce981d58d115afe11960bf4613925c        Hátra és balra
1b5769cdf13e8ab627080ff3cefc3bc0        Jobbra
f2520fba3144fb11468fe080c6c2c23c        Hátra és jobbra
592381c943a417ca1bc3b59400e0fc12        Turbó előre és balra
fb976fba04af87022226ec50ae82f8c4        Turbó előre és jobbra
d54ad55857d327745f141dd00d671595        Turbó hátra és balra
80dfb2165f3260f1d9837750f43a43da        Turbó hátra és jobbra

Érdekes, hogy minden kombinációnak külön kódja van, de ezeket elküldve egymás után, az autó szépen halad.

Köszönöm mindenkinek a segítséget!

Ha sikerül, ennek segítségével majd ifjú titánok fognak közelebbről ismerkedni az informatika rejtelmeivel ... ;)