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
| Nome | Descrizione |
|---|---|
| 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). |
| CBAncsAuthorizationUpdateEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBATTErrorExtensions |
Metodi di estensione per l'enumerazione CBATTError . |
| CBATTRequest |
Richiesta del protocollo di attributo per la lettura o la scrittura. |
| CBATTRequestEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBATTRequestsEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBAttribute |
Classe che identifica in modo univoco un dispositivo Bluetooth. |
| CBCentral |
Usato per identificare i 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 alle 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 protocollo CBCentralManagerDelegate. |
| CBChannelSoundingProcedureResults |
Contiene i risultati di una procedura di audio del canale. |
| CBChannelSoundingProcedureResultsEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBChannelSoundingSessionConfiguration |
Configura il ruolo assunto da una periferica in una sessione di audio del canale. |
| CBCharacteristic |
Caratteristiche di una periferica remota. |
| CBCharacteristicEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBConnectionEventMatchingOptions |
Lo spazio dei nomi CoreBluetooth fornisce classi per la comunicazione Bluetooth. |
| CBConnectPeripheralOptions |
Lo spazio dei nomi CoreBluetooth fornisce classi per la comunicazione Bluetooth. |
| CBDescriptor |
Descrizione non modificabile della caratteristica di una periferica. Vedi anche CBMutableDescriptor. |
| CBDescriptorEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBDiscoveredPeripheralEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBErrorExtensions |
Metodi di estensione per l'enumerazione 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 modificabile CBDescriptor. |
| CBMutableService |
Oggetto modificabile CBService. |
| CBPeer |
Classe che rappresenta un dispositivo Bluetooth centrale o perhifero. |
| CBPeripheral |
Rappresenta una periferica CoreBluetooth. |
| CBPeripheralConnectionEventEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| 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 protocollo CBPeripheralDelegate. |
| CBPeripheralDiconnectionEventEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBPeripheralErrorEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBPeripheralEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBPeripheralManager |
Gestisce i servizi pubblicati in base al CBPeripheral database GATT del dispositivo. |
| 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 protocollo CBPeripheralManagerDelegate. |
| CBPeripheralManagerL2CapChannelOperationEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBPeripheralManagerOpenL2CapChannelEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBPeripheralManagerServiceEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBPeripheralManagerSubscriptionEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBPeripheralOpenL2CapChannelEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBPeripheralServicesEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBRssiEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBService |
Rappresenta i servizi di una periferica remota. |
| CBServiceEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| CBUUID |
Identificatori univoci universali per lo stack Bluetooth. |
| CBWillRestoreEventArgs |
Fornisce dati per un evento basato su un metodo di protocollo Objective-C. |
| 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 da StartAdvertising(StartAdvertisingOptions). |
Interfacce
| Nome | Descrizione |
|---|---|
| ICBCentralManagerDelegate |
Delegare gli oggetti per CBCentralManager gli oggetti . |
| ICBPeripheralDelegate |
Oggetto delegato per CBPeripheral. Fornisce metodi chiamati sugli eventi relativi all'individuazione, all'esplorazione e all'interazione con una periferica remota. |
| ICBPeripheralManagerDelegate |
Oggetto delegato per CBPeripheralManager. Aggiunge metodi per gli eventi relativi alla disponibilità, alla pubblicazione, alla pubblicità e alla sottoscrizione. |
Enumerazioni
| Nome | Descrizione |
|---|---|
| CBATTError |
Errori restituiti da un server GATT. |
| CBAttributePermissions |
Enumera le autorizzazioni di lettura, scrittura e crittografia per i valori di una caratteristica. |
| CBCentralManagerFeature |
Lo spazio dei nomi CoreBluetooth fornisce classi per la comunicazione Bluetooth. |
| CBCentralManagerState |
Enumera i possibili stati di un oggetto CBCentralManager. |
| CBChannelSoundingSessionConfigurationRole |
Specifica il ruolo assunto da una periferica in una sessione di audio del canale. |
| CBCharacteristicProperties |
Proprietà possibili di una caratteristica. Una caratteristica può avere più proprietà. |
| CBCharacteristicWriteType |
Enumera i possibili tipi di scritture nel valore di una caratteristica. |
| CBConnectionEvent |
Lo spazio dei nomi CoreBluetooth fornisce classi per la comunicazione Bluetooth. |
| CBError |
Errori possibili durante le transazioni Bluetooth LE. |
| CBManagerAuthorization |
Lo spazio dei nomi CoreBluetooth fornisce classi per la comunicazione Bluetooth. |
| CBManagerState |
Lo spazio dei nomi CoreBluetooth fornisce classi per la comunicazione Bluetooth. |
| 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 intorno agli CBPeer oggetti. Esistono due tipi di CBPeeroggetti che CBCentral analizzano e utilizzano dati e CBPeripheral oggetti che corrispondono ai dispositivi Bluetooth LE che forniscono 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 dispongono di un CBCentral oggetto delegato devono avere un oggetto delegato associato CBCentralManagerDelegate e devono eseguire l'override del relativo UpdatedState metodo. L'override deve controllare lo stato dell'oggetto CBCentralManager e verificare che sia PoweredOn.
In genere, le applicazioni vogliono cercare le periferiche Bluetooth LE. Si tratta di una funzione ad alta energia, quindi gli sviluppatori devono chiamare StopScan dopo aver trovato l'oggetto CBPeripheral in cui sono interessati o dopo una certa quantità 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 all'oggetto 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);