CoreBluetooth Przestrzeń nazw

Przestrzeń nazw CoreBluetooth zapewnia klasy komunikacji Bluetooth.

Klasy

Nazwisko Opis
AdvertisementData

Przestrzeń nazw CoreBluetooth zapewnia klasy komunikacji Bluetooth.

CBAdvertisement

Klucze używane do wyszukiwania wartości słownika z NSDictionary odebrane jako parametr w pliku DiscoveredPeripheral(CBCentralManager, CBPeripheral, NSDictionary, NSNumber).

CBAncsAuthorizationUpdateEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBATTErrorExtensions

Metody rozszerzenia dla CBATTError wyliczenia.

CBATTRequest

Żądanie protokołu atrybutu do odczytu lub zapisu.

CBATTRequestEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBATTRequestsEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBAttribute

Klasa, która jednoznacznie identyfikuje urządzenie Bluetooth.

CBCentral

Służy do identyfikowania centralnych (które nie są bieżącym urządzeniem).

CBCentralInitOptions

Zawiera opcje inicjowania menedżera centralnego Bluetooth.

CBCentralManager

Reprezentuje lokalne centralne urządzenie w technologii Bluetooth LE.  Użyj narzędzia CBCentralManager do skanowania, odnajdywania i nawiązywania połączenia z zdalnymi urządzeniami peryferyjnymi.

CBCentralManagerDelegate

Deleguj obiekty dla CBCentralManager obiektów.

CBCentralManagerDelegate_Extensions

Metody rozszerzenia interfejsu ICBCentralManagerDelegate do obsługi wszystkich metod z protokołu CBCentralManagerDelegate.

CBChannelSoundingProcedureResults

Zawiera wyniki procedury brzmiącej w kanale.

CBChannelSoundingProcedureResultsEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBChannelSoundingSessionConfiguration

Konfiguruje rolę, którą urządzenie peryferyjne przyjmuje w sesji dźwiękowej kanału.

CBCharacteristic

Cechy zdalnego urządzenia peryferyjnego.

CBCharacteristicEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBConnectionEventMatchingOptions

Przestrzeń nazw CoreBluetooth zapewnia klasy komunikacji Bluetooth.

CBConnectPeripheralOptions

Przestrzeń nazw CoreBluetooth zapewnia klasy komunikacji Bluetooth.

CBDescriptor

Niezmienny opis cech urządzenia peryferyjnego. Zobacz również CBMutableDescriptor.

CBDescriptorEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBDiscoveredPeripheralEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBErrorExtensions

Metody rozszerzenia dla CBError wyliczenia.

CBL2CapChannel

Przestrzeń nazw CoreBluetooth zapewnia klasy komunikacji Bluetooth.

CBManager

Przestrzeń nazw CoreBluetooth zapewnia klasy komunikacji Bluetooth.

CBMutableCharacteristic

Modyfikowalny CBCharacteristicelement .

CBMutableDescriptor

Modyfikowalny CBDescriptorelement .

CBMutableService

Modyfikowalny CBServiceelement .

CBPeer

Klasa reprezentująca centralne lub perhipheralne urządzenie Bluetooth.

CBPeripheral

Reprezentuje urządzenie peryferyjne CoreBluetooth.

CBPeripheralConnectionEventEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBPeripheralDelegate

Deleguj obiekt dla CBPeripheralelementu . Udostępnia metody wywoływane na zdarzeniach związanych z odnajdywaniem, eksploracją i interakcją z zdalnym obwodem peryferyjnym.

CBPeripheralDelegate_Extensions

Metody rozszerzenia interfejsu ICBPeripheralDelegate do obsługi wszystkich metod z protokołu CBPeripheralDelegate.

CBPeripheralDiconnectionEventEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBPeripheralErrorEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBPeripheralEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBPeripheralManager

Zarządza opublikowanymi usługami dla CBPeripheral bazy danych GATT urządzenia.

CBPeripheralManagerDelegate

Deleguj obiekt dla CBPeripheralManagerelementu . Dodaje metody zdarzeń związanych z dostępnością, publikowaniem, reklamą i subskrypcją.

CBPeripheralManagerDelegate_Extensions

Metody rozszerzenia interfejsu ICBPeripheralManagerDelegate do obsługi wszystkich metod z protokołu CBPeripheralManagerDelegate.

CBPeripheralManagerL2CapChannelOperationEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBPeripheralManagerOpenL2CapChannelEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBPeripheralManagerServiceEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBPeripheralManagerSubscriptionEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBPeripheralOpenL2CapChannelEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBPeripheralServicesEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBRssiEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBService

Reprezentuje usługi zdalnego urządzenia peryferyjnego.

CBServiceEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

CBUUID

Uniwersalne unikatowe identyfikatory dla stosu Bluetooth.

CBWillRestoreEventArgs

