CoreBluetooth Spazio dei nomi
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Lo spazio dei nomi CoreBluetooth fornisce classi per la comunicazione Bluetooth.
Classi
AdvertisementData |
Lo spazio dei nomi CoreBluetooth fornisce classi per la comunicazione Bluetooth. |
CBAdvertisement |
Chiavi usate per cercare i valori del dizionario dal NSDictionary ricevuto come parametro in DiscoveredPeripheral(CBCentralManager, CBPeripheral, NSDictionary, NSNumber). |
CBATTErrorExtensions |
Metodi di estensione per l'enumerazione CoreBluetooth.CBATTError. |
CBATTRequest |
Richiesta di protocollo di attributo per la lettura o la scrittura. |
CBATTRequestEventArgs |
Fornisce dati per l'evento ReadRequestReceived. |
CBATTRequestsEventArgs |
Fornisce dati per l'evento WriteRequestsReceived. |
CBAttribute |
Classe che identifica in modo univoco un dispositivo Bluetooth. |
CBCentral |
Usato per identificare le centrali (che non sono il dispositivo corrente). |
CBCentralInitOptions |
Contiene le opzioni per l'inizializzazione di un gestore centrale Bluetooth. |
CBCentralManager |
Rappresenta il dispositivo centrale locale in Bluetooth LE. Usare CBCentralManager per analizzare, individuare e connettersi a periferiche remote. |
CBCentralManagerDelegate |
Delegare gli oggetti per CBCentralManager gli oggetti . |
CBCentralManagerDelegate_Extensions |
Metodi di estensione per l'interfaccia ICBCentralManagerDelegate per supportare tutti i metodi del CBCentralManagerDelegate protocollo. |
CBCharacteristic |
Caratteristiche di una periferica remota. |
CBCharacteristicEventArgs |
Fornisce dati per WroteCharacteristicValue, E:CoreBluetooth.CBCharacteristicEventArgs.UpdatedCharacterteristicValue, E:CoreBluetooth.CBCharacteristicEventArgs.UpdatedNotificationState e E: Eventi CoreBluetooth.CBCharacteristicEventArgs.WroteCharacteristicValue . |
CBDescriptor |
Descrizione non modificabile della caratteristica di una periferica. Vedere anche CBMutableDescriptor. |
CBDescriptorEventArgs |
Fornisce dati per gli WroteDescriptorValue eventi e E:CoreBluetooth.CBDescriptorEventArgs.WroteDescriptorValue . |
CBDiscoveredPeripheralEventArgs |
Fornisce dati per l'evento DiscoveredPeripheral. |
CBErrorExtensions |
Metodi di estensione per l'enumerazione CoreBluetooth.CBError. |
CBL2CapChannel |
Lo spazio dei nomi CoreBluetooth fornisce classi per la comunicazione Bluetooth. |
CBManager |
Lo spazio dei nomi CoreBluetooth fornisce classi per la comunicazione Bluetooth. |
CBMutableCharacteristic |
Oggetto modificabile CBCharacteristic. |
CBMutableDescriptor |
Oggetto T:Corebluetooth.CBDescriptor modificabile. |
CBMutableService |
Oggetto modificabile CBService. |
CBPeer |
Classe che rappresenta un dispositivo Bluetooth centrale o perifero. |
CBPeripheral |
Rappresenta una periferica CoreBluetooth. |
CBPeripheralDelegate |
Oggetto delegato per CBPeripheral. Fornisce metodi chiamati sugli eventi relativi all'individuazione, all'esplorazione e all'interazione con una periferica remota. |
CBPeripheralDelegate_Extensions |
Metodi di estensione per l'interfaccia ICBPeripheralDelegate per supportare tutti i metodi del CBPeripheralDelegate protocollo. |
CBPeripheralErrorEventArgs |
Fornisce dati per gli FailedToConnectPeripheral eventi e E:CoreBluetooth.CBPeripheralErrorEventArgs.FailedToConnectPeripheral . |
CBPeripheralEventArgs |
Fornisce dati per l'evento ConnectedPeripheral. |
CBPeripheralManager |
Gestisce i servizi pubblicati per il database GATT del dispositivo T:Coreintunetooth.CBPeripheral . |
CBPeripheralManagerDelegate |
Oggetto delegato per CBPeripheralManager. Aggiunge metodi per gli eventi relativi alla disponibilità, alla pubblicazione, alla pubblicità e alla sottoscrizione. |
CBPeripheralManagerDelegate_Extensions |
Metodi di estensione per l'interfaccia ICBPeripheralManagerDelegate per supportare tutti i metodi del CBPeripheralManagerDelegate protocollo. |
CBPeripheralManagerL2CapChannelOperationEventArgs |
Fornisce dati per gli DidUnpublishL2CapChannel eventi e E:CoreBluetooth.CBPeripheralManagerL2CapChannelOperationEventArgs.DidUnpublishL2CapChannel . |
CBPeripheralManagerOpenL2CapChannelEventArgs |
Fornisce dati per l'evento DidOpenL2CapChannel. |
CBPeripheralManagerServiceEventArgs |
Fornisce dati per l'evento ServiceAdded. |
CBPeripheralManagerSubscriptionEventArgs |
Fornisce dati per gli CharacteristicUnsubscribed eventi e E:CoreBluetooth.CBPeripheralManagerSubscriptionEventArgs.CharacteristicUnsubscripts . |
CBPeripheralOpenL2CapChannelEventArgs |
Fornisce dati per l'evento DidOpenL2CapChannel. |
CBPeripheralServicesEventArgs |
Fornisce dati per l'evento ModifiedServices. |
CBPeripheralsEventArgs |
Fornisce dati per gli RetrievedPeripherals eventi E:CoreBluetooth.CBPeripheralsEventArgs.RetrievedPeripherals . |
CBRssiEventArgs |
Fornisce dati per l'evento RssiRead. |
CBService |
Rappresenta i servizi di una periferica remota. |
CBServiceEventArgs |
Fornisce dati per gli DiscoveredIncludedService eventi e E:CoreBluetooth.CBServiceEventArgs.DiscoveredIncludedService . |
CBUUID |
Identificatori univoci universali per lo stack Bluetooth. |
CBWillRestoreEventArgs |
Fornisce dati per gli WillRestoreState eventi e E:CoreBluetooth.CBWillRestoreEventArgs.WillRestoreState . |
PeripheralConnectionOptions |
Opzioni di connessione periferiche. |
PeripheralScanningOptions |
Valori possibili per il parametro options nelle chiamate a ScanForPeripherals(CBUUID[], NSDictionary). |
RestoredState |
Lo spazio dei nomi CoreBluetooth fornisce classi per la comunicazione Bluetooth. |
StartAdvertisingOptions |
Gestisce l'accesso alle opzioni usate dal metodo M:CoreBluetooth.StartAdvertising* . |
Interfacce
ICBCentralManagerDelegate |
Interfaccia che rappresenta i metodi richiesti (se presenti) del protocollo CBCentralManagerDelegate. |
ICBPeripheralDelegate |
Interfaccia che rappresenta i metodi richiesti (se presenti) del protocollo CBPeripheralDelegate. |
ICBPeripheralManagerDelegate |
Interfaccia che rappresenta i metodi richiesti (se presenti) del protocollo CBPeripheralManagerDelegate. |
Enumerazioni
CBATTError |
Errori restituiti da un server GATT. |
CBAttributePermissions |
Enumera le autorizzazioni di lettura, scrittura e crittografia per i valori di una caratteristica. |
CBCentralManagerState |
Enumera i possibili stati di un oggetto CBCentralManager. |
CBCharacteristicProperties |
Proprietà possibili di una caratteristica. Una caratteristica può avere più proprietà. |
CBCharacteristicWriteType |
Enumera i possibili tipi di scritture nel valore di una caratteristica. |
CBError |
Errori possibili durante le transazioni Bluetooth LE. |
CBManagerState |
Lo spazio dei nomi CoreBluetooth fornisce classi per la comunicazione Bluetooth. |
CBPeripheralManagerAuthorizationStatus |
Enumera i possibili stati dell'oggetto CBPeripheralManager. |
CBPeripheralManagerConnectionLatency |
Latenza di connessione dell'oggetto CBPeripheralManager. |
CBPeripheralManagerState |
Enumera i possibili stati dell'oggetto CBPeripheralManager. |
CBPeripheralState |
Enumera i possibili stati di connessione di un oggetto CBPeripheral. |
Commenti
Lo spazio dei nomi CoreBluetooth consente agli sviluppatori di lavorare con dispositivi Bluetooth Low Energy (Bluetooth LE).
Il modello Bluetooth LE ruota attorno agli CBPeer oggetti. Esistono due tipi di CBPeeroggetti CBCentral che analizzano e utilizzano i dati forniti da oggetti che corrispondono ai dispositivi Bluetooth LE forniti dai CBPeripheral dati.
In genere, il dispositivo iOS sarà nel CBCentral ruolo , ma è anche possibile creare app in cui il dispositivo è un .CBPeripheral
L'esempio seguente illustra il tipico comportamento di inizializzazione di un'app che utilizza i dati dai dispositivi Bluetooth LE esterni. Le applicazioni che hanno un CBCentral oggetto devono avere un oggetto delegato associato CBCentralManagerDelegate e devono eseguirne l'override.UpdatedState L'override deve controllare lo stato di CBCentralManager e verificare che sia PoweredOn.
In genere, le applicazioni vogliono cercare periferiche Bluetooth LE. Si tratta di una funzione ad alta energia, quindi gli sviluppatori devono chiamare M:CoreBluetooth.CBManager.StopScan* dopo aver trovato l'oggetto CBPeripheral in cui sono interessati o dopo un determinato periodo di 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...
}
Il DiscoveredPeripheral metodo può essere chiamato più volte per un singolo dispositivo fisico. Quando gli sviluppatori di applicazioni hanno un riferimento a CBPeripheral in cui sono interessati, devono mantenere tale riferimento per ulteriori operazioni e chiamare StopScan.
Con un riferimento a un oggetto individuato CBPeripheral, gli sviluppatori possono quindi connettersi a esso, come illustrato nell'esempio seguente.
Un CBPeripheral oggetto ha zero o più CBServices, ognuno dei quali ha zero o più CBCharacteristics. Se la caratteristica rappresenta una misura (ad esempio un heartbeat, un tempo, una temperatura e così via), il valore sarà nella Value proprietà .
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);