Ios 连接两个可编程外围设备的流程是什么样的?

Ios 连接两个可编程外围设备的流程是什么样的?,ios,swift,core-bluetooth,Ios,Swift,Core Bluetooth,我在论坛上读了很多帖子,看到了很多与我的案例相关的帖子。然而,我仍然没有我想要的清晰 我想连接到两个cb外围设备,并向这两个设备写入数据。根据我所读到的,我的想法是,在连接到第二个设备之前,我必须断开当前外围设备的连接。好的,假设我要在一个外设上写一个命令,然后我想在另一个外设上写另一个命令,我必须断开与当前外设的连接吗?如果我断开连接以连接到另一个,上一个命令仍然有效吗?iOS上的最佳实践是什么 我的蓝牙朋友,首先,如果你想同时发送两条信息,不需要断开当前外设的连接。但许多应用程序将连接设备(

我在论坛上读了很多帖子,看到了很多与我的案例相关的帖子。然而,我仍然没有我想要的清晰


我想连接到两个
cb外围设备
,并向这两个设备写入数据。根据我所读到的,我的想法是,在连接到第二个设备之前,我必须断开当前外围设备的连接。好的,假设我要在一个外设上写一个命令,然后我想在另一个外设上写另一个命令,我必须断开与当前外设的连接吗?如果我断开连接以连接到另一个,上一个命令仍然有效吗?iOS上的最佳实践是什么

我的蓝牙朋友,首先,如果你想同时发送两条信息,不需要断开当前外设的连接。但许多应用程序将连接设备(CBPeripheral)的数量限制在5-10个,因为超过5-10个连接设备可能会自动丢失,对此我知道得很少(我只使用了4个设备)。例如:

[[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];

              }];

         }];

     }];

}];
蓝牙设备发送消息的近似方案,不必进行方法投资,它们可以在操作上分发

您不应该担心连接和发送数据 如果您正确使用CBCentralManager,它将适用于多个设备

CBCentralManager对象用于管理发现的或连接的远程外围设备(由CBPeripheral对象表示),包括扫描、发现和连接到广告外围设备。

您可以立即连接一些设备并向它们发送消息,然后一切正常。 如果你有问题,我会尽力回答

这是一个很好的例子,你可以看到它是如何工作的:


关于设备的最大数量

我同时使用了两台BLE设备,因此您不必断开任何一台设备的连接谢谢兄弟!不过我不希望使用这个库,因为它会为应用程序添加另一层。一定有办法使用本机函数进行管理,对吗?@Jobs这不是一个库,它只是一个项目,可以承担一些决策,我祝你好运,因为这真的很难,很少有人参与。哦,好吧,让我更深入地探讨一下!一旦你掌握了窍门,BLE就是小菜一碟。在那之前,干杯!如果我遇到任何我不能解决的问题,我会打电话给你。@JoeHallenbeck嘿Joe,你有没有关于如何在Swift中处理两个BLE外围设备的例子?