CoreBluetooth Ruang nama
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Namespace Layanan CoreBluetooth menyediakan kelas untuk komunikasi Bluetooth.
Kelas
AdvertisementData |
Namespace Layanan CoreBluetooth menyediakan kelas untuk komunikasi Bluetooth. |
CBAdvertisement |
Kunci yang digunakan untuk mencari nilai kamus dari NSDictionary yang diterima sebagai parameter di DiscoveredPeripheral(CBCentralManager, CBPeripheral, NSDictionary, NSNumber). |
CBATTErrorExtensions |
Metode ekstensi untuk enumerasi CoreBluetooth.CBATTError. |
CBATTRequest |
Permintaan Protokol Atribut untuk membaca atau menulis. |
CBATTRequestEventArgs |
Menyediakan data untuk peristiwa tersebut ReadRequestReceived . |
CBATTRequestsEventArgs |
Menyediakan data untuk peristiwa tersebut WriteRequestsReceived . |
CBAttribute |
Kelas yang secara unik mengidentifikasi perangkat Bluetooth. |
CBCentral |
Digunakan untuk mengidentifikasi pusat (yang bukan perangkat saat ini). |
CBCentralInitOptions |
Berisi opsi untuk menginisialisasi manajer pusat Bluetooth. |
CBCentralManager |
Mewakili perangkat pusat lokal di Bluetooth LE. Gunakan CBCentralManager untuk memindai, menemukan, dan menyambungkan ke periferal jarak jauh. |
CBCentralManagerDelegate |
Delegasikan objek untuk CBCentralManager objek. |
CBCentralManagerDelegate_Extensions |
Metode ekstensi ke ICBCentralManagerDelegate antarmuka untuk mendukung semua metode dari CBCentralManagerDelegate protokol. |
CBCharacteristic |
Karakteristik periferal jarak jauh. |
CBCharacteristicEventArgs |
Menyediakan data untuk WroteCharacteristicValue, E:CoreBluetooth.CBCharacteristicEventArgs.UpdatedCharacterteristicValue, E:CoreBluetooth.CBCharacteristicEventArgs.UpdatedNotificationState dan E: Peristiwa CoreBluetooth.CBCharacteristicEventArgs.WroteCharacteristicValue . |
CBDescriptor |
Deskripsi yang tidak dapat diubah tentang karakteristik periferal. Lihat juga CBMutableDescriptor. |
CBDescriptorEventArgs |
Menyediakan data untuk WroteDescriptorValue peristiwa E:CoreBluetooth.CBDescriptorEventArgs.WroteDescriptorValue . |
CBDiscoveredPeripheralEventArgs |
Menyediakan data untuk peristiwa tersebut DiscoveredPeripheral . |
CBErrorExtensions |
Metode ekstensi untuk enumerasi CoreBluetooth.CBError. |
CBL2CapChannel |
Namespace Layanan CoreBluetooth menyediakan kelas untuk komunikasi Bluetooth. |
CBManager |
Namespace Layanan CoreBluetooth menyediakan kelas untuk komunikasi Bluetooth. |
CBMutableCharacteristic |
Dapat diubah CBCharacteristic. |
CBMutableDescriptor |
T:Corebluetooth.CBDescriptor yang dapat diubah. |
CBMutableService |
Dapat diubah CBService. |
CBPeer |
Kelas yang mewakili perangkat Bluetooth pusat atau perhipheral. |
CBPeripheral |
Mewakili periferal CoreBluetooth. |
CBPeripheralDelegate |
Delegasikan objek untuk CBPeripheral. Menyediakan metode yang dipanggil pada peristiwa yang berkaitan dengan penemuan, eksplorasi, dan interaksi dengan periferal jarak jauh. |
CBPeripheralDelegate_Extensions |
Metode ekstensi ke ICBPeripheralDelegate antarmuka untuk mendukung semua metode dari CBPeripheralDelegate protokol. |
CBPeripheralErrorEventArgs |
Menyediakan data untuk FailedToConnectPeripheral peristiwa E:CoreBluetooth.CBPeripheralErrorEventArgs.FailedToConnectPeripheral . |
CBPeripheralEventArgs |
Menyediakan data untuk peristiwa tersebut ConnectedPeripheral . |
CBPeripheralManager |
Mengelola layanan yang diterbitkan per database GATT perangkat T:Coreblutooth.CBPeripheral . |
CBPeripheralManagerDelegate |
Delegasikan objek untuk CBPeripheralManager. Menambahkan metode untuk peristiwa yang berkaitan dengan ketersediaan, penerbitan, iklan, dan langganan. |
CBPeripheralManagerDelegate_Extensions |
Metode ekstensi ke ICBPeripheralManagerDelegate antarmuka untuk mendukung semua metode dari CBPeripheralManagerDelegate protokol. |
CBPeripheralManagerL2CapChannelOperationEventArgs |
Menyediakan data untuk DidUnpublishL2CapChannel dan E:CoreBluetooth.CBPeripheralManagerL2CapChannelOperationEventArgs.DidUnpublishL2CapChannel events. |
CBPeripheralManagerOpenL2CapChannelEventArgs |
Menyediakan data untuk peristiwa tersebut DidOpenL2CapChannel . |
CBPeripheralManagerServiceEventArgs |
Menyediakan data untuk peristiwa tersebut ServiceAdded . |
CBPeripheralManagerSubscriptionEventArgs |
Menyediakan data untuk CharacteristicUnsubscribed dan E:CoreBluetooth.CBPeripheralManagerSubscriptionEventArgs.CharacteristicUnsubscribed events. |
CBPeripheralOpenL2CapChannelEventArgs |
Menyediakan data untuk peristiwa tersebut DidOpenL2CapChannel . |
CBPeripheralServicesEventArgs |
Menyediakan data untuk peristiwa tersebut ModifiedServices . |
CBPeripheralsEventArgs |
Menyediakan data untuk RetrievedPeripherals dan E:CoreBluetooth.CBPeripheralsEventArgs.RetrievedPeripherals events. |
CBRssiEventArgs |
Menyediakan data untuk peristiwa tersebut RssiRead . |
CBService |
Mewakili layanan periferal jarak jauh. |
CBServiceEventArgs |
Menyediakan data untuk DiscoveredIncludedService peristiwa E:CoreBluetooth.CBServiceEventArgs.DiscoveredIncludedService . |
CBUUID |
Pengidentifikasi Unik Universal untuk tumpukan Bluetooth. |
CBWillRestoreEventArgs |
Menyediakan data untuk WillRestoreState peristiwa E:CoreBluetooth.CBWillRestoreEventArgs.WillRestoreState . |
PeripheralConnectionOptions |
Opsi koneksi periferal. |
PeripheralScanningOptions |
Nilai yang mungkin untuk parameter opsi dalam panggilan ke ScanForPeripherals(CBUUID[], NSDictionary). |
RestoredState |
Namespace Layanan CoreBluetooth menyediakan kelas untuk komunikasi Bluetooth. |
StartAdvertisingOptions |
Mengelola akses ke opsi yang digunakan oleh M:CoreBluetooth.StartAdvertising* . |
Antarmuka
ICBCentralManagerDelegate |
Antarmuka yang mewakili metode yang diperlukan (jika ada) dari protokol CBCentralManagerDelegate. |
ICBPeripheralDelegate |
Antarmuka yang mewakili metode yang diperlukan (jika ada) dari protokol CBPeripheralDelegate. |
ICBPeripheralManagerDelegate |
Antarmuka yang mewakili metode yang diperlukan (jika ada) dari protokol CBPeripheralManagerDelegate. |
Enum
CBATTError |
Kesalahan yang dikembalikan oleh server GATT. |
CBAttributePermissions |
Menghitung izin baca, tulis, dan enkripsi untuk nilai karakteristik. |
CBCentralManagerState |
Menghitung kemungkinan status dari CBCentralManager. |
CBCharacteristicProperties |
Kemungkinan sifat karakteristik. Karakteristik mungkin memiliki beberapa properti. |
CBCharacteristicWriteType |
Menghitung kemungkinan jenis penulisan ke nilai karakteristik. |
CBError |
Kesalahan dimungkinkan selama transaksi BLUETOOTH LE. |
CBManagerState |
Namespace Layanan CoreBluetooth menyediakan kelas untuk komunikasi Bluetooth. |
CBPeripheralManagerAuthorizationStatus |
Menghitung kemungkinan status CBPeripheralManager. |
CBPeripheralManagerConnectionLatency |
Latensi koneksi dari CBPeripheralManager. |
CBPeripheralManagerState |
Menghitung kemungkinan status CBPeripheralManager. |
CBPeripheralState |
Menghitung kemungkinan status koneksi dari .CBPeripheral |
Keterangan
Namespace Layanan CoreBluetooth memungkinkan pengembang untuk bekerja dengan perangkat Bluetooth Low Energy (Bluetooth LE).
Model BLUETOOTH LE berputar di sekitar CBPeer objek. Ada dua jenis CBPeer: CBCentral objek yang memindai dan mengonsumsi data yang disediakan oleh CBPeripheral objek yang sesuai dengan perangkat Bluetooth LE yang menyediakan data.
Umumnya, perangkat iOS akan berada dalam CBCentral peran , tetapi juga dimungkinkan untuk membuat aplikasi di mana perangkat adalah CBPeripheral.
Contoh berikut menunjukkan perilaku inisialisasi khas aplikasi yang menggunakan data dari perangkat BLUETOOTH LE eksternal. Aplikasi yang memiliki CBCentral harus memiliki objek delegasi terkait CBCentralManagerDelegate dan harus mengambil alih metodenya UpdatedState . Penimpaan CBCentralManager harus memeriksa status dan mengonfirmasi bahwa itu adalah PoweredOn.
Biasanya, aplikasi akan ingin memindai periferal BLUETOOTH LE. Ini adalah fungsi energi tinggi, jadi pengembang harus memanggil M:CoreBluetooth.CBManager.StopScan* setelah menemukan CBPeripheral tempat mereka tertarik atau setelah beberapa waktu.
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...
}
Metode DiscoveredPeripheral ini dapat dipanggil beberapa kali untuk satu perangkat fisik. Setelah pengembang aplikasi memiliki referensi tentang CBPeripheral di mana mereka tertarik, mereka harus mempertahankan referensi tersebut untuk pekerjaan lebih lanjut dan memanggil StopScan.
Dengan referensi ke yang ditemukan CBPeripheral, pengembang kemudian dapat terhubung ke referensi tersebut, seperti yang ditunjukkan dalam contoh berikut.
A CBPeripheral memiliki nol atau lebih CBService, yang masing-masing memiliki nol atau lebih CBCharacteristic. Jika karakteristik mewakili pengukuran (seperti heartbeat, waktu, suhu, dll.), nilai akan berada di Value properti .
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);