0

我正在开发一个区域监控应用程序,但想使用外部 GPS,以便我可以将区域缩小到 15-20 m 并获得更高的精度。我正在将 iPhone 连接到 Arduino,以便通过发出打开 LED 的信号跨过该区域时进行通信。我打开蓝牙 GNS 1000 以获得更好的 GPS,但仍然不准确或根本没有区域回调。我已经对其进行了多次测试,并得到了准确性的差异。还测量了距离,有时没有得到任何反馈。我不是程序员,过去几周我刚刚学习了目标 C。目标是帮助视障人士导航。任何帮助将不胜感激。

我正在调用这些函数以获取反馈,但我无法确定出了什么问题:

- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region {
    NSLog(@"Entered Region - %@", region.identifier);
    [self setArduino:YES];
    [self showRegionAlert:@"Entering Region" forRegion:region.identifier];

}

- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region {
    NSLog(@"Exited Region - %@", region.identifier);
    [self setArduino:NO];
    [self showRegionAlert:@"Exiting Region" forRegion:region.identifier];
}

- (void)locationManager:(CLLocationManager *)manager didStartMonitoringForRegion:(CLRegion *)region {
    NSLog(@"Started monitoring %@ region", region.identifier);
}

将不胜感激任何帮助!

问候,M。

4

2 回答 2

0

iphone >4 拥有最好的之一,如果不是最好的消费者 GPS 接收器的话。精度约为3-5m。绝对不需要为您的应用程序使用外部 GPS 设备!只有当您需要 0.5m 精度并愿意为多相 GPS 设备支付 5000 美元时,这种情况才会有所改善。

您的主要问题在于软件。您的应用程序的 GPS 精度必须设置为“CLLAccuracyBestForNavigation”。regionMonitoring 单独节省电池,但并不总是(或从不?)使用 GPS。

更新
如果您想要精确的区域监控,您必须自己编写区域检测算法,并且与 Apple 相比,仅使用 GPS。然后,仍然不需要外部 Gps。

于 2013-05-22T17:38:11.457 回答
0

您正在使用区域监控方法及其回调。添加外部 GPS 不会帮助您提高准确性,因为这些方法依赖于内部操作系统位置更新。主要来自蜂窝和(主要)wifi接近度。虽然 GPS 会影响它,但该设备可能会忽略来自外部 GPS 的所有内容,并且只有为利用它而编写的应用程序才会做任何事情。

区域监控可以非常出色,除非它不是。如果您的设备没有蜂窝数据,您将受到打击。(iPod Touch 和 iPad Wifi)如果你关闭了 Wifi,或者你在一个几乎没有接入点的农村地区,那么就区域监控而言,恐怕你已经死了。

从事情的声音来看,如果你真的想走这条路,你必须编写自己的自定义方法来从外部设备中提取位置并手动监控更新。不完全理想。

关于这些坏消息我很遗憾。希望这将帮助您将时间花在遇到的问题上,并且您不会浪费时间尝试使可能无法正常工作的工作。祝你好运。

于 2013-05-23T15:18:14.820 回答