Служба ГАТТ / структура характеристик для применения BLE
Я создаю приложение, в котором смартфон должен обмениваться данными с периферийным устройством по Bluetooth с низким энергопотреблением, но мне трудно найти подходящую структуру обслуживания / характеристики GATT для этого взаимодействия. Телефон и периферийные устройства должны взаимодействовать друг с другом по "пользовательскому протоколу", содержащему несколько сообщений отправки / получения. Я имею в виду, что он отправит что-то на периферийное устройство (шаг 1 протокола), который ответит на это, отправив сообщение на телефон (шаг 2 протокола), которое ответит на это отправкой следующее сообщение периферийному устройству (шаг 3 протокола) и т. д. до тех пор, пока протокол не завершится (скажем, после 10 шагов).
Должен ли я создать новый атрибут для каждого шага протокола, который я хочу выполнить, то есть сделать так, чтобы телефон записал в атрибут "protocol1", а периферийное устройство уведомило телефон с атрибутом "protocol2", после чего телефон пишет "protocol3", и т.д. Или я должен использовать только 2 атрибута для этого: один для телефона для записи в (TX), а другой для телефона для чтения (RX) через уведомления? Кажется, что BLE (вместо Bluetooth 3.0) на самом деле не был создан для такого рода связи RX/TX, или я ошибаюсь?
1 ответ
Двух характеристик, одна для передачи и одна для приема должно быть достаточно.
Используйте характеристическую запись для передачи и характеристическую индикацию для приема.