Bagikan melalui


CoreBluetooth Ruang nama

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