En esta serie de dos entradas que tendrán por hashtag #GPS_Dev, hablaremos del GPS desde su aspecto más básico (qué es, qué tipos hay) a su funcionamiento interno en Android (arquitectura, drivers, desarrollo).
Hablar de dispositivos móviles es hablar de GPS y por tanto de geolocalización. Esta palabreja se tornó interesante en el mundo tecnológico desde que fuimos capaces de posicionar satélites alrededor del mundo, y vimos el potencial que ofrecían. Más concretamente, la explosión de dispositivos móviles, así como la era social, ha relanzado la importancia del posicionamiento hasta límites insospechados, tanto que actualmente se cuentan con los dedos de las manos los aparatos que no llevan algún tipo de GPS, ya sean móviles o de escritorio.
Casi todas las aplicaciones que usamos en el día a día tienen algún componente de posicionamiento, siendo quizás las más caracterísiticas aquellas cuyo principal eje motor son los mapas.
¿Qué es el GPS?
El sistema de posicionamiento global es un estándar que define dónde está un objeto en referencia al resto de objetos de la tierra. Funciona mediante satélites (24 en principio), y su precisión puede llegar a ser de centímetros (aunque en smartphones rara vez son tan precisos). El funcionamiento es sencillo:
- El dispositivo manda una señal a los satélites, y al menos espera la respuesta de tres de ellos.
- Cada satélite en cobertura le envía una señal con el identificador y la hora de recepción del mensaje.
- El dispositivo calcula la diferencia entre la hora actual y la de recepción de cada satélite, y «triangula» la posición en referencia a los resultados).
Sin embargo, aunque en exteriores este método es bastante fiable, en interiores pierde todo su potencial, al depender de satélites, y por tanto, de cobertura externa.
Tipos de GPS
Existen varios modelos, algunos ya anticuados, y otros todavía operativos. Pero enfocados a dispositivos móviles, podríamos hablar de tres:
- GPS: La base en la que se sustentan casi todos los dispositivos móviles. Como principal ventaja está el hecho de ser el estándar en geolocalización y que no depende de la cobertura 3g. Como desventaja, la poca fiabilidad, la dependencia de buena cobertura exterior y los tiempos de espera entre envío y recepción de información. Todos los smartphones (hasta donde yo sé) tienen esta prestación.
- aGPS: Debido precisamente al tiempo de espera inicial del GPS, se creó el aGPS, que hace uso de Internet para dar una posición más o menos acertada y ayudar al GPS a triangular más rápido (o a que el usuario no le parezca que tarda tanto). Depende por tanto de datos móviles, y no mejora al GPS más que el hecho de darle un ligero empujón inicial. Su funcionamiento es tan sencillo como rápido. Se conecta a internet para descargar un paquete de datos con la información de la antena a la que está conectado. En dicho paquete se encuentra la posición de la antena, por tanto es de entender que la posición del dispositivo no está muy lejos (los dispositivos se conectan a la toma que más cobertura tiene, normalmente la más cercana). No conozco ningún smartphone actual que no cuente con aGPS.
- GLONASS: Aunque no es un tipo de GPS en sí mismo, creo que debemos hablar de él aquí y no en el apartado de alternativas debido a la gran presencia en terminales actuales. Si los satélites GPS son dominio de EEUU, los de GLONASS son rusos. Este sistema de posicionamiento alternativo lleva más de 30 años con nosotros, pero al venir de los soviéticos, no es tan conocido. De hecho hizo falta que la propia Rusia amenazara con aumentar los impuestos de dispositivos móviles que no tuvieran soporte a GLONASS para que los fabricantes empezaran a tomarlo en serio. Desde el punto de vista de usuario, GLONASS entra en funcionamiento cuando el GPS falla (y creerme que falla mucho). No hace falta estar perdido en el desierto para que no haya cobertura GPS, sino que simplemente una ciudad con edificios altos tiene a su vez puntos ciegos, y la ayuda de GLONASS es mejor que nada. Tiene más margen de error que el GPS, pero la unión de estos dos hace más efectivo el posicionamiento. Lo encontrarás en la mayoría de terminales de gama alta. A bote pronto, se me ocurre el Nexus 4, parte de la serie Lumia de Nokia, la línea One de HTC,…
Alternativas al GPS
Como en todo hay alternativas interesantes, que o bien complementan el GPS, o bien parten de otro modelo para ofrecer posicionamiento más exacto. Alguna de ellas son:
- Galileo: el GPS europeo, y encima de uso civil. Nace como no podía ser de otra manera de la dependencia del GPS y GLONASS. El mayor inconveniente, que aún no está activo, y habrá que esperar a 2018 para empezar a ver su esperable potencial (nueva tecnología frente a proyectos de hace 30 años).
- Los sistemas de posicionamiento en interiores: Hay varios, y por ahora ninguno como estándar. Quizás los más conocidos sean el IPS, que hace uso del campo magnético terrestre (que se puede medir igual fuera que dentro de casa), la triangulación de wifi, que funciona de forma pareja al GPS con satélites, pero que precisa de nodos de wifi repartidos por todo el interior, y la propuesta de Nokia de triangulación por bluetooth. Tenéis más información al respecto en una entrada sobre sistemas de posicionamiento en interiores que escribí hace unos meses.
En la siguiente entrada, hablaremos del aspecto más técnico del GPS (arquitectura interna en Android).