Доступ к UART (TX / RX) на датчике с использованием BLE UUID для Rpi - PullRequest
0 голосов
/ 05 марта 2020

Я использую Rpi для подключения к устройству с поддержкой BLE. Мне нужно иметь возможность вытащить историю с устройства (устройство сохраняет данные за 5+ дней).

В документации эта услуга включена с использованием UUID - один для TX и один для RX. В нем детализируются команды для отправки:

  1. После подключения к UART мобильное устройство отправляет запрос HST (истории) с текущей меткой времени (Unix время, 4 байта). Служба UART отвечает подтверждением HOK (история в порядке).

  2. Если устройство не имеет доступной синхронизированной истории, оно начинает отправку данных с упакованным HT после одного или нескольких пакетов HD. HT-пакет содержит временную метку начального HD-пакета, а также количество и размер HD-пакетов. Мобильное устройство подтверждает получение пакетов HD, отправив команду HOK с текущей отметкой времени.

Документацию можно найти в нижней части страницы здесь: https://help.atmotube.com/technical/14-atmotube-ble-api/?utm_source=atmotube&utm_medium=main_site

Я пытаюсь отправить команду через UUID TX и прослушать входящие данные на UUID RX.

Я попытался выполнить это с помощью bluetoothctl, выполнив следующее: [ATMOTUBE: / service0015 / char0018] = TX UUID

[ATMOTUBE:/service0015/char0018] read
Attempting to read /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x48
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x44
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x00
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x02
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x19
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x1c
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x91
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x00
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x2a
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x85
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x01
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x00
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x19
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x1c
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x83
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x00
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x1f
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x85
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x01
[CHG] Attribute /org/bluez/hci0/dev_ED_9F_01_EF_D5_40/service0015/char0018 Value: 0x00
  48 44 00 02 19 1c 91 00 2a 85 01 00 19 1c 83 00  HD......*.......
  1f 85 01 00                                      ....     

Если честно, я не знаю, что это возвращает. Любая помощь будет принята с благодарностью

...