Thanks for the resources. I worked out a method using that write capability/custom characteristic and the Python Bleak library.
async with BleakClient(device.address) as client:
print(f'Connected to {device.address}')
while(1):
packets = await client.read_gatt_char(CHARACTERISTIC_UUID)
if (packets):
print("Seq:", int.from_bytes(packets[0:2], 'little', signed=False))
Unfortunately, I have run into another hiccup: Bleak only get's ~6% of packets at a packet frequency of ~23kHz. Total transmission rate is ~33kbps over the expected ~552kbps.
Seq: 40
Seq: 58
Seq: 73
Seq: 89
Seq: 104
Seq: 120
Seq: 138
Seq: 151
Seq: 168
Seq: 182
Seq: 198
Seq: 213
Seq: 228
Seq: 243
...
Do you suggest any other non-BLE solutions? Or an alternative way to capture the BLE packets without so much loss?