我一直在研究用于创建应用程序的Estimote beacons SDK,其中我在6个不同的会议厅推出了6个estimote信标。我可以从包含我的应用程序的iPhone获得所有信标的距离(以米为单位)。为了获得所有信标的距离我使用此代码:
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"Distance Demo";
/*
* BeaconManager setup.
*/
self.beaconManager = [[ESTBeaconManager alloc] init];
self.beaconManager.delegate = self;
self.beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:self.beacon.proximityUUID
[self.beaconManager startRangingBeaconsInRegion:self.beaconRegion];
}
- (void)viewDidDisappear:(BOOL)animated
{
[self.beaconManager stopRangingBeaconsInRegion:self.beaconRegion];
[super viewDidDisappear:animated];
}
#pragma mark - ESTBeaconManager delegate
- (void)beaconManager:(id)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region
{
CLBeacon *firstBeacon = [beacons firstObject];
[self updateDotPositionForDistance:firstBeacon.accuracy];
}
#pragma mark -
- (void)updateDotPositionForDistance:(float)distance
{
NSLog(@"distance: %f", distance);
}
但我需要iPhone设备(包含我的应用程序)中所有信标的确切角度位置。其实我想要我的应用程序结果如下图所示:
谢谢!
答案 0 :(得分:1)
在核心位置和原始Estimote SDK中都没有开箱即用的解决方案来获取信标或用户与信标相关的角度位置(虽然有一个与传统SDK分开的工具,如下所述)。但是,您可以实现三角测量以使用距离测量和信标的固定位置来计算角度。请记住,由于无线电波的性质,在没有大量降噪的情况下,测量结果会波动很大。因此,如果您希望这项工作可靠,那么您需要做很多数学计算。
在Estimote,我们还提供了室内位置SDK,旨在映射位置并提供室内导航解决方案。我们仍在致力于提高定位的准确性和稳定性:自2014年10月推出以来,我们已经发布了几项重大更新,但仍有进一步的改进空间。它应该足以让你离开地面,所以请随时在这里查看:http://estimote.com/indoor/
干杯。
答案 1 :(得分:0)
对广泛问题的广泛回答:
如果您知道它们之间信标的相对位置 - 您可以根据用户位置放置它们......如果您看到3个信标,则可以进行三角测量的用户位置。
BUT
这不起作用,因为你没有到信标的确切距离。你可能认为你这样做,但信标波动如此之大,以至于这是不可能的