Condividi tramite


CoreBluetooth Spazio dei nomi

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);