aplicación basada en la location interior de iPhone

Estoy investigando cómo crear una aplicación para mi trabajo que permita a los clientes download la aplicación (preferiblemente a través de la tienda de aplicaciones) y usar algún tipo de triangulación / huellas dactilares para poder determinar su location para un recorrido esencialmente interactivo.

Ahora, mi pregunta específica es cuál es la mejor ruta para tomar el iPhone? No se espera que ninguno de los clientes tenga iPhones rotos en la cárcel.

A mi entender esto requiere el uso de los datos de Wi-Fi, que es una API privada que, por lo tanto, no cumple con los requisitos de la tienda de aplicaciones. La mayor pregunta que tengo es cómo se libera el Museo de Historia Natural de Estados Unidos usando la misma tecnología, pero ¿todavía está disponible en la tienda de aplicaciones?

si no está familiarizado con la aplicación de viaje interactivo del Museo de Historia Natural de Estados Unidos, consulte aquí: http://itunes.apple.com/us/app/amnh-explorer/id381227123?mt=8

Gracias por cualquier aclaración que pueda proporcionar.

Soy uno de los desarrolladores de la aplicación AMNH Explorer que estás haciendo reference.

Explorer usa Cisco "Mobility Services Engine" (MSE) detrás de escena para determinar su location. Esto es parte de su installation wifi de Cisco. La networking en sí escucha dispositivos en el museo y estima su position a través de la triangulación Wifi. Hacemos un poco de trabajo en la aplicación para "preguntar" al MSE para nuestra location actual.

Hacer esto funciona en el lado de la networking fue (y sigue siendo) la única opción disponible para iOS, ya que, como has encontrado, las funciones de escaneo de wifi se consideran API privadas.

Si desea build su propio sistema y aplicación mobile para hacer algo similar, puede comenzar con el MSE.

Alternativamente, hemos construido la misma tecnología desde Explorer en una nueva plataforma llamada Meridian que proporciona services basados ​​en la location tanto en iOS como en Android. Definitivamente, póngase en contacto con nosotros a través del website si está interesado en desarrollar eso.

Actualización 01/06/2017

Pensé que actualizaría esta vieja respuesta: AMNH ya no usa el sistema basado en Wi-Fi que describo anteriormente, hace unos años. Ahora usan una installation de algunos cientos de Beacons Bluetooth con stacks (también provistos por Meridian). El dispositivo (iOS o Android) escanea las balizas cercanas y, en function de sus ubicaciones conocidas y sus valores RSSI, triangula una position. Puedes leer más sobre esto en este artículo .

Navizon ofrece una solución de posicionamiento en interiores que funciona tanto para iOS como para cualquier otra plataforma. Puede verlo aquí: http://www.navizon.com/product-navizon-indoor-triangulation-system

Funciona mediante la triangulación de las señales WiFi transmitidas por el dispositivo. Dado que no requiere que una aplicación se ejecute en el teléfono, evita las limitaciones de iOS y puede ubicar cualquier otro dispositivo WiFi para ese asunto.

Google lanzó recientemente una API llamada API de Geolocalización de Mapas . Puede usarlo para el seguimiento de dispositivos en interiores, que básicamente se puede usar para lograr algo similar a lo que hace la aplicación de AMNH.

Haría esto usando Realidad Aumentada. Existe un sistema de este tipo, la idea es que coloque marcadores físicos que tengan información virtual asociada a ellos. Creo que el sistema que vi fue un tipo de código de barras. Cuando un usuario detiene el teléfono con la aplicación, la aplicación usa la camera para leer el código y luego mostrar información. Esto podría usarse fácilmente para hacer una aplicación de tipo tour virtual que se pueda distribuir a través de la tienda de aplicaciones y que ni siquiera requiera una connection WIFI o 3 / 4G. Esto supone que simplemente carga su información y la almacena localmente con su aplicación. Luego, para actualizarlo, simplemente empuja una actualización a través de la tienda de aplicaciones. Otra solución es utilizar un service SOAP / REST y proporcionar la información de esa manera, y esto no utiliza API privadas, aunque sí requiere algún tipo de connection a Internet. Para esto, puedes ver una pregunta que hice sobre este tema hace un momento:

Tutoriales SOAP / XML Pregunta

Además, puede cargar un map de su location de viaje y, según el código explorado, puede ubicar al usuario en el map y proporcionar routes sugeridas según intereses, etc.

Encontré este tutorial recientemente en realidad aumentada, no lo he pasado, pero si es algo así como el rest de los tutoriales de Ray, será extremadamente útil.

http://www.raywenderlich.com/3997/introduction-to-augmented-reality-on-the-iphone

Me quedo para aclarar cualquier pregunta u otra inquietud que pueda tener con su aplicación.

Para boost la respuesta original para los desarrolladores que usaban Cisco MSE para la location en interiores, ahora tienen un SDK para iOS y Android que le permite hacer una location en interiores utilizando el MSE. También se puede usar un simulador para desarrollar la aplicación sin implementar la infraestructura para comenzar: https://developer.cisco.com/site/cmx-mobility-services/downloads/

Para la location en interiores, puede usar balizas Bluetooth LE, ya que es una tecnología muy accesible en la actualidad, existen varios methods:

  • Trilateración: utiliza 3 balizas, pero con el ruido y la atenuación de las señales de Bluetooth, es muy difícil determinar la position exacta y tampoco es fácil usar más de 3 balizas para boost la precisión.

  • Método de Levenberg Marquadt: utilizado para resolver problemas de cuadrados no lineales mostró buenos resultados en el posicionamiento en interiores.

  • Método Dead Reckoning: utilizando el procesador de movimiento del dispositivo, dando una position inicial, puede calcular la ruta en movimiento del dispositivo. No es fácil de implementar de todos modos.

Escribí una publicación sobre el tema, puedes encontrar más información aquí: http://bits.citrusbyte.com/indoor-positioning-with-beacons/

Y puede usar esta aplicación de iOS para sus propios experimentos de posicionamiento en interiores: https://github.com/citrusbyte/beacons-positioning

Dudo que el Museo Americano esté usando APIS privado; probablemente encontrará que los enrutadores que se han configurado sirven diferentes respuestas entre sí, por lo que la aplicación puede detectar su position en el museo.

Si busca una manera más barata de realizar la misma tarea, podría tener signos con códigos QR y usar una biblioteca de código abierto para permitir a los usuarios escanear estos códigos de barras a medida que avanzan por el museo y actualizar el contenido en pantalla de acuerdo con ello. En un nivel de tecnología aún más bajo, puede labelr cada área con numbers únicos y distinguirla de esa manera.