私のブルートゥースの友人は、まず両方のメッセージを送信したい場合は、現在の周辺機器を切断して別のものと接続する必要はありません。しかし、多くのアプリケーションでは、接続されているデバイス(CBPeripheral)の数が5〜10個に制限されています。これは5〜10個の接続デバイスが自発的に失われる可能性があるためです。たとえば:
[[RKCentralManager sharedManager] scanForPeripheralsWithServices:nil options:@{CBCentralManagerScanOptionAllowDuplicatesKey:@NO} onUpdated:^(RKPeripheral *peripheral)
{
//first of all u should start a scan
[[RKCentralManager sharedManager] connectPeripheral: peripheral options:nil onFinished:^(RKPeripheral * connectedperipheral, NSError *error)
{
//after u can connect to Peripheral immediately
[connectedperipheral discoverServices:nil onFinish:^(NSError *error)
{
// services - a collection of data and associated behaviors for accomplishing a function or feature of a device
[connectedperipheral discoverCharacteristics:nil forService: [connectedperipheral.services lastObject] onFinish:^(CBService *service, NSError *error)
{
//after u should take a characteristic - Represents a service's characteristic
CBCharacteristic * characteristic = service.characteristics[0];
//and at last u can write value in characteristic in which you are going to write down something
NSData * data = [NSData dataWithHexString: newstring];
CBCharacteristicWriteType type = CBCharacteristicWriteWithoutResponse;
[connectedperipheral writeValue:data forCharacteristic:characteristic type:type onFinish:nil];
}];
}];
}];
}];
Bluetoothデバイスのためのメッセージを送るのおおよそのスキームは、メソッドの投資を行うことは必須ではない、彼らはアクションに配布することができます。
は、Uを正しく使用すると、CBCentralManagerの仕事であるため、接続とデータを複数のデバイスに送信する心配はありません。
CBCentralManagerオブジェクトは、検出されたまたは接続されたリモート周辺デバイス(CBPeripheralオブジェクトによって表される)を管理するために使用され、広告周辺機器のスキャン、検出、および接続を含みます。
いくつかのデバイスに一度に接続してメッセージを送信することができ、すべて正常です。 質問がある場合は、回答を試みます。
これは、uが良い例を見ることができているか、その作業:https://github.com/ruiking/ble
デバイスhttps://stackoverflow.com/a/17282862/4912496
接続を切断する必要はありませんので、私は、同時に2つのBLEデバイスで働いていたの最大数についていずれかから – OlDor