Ble Bluetooth не получает все фрагментыJAVA

Программисты JAVA общаются здесь
Anonymous
Ble Bluetooth не получает все фрагменты

Сообщение Anonymous »

Подводя итог,
Я пытаюсь установить соединение с цифровым кошельком на моем телефоне Android с помощью BLE. < /p>
BLE Peripheral -> Linux Box (NXP Imx8mm running yocto mickledore)
BLE Central Client -> is an Android phone hosting a Digital Wallet
< /code>
Я использую dbus-java, bluez-dbus вместе с нативным сокетом Unix. Это нормально. < /Li>
Клиент отправляет всплески данных («цифровая идентификация»)
Но мой сервер их не получает. /> Из Btmon: (Btmon видит пакеты, последние данные - 00757314, который получен мной).
Wireshark способен повторно собрать этот дамп < /p>
> ACL Data RX: Handle 3585 flags 0x02 dlen 27 #236 [hci0] 35.621960
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #237 [hci0] 35.622618
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #238 [hci0] 35.623279
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #239 [hci0] 35.623949
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #240 [hci0] 35.624712
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #241 [hci0] 35.625339
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #242 [hci0] 35.625974
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #243 [hci0] 35.626730
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #244 [hci0] 35.627355
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #245 [hci0] 35.632511
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #246 [hci0] 35.633049
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #247 [hci0] 35.633734
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #248 [hci0] 35.634414
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #249 [hci0] 35.635083
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #250 [hci0] 35.635754
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #251 [hci0] 35.636440
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #252 [hci0] 35.637134
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #253 [hci0] 35.637809
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #254 [hci0] 35.638470
> ACL Data RX: Handle 3585 flags 0x01 dlen 6 #255 [hci0] 35.638970
ATT: Write Command (0x52) len 514
Handle: 0x00c7
Data:
> ACL Data RX: Handle 3585 flags 0x02 dlen 27 #256 [hci0] 35.639735
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #257 [hci0] 35.640344
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #258 [hci0] 35.641001
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #259 [hci0] 35.641737
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #260 [hci0] 35.642366
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #261 [hci0] 35.643034
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #262 [hci0] 35.643735
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #263 [hci0] 35.644394
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #264 [hci0] 35.645058
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #265 [hci0] 35.645734
> ACL Data RX: Handle 3585 flags 0x01 dlen 22 #266 [hci0] 35.647456
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #267 [hci0] 35.648035
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #268 [hci0] 35.648734
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #269 [hci0] 35.649370
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #270 [hci0] 35.650060
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #271 [hci0] 35.650736
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #272 [hci0] 35.651415
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #273 [hci0] 35.652086
> ACL Data RX: Handle 3585 flags 0x01 dlen 27 #274 [hci0] 35.652784
> ACL Data RX: Handle 3585 flags 0x01 dlen 11 #275 [hci0] 35.653307
ATT: Write Command (0x52) len 514
Handle: 0x00c7
Data:
> ACL Data RX: Handle 3585 flags 0x02 dlen 11 #276 [hci0] 35.653852
ATT: Write Command (0x52) len 6
Handle: 0x00c7
Data: 00757314
< /code>
Wireshark может успешно собрать все эти данные < /p>
, но, к сожалению, ни один из этих фрагментов не попадает на обратный вызов моей характеристики, даже на DBU Bluez,
Mtu не согласуется в 517, что в порядке < /p>

mtu, что в порядке < /p>

mtsudo dbus-monitor --system interface=org.bluez.GattCharacteristic1

method call time=1744433606.234999 sender=:1.176 -> destination=:1.228 serial=1088 path=/credenceid/service0/state; interface=org.bluez.GattCharacteristic1; member=WriteValue
array of bytes [
01
]
array [
dict entry(
string "device"
variant object path "/org/bluez/hci0/dev_4B_02_AB_E4_B8_D9"
)
dict entry(
string "link"
variant string "LE"
)
dict entry(
string "mtu"
variant uint16 517
)
]
method call time=1744433609.654247 sender=:1.176 -> destination=:1.228 serial=1089 path=/credenceid/service0/clientToServer; interface=org.bluez.GattCharacteristic1; member=WriteValue
array of bytes [
00 75 73 14
]
array [
dict entry(
string "device"
variant object path "/org/bluez/hci0/dev_4B_02_AB_E4_B8_D9"
)
dict entry(
string "link"
variant string "LE"
)
dict entry(
string "mtu"
variant uint16 517
)
]
method call time=1744433611.482766 sender=:1.176 -> destination=:1.228 serial=1096 path=/credenceid/service0/serverToClient; interface=org.bluez.GattCharacteristic1; member=StopNotify
method call time=1744433611.482820 sender=:1.176 -> destination=:1.228 serial=1097 path=/credenceid/service0/state; interface=org.bluez.GattCharacteristic1; member=StopNotify
< /code>
Может ли кто -нибудь объяснить, что мне здесь не хватает ?? Я использую Bluez 5.66

Подробнее здесь: https://stackoverflow.com/questions/795 ... -fragments

Вернуться в «JAVA»