Ios 如何使CC2541在广告数据中包含KCBADVDATAServiceUUID

Ios 如何使CC2541在广告数据中包含KCBADVDATAServiceUUID,ios,bluetooth,bluetooth-lowenergy,core-bluetooth,Ios,Bluetooth,Bluetooth Lowenergy,Core Bluetooth,我将核心蓝牙与可编程可编程蓝牙设备(CC2541)一起使用。我正在尝试使用以下特定服务扫描外围设备: CBUUID* serviceID = [CBUUID UUIDWithString: @"adabfb00-6e7d-4601-bda2-bffaa68956ba"]; [self.manager scanForPeripheralsWithServices:@[serviceID] options:nil]; 我是空的,但如果我将“scanForPeripheralsWithServic

我将核心蓝牙与可编程可编程蓝牙设备(CC2541)一起使用。我正在尝试使用以下特定服务扫描外围设备:

CBUUID* serviceID = [CBUUID UUIDWithString:  @"adabfb00-6e7d-4601-bda2-bffaa68956ba"];
[self.manager scanForPeripheralsWithServices:@[serviceID] options:nil];
我是空的,但如果我将“scanForPeripheralsWithServices:”设置为nil,那么我所有的BLE设备都会启动。所以我知道BLE正在发布广告

以下是我从
centralManager:DidDiscoveryPeripheral:advertisementData:RSSI:
登录
advertisementData时得到的信息

AdvData: {
    kCBAdvDataChannel = 38;
    kCBAdvDataIsConnectable = 1;
    kCBAdvDataLocalName = "JhBC_ZDHTMDRNg";
    kCBAdvDataTxPowerLevel = 0;
}
我希望kCBAdvDataServiceUUIDs能像我的其他BLE设备一样出现,但CC2541似乎没有宣传这一价值

kCBAdvDataServiceUUIDs =     (
    "Unknown (<adabfb00 6e7d4601 bda2bffa a68956ba>)"
);
kCBAdvDataServiceUUIDs=(
“未知()”
);
如何让CC2541公布自定义UUID?

是一个iBeacon。因此,它是由iOS专门处理的。它没有广告服务或任何东西,只是播放一个特定的广告。有关详细信息,请参阅签出和

设备制造商似乎没有提供更新固件的功能,因此您只能使用他们提供的SDK。如果您愿意,您可以尝试闪存固件,但无法保证设备会接受固件或固件是否会运行。(这类似于更改洗碗机中的固件;您可以尝试,但很可能最终会被破坏。)SDK似乎支持更改或iBeacon宣传的每个参数,因此它非常好


另外,请注意,iBeacons应与CoreLocation一起用于位置服务,但设置功能通常只能在CoreBluetooth上使用。参数作为服务和特征公开,您可以在连接后发现这些服务和特征,并通过修改值进行必要的更改。

您是否尝试过修改SimpleBelipheral示例?@allprog我没有SimpleBelipheral或任何其他硬件。我刚拿到这个装置。有没有一种方法可以通过写入特性使UUID包含在广告中?CC2541只是一个芯片。你能告诉我这个设备是什么吗?如果可以对其进行编程,那么您可能可以在其上上载SimplePeripheral应用程序。仅供参考:这是设备:我可以更改uuid、次要值和主要值您对缺少服务的iBeacon配置文件的看法是正确的(为什么您不能基于上述代码中的服务进行过滤),但我不一定说您不能将其用于核心蓝牙。我看到人们通过查看广告数据(你在SO答案中链接到的)并根据哪些设备在广告什么进行过滤来做到这一点。@BradLarson这就是为什么我说应该使用
:)核心蓝牙的使用非常有限,只能在前台完成。不过,我想使用CoreBluetooth进行测距比使用CoreLocation精确得多,因为后者隐藏了RSSI,并根据一些复杂的启发式方法调用回调,这有时并不合适。@allprog the“SDK”他们提供的基本上只是一个核心蓝牙应用程序的源,该应用程序可以扫描服务并写入特征。它甚至可以让你给手机打电话。所以我猜这不是你的标准iBeacon,它没有任何服务。谢谢你提供的所有信息!非常感谢。我修改了描述以更好地反映真实情况。我想这正是iBeacon应该如何操作的。