Dostarcza dane dla zdarzenia na podstawie metody protokołu Objective-C.

PeripheralConnectionOptions

Opcje połączenia peryferyjnego.

PeripheralScanningOptions

Możliwe wartości parametru options w wywołaniach do ScanForPeripherals(CBUUID[], NSDictionary).

RestoredState

Przestrzeń nazw CoreBluetooth zapewnia klasy komunikacji Bluetooth.

StartAdvertisingOptions

Zarządza dostępem do opcji używanych przez StartAdvertising(StartAdvertisingOptions)program .

Interfejsy

Nazwisko Opis
ICBCentralManagerDelegate

Deleguj obiekty dla CBCentralManager obiektów.

ICBPeripheralDelegate

Deleguj obiekt dla CBPeripheralelementu . Udostępnia metody wywoływane na zdarzeniach związanych z odnajdywaniem, eksploracją i interakcją z zdalnym obwodem peryferyjnym.

ICBPeripheralManagerDelegate

Deleguj obiekt dla CBPeripheralManagerelementu . Dodaje metody zdarzeń związanych z dostępnością, publikowaniem, reklamą i subskrypcją.

Wyliczenia

Nazwisko Opis
CBATTError

Błędy zwracane przez serwer GATT.

CBAttributePermissions

Wylicza uprawnienia do odczytu, zapisu i szyfrowania dla wartości cech.

CBCentralManagerFeature

Przestrzeń nazw CoreBluetooth zapewnia klasy komunikacji Bluetooth.

CBCentralManagerState

Wylicza możliwe stany obiektu CBCentralManager.

CBChannelSoundingSessionConfigurationRole

Określa rolę, którą urządzenie peryferyjne przyjmuje w sesji dźwiękowej kanału.

CBCharacteristicProperties

Możliwe właściwości cech. Cecha może mieć wiele właściwości.

CBCharacteristicWriteType

Wylicza możliwe typy zapisów do wartości charakterystyki.

CBConnectionEvent

Przestrzeń nazw CoreBluetooth zapewnia klasy komunikacji Bluetooth.

CBError

Błędy możliwe podczas transakcji Bluetooth LE.

CBManagerAuthorization

Przestrzeń nazw CoreBluetooth zapewnia klasy komunikacji Bluetooth.

CBManagerState

Przestrzeń nazw CoreBluetooth zapewnia klasy komunikacji Bluetooth.

CBPeripheralManagerConnectionLatency

Opóźnienie połączenia obiektu CBPeripheralManager.

CBPeripheralManagerState

Wylicza możliwe stany .CBPeripheralManager

CBPeripheralState

Wylicza możliwe stany połączenia obiektu CBPeripheral.

Uwagi

Przestrzeń nazw CoreBluetooth umożliwia deweloperom pracę z urządzeniami Bluetooth Low Energy (Bluetooth LE).

Model Bluetooth LE obraca się wokół CBPeer obiektów. Istnieją dwa rodzaje CBPeerobiektów CBCentral , które skanują i zużywają dane, oraz CBPeripheral obiekty odpowiadające urządzeniom Bluetooth LE zapewniającym dane.

Ogólnie rzecz biorąc, urządzenie z systemem iOS będzie pełnić CBCentral rolę, ale istnieje również możliwość utworzenia aplikacji, w których urządzenie jest CBPeripheral.

W poniższym przykładzie przedstawiono typowe zachowanie inicjowania aplikacji, która korzysta z danych z zewnętrznych urządzeń Bluetooth LE. Aplikacje, które mają CBCentral skojarzony CBCentralManagerDelegate obiekt delegata, muszą zastąpić jego UpdatedState metodę. Przesłonięcia muszą sprawdzić stan CBCentralManager i potwierdzić, że jest to PoweredOn.

Zazwyczaj aplikacje będą chciały skanować pod kątem urządzeń peryferyjnych Bluetooth LE. Jest to funkcja o wysokiej energii, więc deweloperzy powinni zadzwonić StopScan po znalezieniu CBPeripheral , w którym są zainteresowani lub po pewnym czasie.

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

Metoda DiscoveredPeripheral może być wywoływana wiele razy dla jednego urządzenia fizycznego. Gdy deweloperzy aplikacji mają odwołanie do CBPeripheral tego, w którym są zainteresowani, powinni zachować to odwołanie do dalszej pracy i zadzwonić do .StopScan

Przy użyciu odwołania do odnalezionego CBPeripheralelementu deweloperzy mogą następnie nawiązać z nim połączenie, jak pokazano w poniższym przykładzie.

Wartość ma CBPeripheral zero lub więcej CBServices, z których każda ma zero lub więcej CBCharacteristics. Jeśli charakterystyka reprezentuje pomiar (taki jak puls, czas, temperatura itp.), wartość będzie znajdować się we Value właściwości .

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