如何在 CoreBluetooth 上同时向多个蓝牙 LE 从站写入数据?

Posted

技术标签:

【中文标题】如何在 CoreBluetooth 上同时向多个蓝牙 LE 从站写入数据?【英文标题】:How to write data to multiple Bluetooth LE slaves simultaneously on CoreBluetooth? 【发布时间】:2013-02-01 17:52:51 【问题描述】:

我是新手。我正在尝试开发一个 ios 应用程序,我可以在其中将数据交换到多个蓝牙 LE 从站。

我能够连接多个从站并从中读取数据。但问题是我只能写入(声音蜂鸣器)到其中一个(要连接的最新从站)。

我正在使用http://processors.wiki.ti.com/index.php/Category:IPhone4SBLEDemo中提供的代码

如何为所有连接的设备发出蜂鸣声?

ViewController.m

- (IBAction)TIBLEUISoundBuzzerButton:(id)sender 
[t soundBuzzer:0x02 p:[t activePeripheral]]; //Sound buzzer with 0x02 as data value

钥匙扣.m

-(void) soundBuzzer:(Byte)buzVal p:(CBPeripheral *)p 
NSData *d = [[NSData alloc] initWithBytes:&buzVal length:TI_KEYFOB_PROXIMITY_ALERT_WRITE_LEN];
[self writeValue:TI_KEYFOB_PROXIMITY_ALERT_UUID characteristicUUID:TI_KEYFOB_PROXIMITY_ALERT_PROPERTY_UUID p:p data:d];

【问题讨论】:

您能告诉我如何同时连接到多个设备吗?谢谢 【参考方案1】:

我找到了自己问题的答案。通过使用 didRetrieveConnectedPeripherals,我可以同时将数据写入所有连接的设备。希望这可以帮助任何正在寻找相同答案的人。谢谢!

-(void)centralManager:(CBCentralManager *)central didRetrieveConnectedPeripherals:(NSArray *)peripherals 

for(CBPeripheral *peripheral in peripherals) //(soundbuzzer) 

【讨论】:

以上是关于如何在 CoreBluetooth 上同时向多个蓝牙 LE 从站写入数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C++ 套接字编程同时向多个服务器发送数据?

CoreBluetooth:检索多个断开连接的外围设备的正确方法是啥?

CoreBluetooth:检测设备超出范围/连接超时

如何在不放弃主线程的情况下为 Python 使用 CoreBluetooth

允许用户在消息应用中同时向多个用户发送消息

如何使用 CoreBluetooth 从 1822 PulseOximeter 的蓝牙 LE 数据中提取 SFLOAT 值