CoreBluetooth Пространство имен
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Пространство имен CoreBluetooth предоставляет классы для обмена данными по Bluetooth.
Классы
AdvertisementData |
Пространство имен CoreBluetooth предоставляет классы для обмена данными по Bluetooth. |
CBAdvertisement |
Ключи, используемые для поиска значений словаря из NSDictionary, полученных в качестве параметра в DiscoveredPeripheral(CBCentralManager, CBPeripheral, NSDictionary, NSNumber). |
CBATTErrorExtensions |
Методы расширения для перечисления CoreBluetooth.CBATTError. |
CBATTRequest |
Запрос протокола атрибута для чтения или записи. |
CBATTRequestEventArgs |
Предоставляет данные для события ReadRequestReceived. |
CBATTRequestsEventArgs |
Предоставляет данные для события WriteRequestsReceived. |
CBAttribute |
Класс, который уникально идентифицирует устройство Bluetooth. |
CBCentral |
Используется для идентификации центра (которые не являются текущим устройством). |
CBCentralInitOptions |
Содержит параметры для инициализации центрального диспетчера Bluetooth. |
CBCentralManager |
Представляет локальное центральное устройство в Bluetooth LE. Используйте CBCentralManager для сканирования, обнаружения и подключения к удаленным периферийным устройствам. |
CBCentralManagerDelegate |
Делегируйте объекты для CBCentralManager объектов. |
CBCentralManagerDelegate_Extensions |
Методы расширения интерфейса ICBCentralManagerDelegate для поддержки всех методов из CBCentralManagerDelegate протокола. |
CBCharacteristic |
Характеристики удаленного периферийного устройства. |
CBCharacteristicEventArgs |
Предоставляет данные для WroteCharacteristicValue, E:CoreBluetooth.CBCharacteristicEventArgs.UpdatedCharacterteristicValue, E:CoreBluetooth.CBCharacteristicEventArgs.UpdatedNotificationState и E: События CoreBluetooth.CBCharacteristicEventArgs.WroteCharacteristicValue . |
CBDescriptor |
Неизменяемое описание характеристик периферийного устройства. Ознакомьтесь с командой CBMutableDescriptor. |
CBDescriptorEventArgs |
Предоставляет данные для WroteDescriptorValue событий E:CoreBluetooth.CBDescriptorEventArgs.WroteDescriptorValue . |
CBDiscoveredPeripheralEventArgs |
Предоставляет данные для события DiscoveredPeripheral. |
CBErrorExtensions |
Методы расширения для перечисления CoreBluetooth.CBError. |
CBL2CapChannel |
Пространство имен CoreBluetooth предоставляет классы для обмена данными по Bluetooth. |
CBManager |
Пространство имен CoreBluetooth предоставляет классы для обмена данными по Bluetooth. |
CBMutableCharacteristic |
Изменяемый объект CBCharacteristic. |
CBMutableDescriptor |
Изменяемый T:Corebluetooth.CBDescriptor. |
CBMutableService |
Изменяемый объект CBService. |
CBPeer |
Класс, представляющий центральное или периферийное устройство Bluetooth. |
CBPeripheral |
Представляет периферийное устройство CoreBluetooth. |
CBPeripheralDelegate |
Делегат объекта для CBPeripheral. Предоставляет методы, вызывающиеся для событий, связанных с обнаружением, исследованием и взаимодействием с удаленным периферийным устройством. |
CBPeripheralDelegate_Extensions |
Методы расширения интерфейса ICBPeripheralDelegate для поддержки всех методов из CBPeripheralDelegate протокола. |
CBPeripheralErrorEventArgs |
Предоставляет данные для FailedToConnectPeripheral событий E:CoreBluetooth.CBPeripheralErrorEventArgs.FailedToConnectPeripheral . |
CBPeripheralEventArgs |
Предоставляет данные для события ConnectedPeripheral. |
CBPeripheralManager |
Управляет опубликованными службами в базе данных GATT устройства T:Coreblutooth.CBPeripheral . |
CBPeripheralManagerDelegate |
Делегат объекта для CBPeripheralManager. Добавляет методы для событий, связанных с доступностью, публикацией, рекламой и подпиской. |
CBPeripheralManagerDelegate_Extensions |
Методы расширения интерфейса ICBPeripheralManagerDelegate для поддержки всех методов из CBPeripheralManagerDelegate протокола. |
CBPeripheralManagerL2CapChannelOperationEventArgs |
Предоставляет данные для DidUnpublishL2CapChannel событий E:CoreBluetooth.CBPeripheralManagerL2CapChannelOperationEventArgs.DidUnpublishL2CapChannel . |
CBPeripheralManagerOpenL2CapChannelEventArgs |
Предоставляет данные для события DidOpenL2CapChannel. |
CBPeripheralManagerServiceEventArgs |
Предоставляет данные для события ServiceAdded. |
CBPeripheralManagerSubscriptionEventArgs |
Предоставляет данные для CharacteristicUnsubscribed событий E:CoreBluetooth.CBPeripheralManagerSubscriptionEventArgs.CharacteristicUnsubscribed . |
CBPeripheralOpenL2CapChannelEventArgs |
Предоставляет данные для события DidOpenL2CapChannel. |
CBPeripheralServicesEventArgs |
Предоставляет данные для события ModifiedServices. |
CBPeripheralsEventArgs |
Предоставляет данные для RetrievedPeripherals событий E:CoreBluetooth.CBPeripheralsEventArgs.RetrievedPeripherals . |
CBRssiEventArgs |
Предоставляет данные для события RssiRead. |
CBService |
Представляет службы удаленного периферийного устройства. |
CBServiceEventArgs |
Предоставляет данные для DiscoveredIncludedService событий E:CoreBluetooth.CBServiceEventArgs.DiscoveredIncludedService . |
CBUUID |
Универсальные уникальные идентификаторы для стека Bluetooth. |
CBWillRestoreEventArgs |
Предоставляет данные для WillRestoreState событий E:CoreBluetooth.CBWillRestoreEventArgs.WillRestoreState . |
PeripheralConnectionOptions |
Варианты подключения периферийных устройств. |
PeripheralScanningOptions |
Возможные значения параметра options в вызовах ScanForPeripherals(CBUUID[], NSDictionary). |
RestoredState |
Пространство имен CoreBluetooth предоставляет классы для обмена данными по Bluetooth. |
StartAdvertisingOptions |
Управляет доступом к параметрам, используемым методом M:CoreBluetooth.StartAdvertising* . |
Интерфейсы
ICBCentralManagerDelegate |
Интерфейс, представляющий обязательные методы (если таковые есть) протокола CBCentralManagerDelegate. |
ICBPeripheralDelegate |
Интерфейс, представляющий обязательные методы (если таковые есть) протокола CBPeripheralDelegate. |
ICBPeripheralManagerDelegate |
Интерфейс, представляющий обязательные методы (если таковые есть) протокола CBPeripheralManagerDelegate. |
Перечисления
CBATTError |
Ошибки, возвращаемые сервером GATT. |
CBAttributePermissions |
Перечисляет разрешения на чтение, запись и шифрование для значений характеристики. |
CBCentralManagerState |
Перечисляет возможные состояния объекта CBCentralManager. |
CBCharacteristicProperties |
Возможные свойства характеристики. Характеристика может иметь несколько свойств. |
CBCharacteristicWriteType |
Перечисляет возможные типы операций записи в значение характеристики. |
CBError |
Возможные ошибки во время транзакций Bluetooth LE. |
CBManagerState |
Пространство имен CoreBluetooth предоставляет классы для обмена данными по Bluetooth. |
CBPeripheralManagerAuthorizationStatus |
Перечисляет возможные состояния CBPeripheralManagerобъекта . |
CBPeripheralManagerConnectionLatency |
Задержка CBPeripheralManagerподключения объекта . |
CBPeripheralManagerState |
Перечисляет возможные состояния CBPeripheralManagerобъекта . |
CBPeripheralState |
Перечисляет возможные состояния соединения объекта CBPeripheral. |
Комментарии
Пространство имен CoreBluetooth позволяет разработчикам работать с устройствами Bluetooth с низким энергопотреблением (Bluetooth LE).
Модель Bluetooth LE вращается вокруг CBPeer объектов. Существует два вида CBPeer: CBCentral объекты, которые сканируют и используют данные, предоставляемые объектами CBPeripheral , которые соответствуют устройствам Bluetooth LE, предоставляющим данные.
Как правило, устройство iOS будет находиться в CBCentral роли , но также можно создавать приложения, в которых устройство является CBPeripheral.
В следующем примере показано типичное поведение инициализации приложения, которое использует данные с внешних устройств Bluetooth LE. Приложения, имеющие объект CBCentral , должны иметь связанный CBCentralManagerDelegate объект делегата UpdatedState и переопределять его метод. Переопределение должно проверка состояние CBCentralManager и подтвердить, что оно равно PoweredOn.
Как правило, приложениям требуется проверять наличие периферийных устройств Bluetooth LE. Это высокоэнергетическая функция, поэтому разработчики должны вызывать M:CoreBluetooth.CBManager.StopScan* после нахождения CBPeripheral интересующего их объекта или по истечении определенного времени.
public class MySimpleCBCentralManagerDelegate : CBCentralManagerDelegate
{
override public void UpdatedState (CBCentralManager mgr)
{
if (mgr.State == CBCentralManagerState.PoweredOn) {
//Passing in null scans for all peripherals. Peripherals can be targeted by using CBUIIDs
CBUUID[] cbuuids = null;
mgr.ScanForPeripherals (cbuuids); //Initiates async calls of DiscoveredPeripheral
//Timeout after 30 seconds
var timer = new Timer (30 * 1000);
timer.Elapsed += (sender, e) => mgr.StopScan();
} else {
//Invalid state -- Bluetooth powered down, unavailable, etc.
System.Console.WriteLine ("Bluetooth is not available");
}
}
public override void DiscoveredPeripheral (CBCentralManager central, CBPeripheral peripheral, NSDictionary advertisementData, NSNumber RSSI)
{
Console.WriteLine ("Discovered {0}, data {1}, RSSI {2}", peripheral.Name, advertisementData, RSSI);
}
}
public partial class HelloBluetoothCSharpViewController : UIViewController
{
MySimpleCBCentralManagerDelegate myDel;
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
//Important to retain reference, else will be GC'ed
myDel = new MySimpleCBCentralManagerDelegate ();
var myMgr = new CBCentralManager (myDel, DispatchQueue.CurrentQueue);
}
//...etc...
}
Метод DiscoveredPeripheral может вызываться несколько раз для одного физического устройства. Когда разработчики приложений получают ссылку CBPeripheral на , в которой они заинтересованы, они должны сохранить этот справочник для дальнейшей работы и вызвать StopScan.
Используя ссылку на обнаруженный CBPeripheral, разработчики могут подключиться к ней, как показано в следующем примере.
Объект CBPeripheral имеет ноль или более CBServices, каждый из которых имеет ноль или более CBCharacteristic. Если характеристика представляет измерение (например, пульс, время, температура и т. д.), значение будет в свойстве Value .
public class SimplePeripheralDelegate : CBPeripheralDelegate
{
public override void DiscoveredService (CBPeripheral peripheral, NSError error)
{
System.Console.WriteLine ("Discovered a service");
foreach (var service in peripheral.Services) {
Console.WriteLine (service.ToString ());
peripheral.DiscoverCharacteristics (service);
}
}
public override void DiscoveredCharacteristic (CBPeripheral peripheral, CBService service, NSError error)
{
System.Console.WriteLine ("Discovered characteristics of " + peripheral);
foreach (var c in service.Characteristics) {
Console.WriteLine (c.ToString ());
peripheral.ReadValue (c);
}
}
public override void UpdatedValue (CBPeripheral peripheral, CBDescriptor descriptor, NSError error)
{
Console.WriteLine ("Value of characteristic " + descriptor.Characteristic + " is " + descriptor.Value);
}
public override void UpdatedCharacterteristicValue (CBPeripheral peripheral, CBCharacteristic characteristic, NSError error)
{
Console.WriteLine ("Value of characteristic " + characteristic.ToString () + " is " + characteristic.Value);
}
}
//...
mgr = new CBCentralManager (myCentralDelegate, DispatchQueue.CurrentQueue);
mgr.ConnectedPeripheral += (s, e) => {
activePeripheral = e.Peripheral;
System.Console.WriteLine ("Connected to " + activePeripheral.Name);
if (activePeripheral.Delegate == null) {
activePeripheral.Delegate = new SimplePeripheralDelegate ();
//Begins asynchronous discovery of services
activePeripheral.DiscoverServices ();
}
};
//Connect to peripheral, triggering call to ConnectedPeripheral event handled above
mgr.ConnectPeripheral (myPeripheral);