CoreBluetooth Espace de noms

L’espace de noms CoreBluetooth fournit des classes pour la communication Bluetooth.

Classes

AdvertisementData

L’espace de noms CoreBluetooth fournit des classes pour la communication Bluetooth.

CBAdvertisement

Clés utilisées pour rechercher des valeurs de dictionnaire à partir du NSDictionary reçu en tant que paramètre dans DiscoveredPeripheral(CBCentralManager, CBPeripheral, NSDictionary, NSNumber).

CBATTErrorExtensions

Méthodes d’extension pour l’énumération CoreBluetooth.CBATTError.

CBATTRequest

Demande de protocole d’attribut pour la lecture ou l’écriture.

CBATTRequestEventArgs

Fournit des données pour l'événement ReadRequestReceived.

CBATTRequestsEventArgs

Fournit des données pour l'événement WriteRequestsReceived.

CBAttribute

Classe qui identifie de manière unique un appareil Bluetooth.

CBCentral

Permet d’identifier les centrales (qui ne sont pas l’appareil actuel).

CBCentralInitOptions

Contient les options d’initialisation d’un gestionnaire central Bluetooth.

CBCentralManager

Représente l’appareil central local dans Bluetooth LE.  Utilisez CBCentralManager pour analyser, découvrir et vous connecter à des périphériques distants.

CBCentralManagerDelegate

Déléguer des objets pour des CBCentralManager objets.

CBCentralManagerDelegate_Extensions

Méthodes d’extension à l’interface ICBCentralManagerDelegate pour prendre en charge toutes les méthodes du CBCentralManagerDelegate protocole.

CBCharacteristic

Caractéristiques d’un périphérique distant.

CBCharacteristicEventArgs

Fournit des données pour , WroteCharacteristicValueE:CoreBluetooth.CBCharacteristicEventArgs.UpdatedCharacterteristicValue, E:CoreBluetooth.CBCharacteristicEventArgs.UpdatedNotificationState et E: Événements CoreBluetooth.CBCharacteristicEventArgs.WroteCharacteristicValue.

CBDescriptor

Description immuable de la caractéristique d’un périphérique. Voir aussi CBMutableDescriptor.

CBDescriptorEventArgs

Fournit des données pour les WroteDescriptorValue événements E:CoreBluetooth.CBDescriptorEventArgs.WroteDescriptorValue .

CBDiscoveredPeripheralEventArgs

Fournit des données pour l'événement DiscoveredPeripheral.

CBErrorExtensions

Méthodes d’extension pour l’énumération CoreBluetooth.CBError.

CBL2CapChannel

L’espace de noms CoreBluetooth fournit des classes pour la communication Bluetooth.

CBManager

L’espace de noms CoreBluetooth fournit des classes pour la communication Bluetooth.

CBMutableCharacteristic

Mutable CBCharacteristic.

CBMutableDescriptor

T T:Corebluetooth.CBDescriptor mutable.

CBMutableService

Mutable CBService.

CBPeer

Classe qui représente un appareil Bluetooth central ou perhiphérique.

CBPeripheral

Représente un périphérique CoreBluetooth.

CBPeripheralDelegate

Objet délégué pour CBPeripheral. Fournit des méthodes appelées sur les événements liés à la découverte, à l’exploration et à l’interaction avec un périphérique distant.

CBPeripheralDelegate_Extensions

Méthodes d’extension à l’interface ICBPeripheralDelegate pour prendre en charge toutes les méthodes du CBPeripheralDelegate protocole.

CBPeripheralErrorEventArgs

Fournit des données pour les FailedToConnectPeripheral événements E:CoreBluetooth.CBPeripheralErrorEventArgs.FailedToConnectPeripheral .

CBPeripheralEventArgs

Fournit des données pour l'événement ConnectedPeripheral.

CBPeripheralManager

Gère les services publiés selon la base de données GATT de l’appareil T:Coreblutooth.CBPeripheral .

CBPeripheralManagerDelegate

Objet délégué pour CBPeripheralManager. Ajoute des méthodes pour les événements liés à la disponibilité, à la publication, à la publicité et à l’abonnement.

CBPeripheralManagerDelegate_Extensions

Méthodes d’extension à l’interface ICBPeripheralManagerDelegate pour prendre en charge toutes les méthodes du CBPeripheralManagerDelegate protocole.

CBPeripheralManagerL2CapChannelOperationEventArgs

Fournit des données pour les DidUnpublishL2CapChannel événements E:CoreBluetooth.CBPeripheralManagerL2CapChannelOperationEventArgs.DidUnpublishL2CapChannel .

CBPeripheralManagerOpenL2CapChannelEventArgs

Fournit des données pour l'événement DidOpenL2CapChannel.

CBPeripheralManagerServiceEventArgs

Fournit des données pour l'événement ServiceAdded.

CBPeripheralManagerSubscriptionEventArgs

