CoreBluetooth Namespace
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
O namespace CoreBluetooth fornece classes para comunicação Bluetooth.
Classes
AdvertisementData |
O namespace CoreBluetooth fornece classes para comunicação Bluetooth. |
CBAdvertisement |
Chaves usadas para pesquisar valores de dicionário do NSDictionary recebido como um parâmetro em DiscoveredPeripheral(CBCentralManager, CBPeripheral, NSDictionary, NSNumber). |
CBATTErrorExtensions |
Métodos de extensão para a enumeração CoreBluetooth.CBATTError. |
CBATTRequest |
Uma solicitação de Protocolo de Atributo para leitura ou gravação. |
CBATTRequestEventArgs |
Fornece dados para o evento de ReadRequestReceived . |
CBATTRequestsEventArgs |
Fornece dados para o evento de WriteRequestsReceived . |
CBAttribute |
Classe que identifica exclusivamente um dispositivo Bluetooth. |
CBCentral |
Usado para identificar centrais (que não são o dispositivo atual). |
CBCentralInitOptions |
Contém opções para inicializar um gerenciador central bluetooth. |
CBCentralManager |
Representa o dispositivo central local no Bluetooth LE. Use o CBCentralManager para examinar, descobrir e conectar-se a periféricos remotos. |
CBCentralManagerDelegate |
Delegar objetos para CBCentralManager objetos. |
CBCentralManagerDelegate_Extensions |
Métodos de extensão para a ICBCentralManagerDelegate interface para dar suporte a todos os métodos do CBCentralManagerDelegate protocolo. |
CBCharacteristic |
Características de um periférico remoto. |
CBCharacteristicEventArgs |
Fornece dados para o WroteCharacteristicValue, E:CoreBluetooth.CBCharacteristicEventArgs.UpdatedCharacterteristicValue, E:CoreBluetooth.CBCharacteristicEventArgs.UpdatedNotificationState e E: Eventos CoreBluetooth.CBCharacteristicEventArgs.WroteCharacteristicValue . |
CBDescriptor |
Uma descrição imutável da característica de um periférico. Consulte também CBMutableDescriptor. |
CBDescriptorEventArgs |
Fornece dados para os WroteDescriptorValue eventos E:CoreBluetooth.CBDescriptorEventArgs.WroteDescriptorValue . |
CBDiscoveredPeripheralEventArgs |
Fornece dados para o evento de DiscoveredPeripheral . |
CBErrorExtensions |
Métodos de extensão para a enumeração CoreBluetooth.CBError. |
CBL2CapChannel |
O namespace CoreBluetooth fornece classes para comunicação Bluetooth. |
CBManager |
O namespace CoreBluetooth fornece classes para comunicação Bluetooth. |
CBMutableCharacteristic |
Um mutável CBCharacteristic. |
CBMutableDescriptor |
Um T:Corebluetooth.CBDescriptor mutável. |
CBMutableService |
Um mutável CBService. |
CBPeer |
Classe que representa um dispositivo Bluetooth central ou periférico. |
CBPeripheral |
Representa um periférico CoreBluetooth. |
CBPeripheralDelegate |
Objeto delegate para CBPeripheral. Fornece métodos chamados em eventos relacionados à descoberta, exploração e interação com um periférico remoto. |
CBPeripheralDelegate_Extensions |
Métodos de extensão para a ICBPeripheralDelegate interface para dar suporte a todos os métodos do CBPeripheralDelegate protocolo. |
CBPeripheralErrorEventArgs |
Fornece dados para os FailedToConnectPeripheral eventos E:CoreBluetooth.CBPeripheralErrorEventArgs.FailedToConnectPeripheral . |
CBPeripheralEventArgs |
Fornece dados para o evento de ConnectedPeripheral . |
CBPeripheralManager |
Gerencia serviços publicados de acordo com o banco de dados GATT do dispositivo T:Coreblutooth.CBPeripheral . |
CBPeripheralManagerDelegate |
Objeto delegate para CBPeripheralManager. Adiciona métodos para eventos relacionados à disponibilidade, publicação, publicidade e assinatura. |
CBPeripheralManagerDelegate_Extensions |
Métodos de extensão para a ICBPeripheralManagerDelegate interface para dar suporte a todos os métodos do CBPeripheralManagerDelegate protocolo. |
CBPeripheralManagerL2CapChannelOperationEventArgs |
Fornece dados para os DidUnpublishL2CapChannel eventos E:CoreBluetooth.CBPeripheralManagerL2CapChannelOperationEventArgs.DidUnpublishL2CapChannel . |
CBPeripheralManagerOpenL2CapChannelEventArgs |
Fornece dados para o evento de DidOpenL2CapChannel . |
CBPeripheralManagerServiceEventArgs |
Fornece dados para o evento de ServiceAdded . |
CBPeripheralManagerSubscriptionEventArgs |
Fornece dados para os CharacteristicUnsubscribed eventos E:CoreBluetooth.CBPeripheralManagerSubscriptionEventArgs.CharacteristicUnsubscribed . |
CBPeripheralOpenL2CapChannelEventArgs |
Fornece dados para o evento de DidOpenL2CapChannel . |
CBPeripheralServicesEventArgs |
Fornece dados para o evento de ModifiedServices . |
CBPeripheralsEventArgs |
Fornece dados para os RetrievedPeripherals eventos E:CoreBluetooth.CBPeripheralsEventArgs.RetrievedPeripherals . |
CBRssiEventArgs |
Fornece dados para o evento de RssiRead . |
CBService |
Representa os serviços de um periférico remoto. |
CBServiceEventArgs |
Fornece dados para os DiscoveredIncludedService eventos E:CoreBluetooth.CBServiceEventArgs.DiscoveredIncludedService . |
CBUUID |
Identificadores Exclusivos Universais para a pilha Bluetooth. |
CBWillRestoreEventArgs |
Fornece dados para os WillRestoreState eventos E:CoreBluetooth.CBWillRestoreEventArgs.WillRestoreState . |
PeripheralConnectionOptions |
Opções de conexão periférica. |
PeripheralScanningOptions |
Valores possíveis para o parâmetro de opções em chamadas para ScanForPeripherals(CBUUID[], NSDictionary). |
RestoredState |
O namespace CoreBluetooth fornece classes para comunicação Bluetooth. |
StartAdvertisingOptions |
Gerencia o acesso às opções usadas pelo método M:CoreBluetooth.StartAdvertising* . |
Interfaces
ICBCentralManagerDelegate |
Interface que representa os métodos necessários (se houver) do protocolo CBCentralManagerDelegate. |
ICBPeripheralDelegate |
Interface que representa os métodos necessários (se houver) do protocolo CBPeripheralDelegate. |
ICBPeripheralManagerDelegate |
Interface que representa os métodos necessários (se houver) do protocolo CBPeripheralManagerDelegate. |
Enumerações
CBATTError |
Erros retornados por um servidor GATT. |
CBAttributePermissions |
Enumera as permissões de leitura, gravação e criptografia para os valores de uma característica. |
CBCentralManagerState |
Enumera os estados possíveis de um CBCentralManager. |
CBCharacteristicProperties |
As propriedades possíveis de uma característica. Uma característica pode ter várias propriedades. |
CBCharacteristicWriteType |
Enumera os tipos possíveis de gravações no valor de uma característica. |
CBError |
Erros possíveis durante transações de BLUETOOTH LE. |
CBManagerState |
O namespace CoreBluetooth fornece classes para comunicação Bluetooth. |
CBPeripheralManagerAuthorizationStatus |
Enumera os estados possíveis do CBPeripheralManager. |
CBPeripheralManagerConnectionLatency |
A latência de conexão do CBPeripheralManager. |
CBPeripheralManagerState |
Enumera os estados possíveis do CBPeripheralManager. |
CBPeripheralState |
Enumera os estados de conexão possíveis de um CBPeripheral. |
Comentários
O namespace CoreBluetooth permite que os desenvolvedores trabalhem com dispositivos Bluetooth LE (Baixa Energia Bluetooth).
O modelo bluetooth LE gira em torno CBPeer de objetos. Há dois tipos de CBPeer: CBCentral objetos que verificam e consomem dados fornecidos por CBPeripheral objetos que correspondem a dispositivos Bluetooth LE que fornecem dados.
Em geral, o dispositivo iOS estará na CBCentral função, mas também é possível criar aplicativos nos quais o dispositivo é um CBPeripheral.
O exemplo a seguir mostra o comportamento típico de inicialização de um aplicativo que consome dados de dispositivos Bluetooth LE externos. Os aplicativos que têm um CBCentral devem ter um objeto delegado associado CBCentralManagerDelegate e devem substituir seu UpdatedState método. A substituição deve marcar o estado do CBCentralManager e confirmar que ele é PoweredOn.
Normalmente, os aplicativos desejarão verificar periféricos bluetooth LE. Essa é uma função de alta energia, portanto, os desenvolvedores devem chamar M:CoreBluetooth.CBManager.StopScan* depois de encontrar o CBPeripheral no qual estão interessados ou após um determinado período de tempo.
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...
}
O DiscoveredPeripheral método pode ser chamado várias vezes para um único dispositivo físico. Depois que os CBPeripheral desenvolvedores de aplicativos tiverem uma referência ao no qual estão interessados, eles devem manter essa referência para mais trabalho e chamar StopScan.
Com uma referência a um descoberto CBPeripheral, os desenvolvedores podem se conectar a ele, conforme mostrado no exemplo a seguir.
Um tem zero ou mais CBServices, cada um CBPeripheral deles tem zero ou mais CBCharacteristics. Se a característica representar uma medida (como pulsação, tempo, temperatura etc.), o valor estará na Value propriedade .
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);