CoreBluetooth Przestrzeń nazw
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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);