Fournit des données pour les CharacteristicUnsubscribed événements E:CoreBluetooth.CBPeripheralManagerSubscriptionEventArgs.CharacteristicUnsubscribed .

CBPeripheralOpenL2CapChannelEventArgs

Fournit des données pour l'événement DidOpenL2CapChannel.

CBPeripheralServicesEventArgs

Fournit des données pour l'événement ModifiedServices.

CBPeripheralsEventArgs

Fournit des données pour les RetrievedPeripherals événements E:CoreBluetooth.CBPeripheralsEventArgs.RetrievedPeripherals .

CBRssiEventArgs

Fournit des données pour l'événement RssiRead.

CBService

Représente les services d’un périphérique distant.

CBServiceEventArgs

Fournit des données pour les DiscoveredIncludedService événements E:CoreBluetooth.CBServiceEventArgs.DiscoveredIncludedService .

CBUUID

Identificateurs uniques universels pour la pile Bluetooth.

CBWillRestoreEventArgs

Fournit des données pour les WillRestoreState événements E:CoreBluetooth.CBWillRestoreEventArgs.WillRestoreState .

PeripheralConnectionOptions

Options de connexion de périphérique.

PeripheralScanningOptions

Valeurs possibles pour le paramètre options dans les appels à ScanForPeripherals(CBUUID[], NSDictionary).

RestoredState

L’espace de noms CoreBluetooth fournit des classes pour la communication Bluetooth.

StartAdvertisingOptions

Gère l’accès aux options utilisées par la méthode M:CoreBluetooth.StartAdvertising* .

Interfaces

ICBCentralManagerDelegate

Interface représentant les méthodes requises (le cas échéant) du protocole CBCentralManagerDelegate.

ICBPeripheralDelegate

Interface représentant les méthodes requises (le cas échéant) du protocole CBPeripheralDelegate.

ICBPeripheralManagerDelegate

Interface représentant les méthodes requises (le cas échéant) du protocole CBPeripheralManagerDelegate.

Énumérations

CBATTError

Erreurs retournées par un serveur GATT.

CBAttributePermissions

Énumère les autorisations de lecture, d’écriture et de chiffrement pour les valeurs d’une caractéristique.

CBCentralManagerState

Énumère les états possibles d’un CBCentralManager.

CBCharacteristicProperties

Propriétés possibles d’une caractéristique. Une caractéristique peut avoir plusieurs propriétés.

CBCharacteristicWriteType

Énumère les types d’écritures possibles à la valeur d’une caractéristique.

CBError

Erreurs possibles lors des transactions Bluetooth LE.

CBManagerState

L’espace de noms CoreBluetooth fournit des classes pour la communication Bluetooth.

CBPeripheralManagerAuthorizationStatus

Énumère les états possibles de .CBPeripheralManager

CBPeripheralManagerConnectionLatency

Latence de connexion du CBPeripheralManager.

CBPeripheralManagerState

Énumère les états possibles de .CBPeripheralManager

CBPeripheralState

Énumère les états de connexion possibles d’un CBPeripheral.

Remarques

L’espace de noms CoreBluetooth permet aux développeurs de travailler avec des appareils Bluetooth Low Energy (Bluetooth LE).

Le modèle Bluetooth LE tourne autour CBPeer d’objets. Il existe deux types d’objets CBPeer: CBCentral les objets qui analysent et consomment des données fournies par CBPeripheral des objets qui correspondent à des appareils Bluetooth LE fournissant des données.

En règle générale, l’appareil iOS joue le CBCentral rôle, mais il est également possible de créer des applications dans lesquelles l’appareil est un CBPeripheral.

L’exemple suivant montre le comportement d’initialisation classique d’une application qui consomme des données à partir d’appareils Bluetooth LE externes. Les applications qui ont un CBCentral doivent avoir un objet délégué associé CBCentralManagerDelegate et remplacer sa UpdatedState méthode. Le remplacement doit case activée l’état du et confirmer qu’il s’agit PoweredOnde CBCentralManager .

En règle générale, les applications souhaitent rechercher les périphériques Bluetooth LE. Il s’agit d’une fonction à haute énergie. Les développeurs doivent donc appeler M:CoreBluetooth.CBManager.StopScan* après avoir trouvé le CBPeripheral qui les intéresse ou après un certain laps de temps.

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... 
}     

La DiscoveredPeripheral méthode peut être appelée plusieurs fois pour un seul appareil physique. Une fois que les développeurs d’applications disposent d’une référence au CBPeripheral qui les intéresse, ils doivent conserver cette référence pour un travail supplémentaire et appeler StopScan.

Avec une référence à un découvert CBPeripheral, les développeurs peuvent ensuite s’y connecter, comme illustré dans l’exemple suivant.

un CBPeripheral a zéro ou plusieurs CBServices, chacun d’eux ayant zéro ou plus CBCharacteristicde s. Si la caractéristique représente une mesure (par exemple, une pulsation, une heure, une température, etc.), la valeur se trouve dans la Value propriété .

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