向 iBeacon 广告包添加数据
Add data to iBeacon Advertising Packet
如何通过iBeacon Advertising Packet添加数据(比如广播它的名字)?
我目前的情况:我有 3 个发射器和 1 个接收器。但是我无法区分它们,除非我将发射器一一打开或关闭。
如何向接收者广播信息?以及如何检索此类数据?
接收方代码如下(在App Delegate didFinishLaunchingWithOptions:
中):
NSUUID *beaconUUID = [[NSUUID alloc] initWithUUIDString:@"E2C56DB5-DFFB-48D2-B060-D0F5A71096E0"];
NSString *regionIdentifier = @"us.iBeaconModules";
CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:beaconUUID identifier:regionIdentifier];
self.locationManager = [[CLLocationManager alloc] init];
if([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
[self.locationManager requestAlwaysAuthorization];
}
self.locationManager.delegate = self;
self.locationManager.pausesLocationUpdatesAutomatically = NO;
[self.locationManager startMonitoringForRegion:beaconRegion];
[self.locationManager startRangingBeaconsInRegion:beaconRegion];
[self.locationManager startUpdatingLocation];
你不能用 iBeacons 做到这一点 api -- 如果你 'drop down' 到 BLE 层
你可以指定自定义数据
可以通过设置beacon的major和minor参数来区分。
您正在使用 UUID @"E2C56DB5-DFFB-48D2-B060-D0F5A71096E0"
所以我可以假设您有 RedBear Beacon。
如果是这样,您可以下载 app 并配置您的信标(主要、次要、uuid 等)。
编辑:
正如@Daij-Djan 所写——您可以使用 CoreBluetooth 并通过服务和特征的 UUID 接收名称、电池电量和其他参数。
例如,您可以阅读 RedBear 信标的服务和特性描述 here。
如何通过iBeacon Advertising Packet添加数据(比如广播它的名字)?
我目前的情况:我有 3 个发射器和 1 个接收器。但是我无法区分它们,除非我将发射器一一打开或关闭。
如何向接收者广播信息?以及如何检索此类数据?
接收方代码如下(在App Delegate didFinishLaunchingWithOptions:
中):
NSUUID *beaconUUID = [[NSUUID alloc] initWithUUIDString:@"E2C56DB5-DFFB-48D2-B060-D0F5A71096E0"];
NSString *regionIdentifier = @"us.iBeaconModules";
CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:beaconUUID identifier:regionIdentifier];
self.locationManager = [[CLLocationManager alloc] init];
if([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
[self.locationManager requestAlwaysAuthorization];
}
self.locationManager.delegate = self;
self.locationManager.pausesLocationUpdatesAutomatically = NO;
[self.locationManager startMonitoringForRegion:beaconRegion];
[self.locationManager startRangingBeaconsInRegion:beaconRegion];
[self.locationManager startUpdatingLocation];
你不能用 iBeacons 做到这一点 api -- 如果你 'drop down' 到 BLE 层
你可以指定自定义数据可以通过设置beacon的major和minor参数来区分。
您正在使用 UUID @"E2C56DB5-DFFB-48D2-B060-D0F5A71096E0"
所以我可以假设您有 RedBear Beacon。
如果是这样,您可以下载 app 并配置您的信标(主要、次要、uuid 等)。
编辑: 正如@Daij-Djan 所写——您可以使用 CoreBluetooth 并通过服务和特征的 UUID 接收名称、电池电量和其他参数。 例如,您可以阅读 RedBear 信标的服务和特性描述 here。