CoreBluetooth Espacio de nombres
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
El espacio de nombres CoreBluetooth proporciona clases para la comunicación Bluetooth.
Clases
AdvertisementData |
El espacio de nombres CoreBluetooth proporciona clases para la comunicación Bluetooth. |
CBAdvertisement |
Claves usadas para buscar valores de diccionario de NSDictionary recibidos como parámetro en DiscoveredPeripheral(CBCentralManager, CBPeripheral, NSDictionary, NSNumber). |
CBATTErrorExtensions |
Métodos de extensión para la enumeración CoreBluetooth.CBATTError. |
CBATTRequest |
Solicitud de protocolo de atributo para leer o escribir. |
CBATTRequestEventArgs |
Proporciona datos para el evento ReadRequestReceived. |
CBATTRequestsEventArgs |
Proporciona datos para el evento WriteRequestsReceived. |
CBAttribute |
Clase que identifica de forma única un dispositivo Bluetooth. |
CBCentral |
Se usa para identificar los centrales (que no son el dispositivo actual). |
CBCentralInitOptions |
Contiene opciones para inicializar un administrador central de Bluetooth. |
CBCentralManager |
Representa el dispositivo central local en Bluetooth LE. Use CBCentralManager para examinar, detectar y conectarse a periféricos remotos. |
CBCentralManagerDelegate |
Delegar objetos para CBCentralManager objetos. |
CBCentralManagerDelegate_Extensions |
Métodos de extensión a la ICBCentralManagerDelegate interfaz para admitir todos los métodos del CBCentralManagerDelegate protocolo. |
CBCharacteristic |
Características de un periférico remoto. |
CBCharacteristicEventArgs |
Proporciona datos para , WroteCharacteristicValueE:CoreBluetooth.CBCharacteristicEventArgs.UpdatedCharacterteristicValue, CoreBluetooth.CBCharacteristicEventArgs.UpdatedNotificationState y E: Eventos CoreBluetooth.CBCharacteristicEventArgs.WroteCharacteristicValue. |
CBDescriptor |
Descripción inmutable de la característica de un periférico. Consulte también CBMutableDescriptor. |
CBDescriptorEventArgs |
Proporciona datos para los WroteDescriptorValue eventos e E:CoreBluetooth.CBDescriptorEventArgs.WroteDescriptorValue . |
CBDiscoveredPeripheralEventArgs |
Proporciona datos para el evento DiscoveredPeripheral. |
CBErrorExtensions |
Métodos de extensión para la enumeración CoreBluetooth.CBError. |
CBL2CapChannel |
El espacio de nombres CoreBluetooth proporciona clases para la comunicación Bluetooth. |
CBManager |
El espacio de nombres CoreBluetooth proporciona clases para la comunicación Bluetooth. |
CBMutableCharacteristic |
Un objeto mutable CBCharacteristic. |
CBMutableDescriptor | |
CBMutableService |
Un objeto mutable CBService. |
CBPeer |
Clase que representa un dispositivo Bluetooth central o perhiferal. |
CBPeripheral |
Representa un periférico CoreBluetooth. |
CBPeripheralDelegate |
Delegado del objeto para CBPeripheral. Proporciona métodos llamados en eventos relacionados con la detección, la exploración y la interacción con un periférico remoto. |
CBPeripheralDelegate_Extensions |
Métodos de extensión a la ICBPeripheralDelegate interfaz para admitir todos los métodos del CBPeripheralDelegate protocolo. |
CBPeripheralErrorEventArgs |
Proporciona datos para los FailedToConnectPeripheral eventos E E:CoreBluetooth.CBPeripheralErrorEventArgs.FailedToConnectPeripheral . |
CBPeripheralEventArgs |
Proporciona datos para el evento ConnectedPeripheral. |
CBPeripheralManager |
Administra los servicios publicados según la base de datos GATT del dispositivo T:Coreblutooth.CBPeripheral . |
CBPeripheralManagerDelegate |
Delegado del objeto para CBPeripheralManager. Agrega métodos para eventos relacionados con la disponibilidad, publicación, publicidad y suscripción. |
CBPeripheralManagerDelegate_Extensions |
Métodos de extensión a la ICBPeripheralManagerDelegate interfaz para admitir todos los métodos del CBPeripheralManagerDelegate protocolo. |
CBPeripheralManagerL2CapChannelOperationEventArgs |
Proporciona datos para los DidUnpublishL2CapChannel eventos e E:CoreBluetooth.CBPeripheralManagerL2CapChannelOperationEventArgs.DidUnpublishL2CapChannel . |
CBPeripheralManagerOpenL2CapChannelEventArgs |
Proporciona datos para el evento DidOpenL2CapChannel. |
CBPeripheralManagerServiceEventArgs |
Proporciona datos para el evento ServiceAdded. |
CBPeripheralManagerSubscriptionEventArgs |
Proporciona datos para los CharacteristicUnsubscribed eventos E E:CoreBluetooth.CBPeripheralManagerSubscriptionEventArgs.CharacteristicUnsubscriptscribed . |
CBPeripheralOpenL2CapChannelEventArgs |
Proporciona datos para el evento DidOpenL2CapChannel. |
CBPeripheralServicesEventArgs |
Proporciona datos para el evento ModifiedServices. |
CBPeripheralsEventArgs |
Proporciona datos para los RetrievedPeripherals eventos E E:CoreBluetooth.CBPeripheralsEventArgs.RetrievedPeripherals . |
CBRssiEventArgs |
Proporciona datos para el evento RssiRead. |
CBService |
Representa los servicios de un periférico remoto. |
CBServiceEventArgs |
Proporciona datos para los DiscoveredIncludedService eventos E:CoreBluetooth.CBServiceEventArgs.DiscoveredIncludedService . |
CBUUID |
Identificadores únicos universales para la pila bluetooth. |
CBWillRestoreEventArgs |
Proporciona datos para los WillRestoreState eventos E E:CoreBluetooth.CBWillRestoreEventArgs.WillRestoreState . |
PeripheralConnectionOptions |
Opciones de conexión de periféricos. |
PeripheralScanningOptions |
Valores posibles para el parámetro options en las llamadas a ScanForPeripherals(CBUUID[], NSDictionary). |
RestoredState |
El espacio de nombres CoreBluetooth proporciona clases para la comunicación Bluetooth. |
StartAdvertisingOptions |
Administra el acceso a las opciones usadas por M:CoreBluetooth.StartAdvertising* . |
Interfaces
ICBCentralManagerDelegate |
Interfaz que representa los métodos necesarios (si los hay) del protocolo CBCentralManagerDelegate. |
ICBPeripheralDelegate |
Interfaz que representa los métodos necesarios (si los hay) del protocolo CBPeripheralDelegate. |
ICBPeripheralManagerDelegate |
Interfaz que representa los métodos necesarios (si los hay) del protocolo CBPeripheralManagerDelegate. |
Enumeraciones
CBATTError |
Errores devueltos por un servidor GATT. |
CBAttributePermissions |
Enumera los permisos de lectura, escritura y cifrado para los valores de una característica. |
CBCentralManagerState |
Enumera los posibles estados de un CBCentralManagerobjeto . |
CBCharacteristicProperties |
Las posibles propiedades de una característica. Una característica puede tener varias propiedades. |
CBCharacteristicWriteType |
Enumera los posibles tipos de escrituras en el valor de una característica. |
CBError |
Errores posibles durante las transacciones bluetooth LE. |
CBManagerState |
El espacio de nombres CoreBluetooth proporciona clases para la comunicación Bluetooth. |
CBPeripheralManagerAuthorizationStatus |
Enumera los posibles estados de .CBPeripheralManager |
CBPeripheralManagerConnectionLatency |
Latencia de conexión de CBPeripheralManager. |
CBPeripheralManagerState |
Enumera los posibles estados de .CBPeripheralManager |
CBPeripheralState |
Enumera los posibles estados de conexión de .CBPeripheral |
Comentarios
El espacio de nombres CoreBluetooth permite a los desarrolladores trabajar con dispositivos Bluetooth Low Energy (Bluetooth LE).
El modelo Bluetooth LE gira en torno a CBPeer objetos. Hay dos tipos de CBPeer: CBCentral objetos que examinan y consumen datos proporcionados por CBPeripheral objetos que corresponden a dispositivos Bluetooth LE que proporcionan datos.
Por lo general, el dispositivo iOS estará en el CBCentral rol, pero también es posible crear aplicaciones en las que el dispositivo sea .CBPeripheral
En el ejemplo siguiente se muestra el comportamiento de inicialización típico de una aplicación que consume datos de dispositivos Bluetooth LE externos. Las aplicaciones que tienen un CBCentral elemento deben tener un objeto delegado asociado CBCentralManagerDelegate y deben invalidar su UpdatedState método. La invalidación debe comprobar el estado de CBCentralManager y confirmar que es PoweredOn.
Normalmente, las aplicaciones querrán buscar periféricos Bluetooth LE. Se trata de una función de alta energía, por lo que los desarrolladores deben llamar a M:CoreBluetooth.CBManager.StopScan* después de encontrar el en el CBPeripheral que están interesados o después de una cierta cantidad de tiempo.
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...
}
Se DiscoveredPeripheral puede llamar al método varias veces para un único dispositivo físico. Una vez que los desarrolladores de aplicaciones tienen una referencia a en la CBPeripheral que están interesados, deben mantener esa referencia para seguir trabajando y llamar a StopScan.
Con una referencia a un detectado CBPeripheral, los desarrolladores pueden conectarse a él, como se muestra en el ejemplo siguiente.
tiene CBPeripheral cero o más CBServices, cada uno de los cuales tiene cero o más CBCharacteristics. Si la característica representa una medida (por ejemplo, latido, tiempo, temperatura, etc.), el valor estará en la Value propiedad .
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);