Можете ли вы придумать свой собственный сервис в BLE?

Я просмотрел спецификацию BLE и обнаружил, что Bluetooth SIG предопределил ряд служб, таких как частота сердечных сокращений. Мне просто интересно, могу ли я сам определить службу? Если можно, есть ли какой-нибудь пример? Спасибо.


person Boyu Fang    schedule 02.07.2013    source источник


Ответы (2)


да, вполне возможно определить службы самостоятельно.

Услуги и характеристики идентифицируются UUID. Например, на странице BLE Services перечислены все стандартизированные службы и назначенные UUID.

Как видите, сервисы сердечного ритма используют 0x180D, 16-битную короткую форму, зарезервированную только для стандартизированных сервисов. Единственным требованием при определении собственной службы является использование 128-битного длинного UUID.

Используйте uuidgen (доступно в Mac OS X), чтобы самостоятельно сгенерировать случайный (уникальный) UUID:

uuidgen
# example result: 94B01578-5603-4D5A-8DFF-9365A1C4AC93

Вы можете использовать это для публикации и идентификации вашего собственного сервиса. Это можно сделать либо на собственном оборудовании, либо с помощью программного обеспечения на iOS (поскольку вы упоминаете core-bluetooth).

Создайте свой CBMutableService:

CBUUID *serviceUUID = [CBUUID UUIDWithString:@"94B01578-5603-4D5A-8DFF-9365A1C4AC93"];
CBMutableService *myService = [[CBMutableService alloc] initWithType:serviceUUID primary:YES];
// add some characteristics, also identified by your own custom UUIDs.

Наконец, см. addService: & startAdvertising: в CBPeripheralManager, чтобы начать публикацию вашего пользовательского сервиса.

После публикации этой службы с помощью устройства iOS вы можете сканировать и подключаться к этой службе с помощью другого устройства iOS или Mac, используя CBCentralManager.

person Joris Kluivers    schedule 02.07.2013

Вот демонстрационное приложение с примером настройки собственной службы Bluetooth LE на устройстве iOS: SimpleShare

Вам необходимо сгенерировать UUID, уникальный для службы вашего приложения. Этот сайт создаст его для вас.

person Laura    schedule 14.01.2014