Adentrándose en el mundo del GPS: Arquitectura (II)

8 ene 2013

En esta serie de dos entradas que tienen 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).

Broadcom IPS Chip 620x308 Adentrándose en el mundo del GPS: Arquitectura (II)

Ayer hablamos de los principios básicos del GPS, así como los tipos que hay actualmente en el mercado, y hoy vamos a adentrarnos un poco en su arquitectura interna, en especial con dispositivos Android, pero a la hora de la verdad bien lo podemos extrapolar a cualquier dispositivo.

La imagen que acompaña esta entrada sirve de resumen para la misma.

Architecture Android GPS Adentrándose en el mundo del GPS: Arquitectura (II)

Hay 5 elementos a tener en cuenta:

El Chip

Se trata de un receptor de radiofrecuencia. Su funcionamiento ya lo vimos en la anterior entrada, así que no indagaré más en el asunto.

El driver

Como el resto de drivers, sirve de controlador para el chip, esto es, comunica la información recibida por el chip de radio frecuencia a lenguaje informático mediante una API de bajo nivel. Consta de varios archivos, alojados por lo general en /System/lib/hw (en algunas versiones en /Vendor/Lib/hw), del tipo gps.*.os (gps.profile.os, gps.default.os,…). Son los propios fabricantes quienes liberan este producto, y a no ser que tengas en mente crear tu propio smartphone carecen de importancia.

GL Engine

Llegamos a la parte interesante de esta guía. El GL Engine es el encargado de suministrar la localización de los nodos de radiofrecuencia (las torres) cercanas, guardando los datos obtenidos (en caso de que sean nuevos o actualizados) en el GPS Lock.

Si leísteis el anterior artículo, recordaréis que había dos métodos para obtener la triangulación necesaria para la localización GPS. Por un lado, la consulta mediante un paquete enviado por radiofrecuencia a las torres cercanas, y el análisis de los tiempos de retardo en contestación, lo que era bastante lento. Y por otro lado, conectándose a internet y leyéndolo de un directorio SUPL/NTP (más rápido). Tanto si se usa una de ellas o las dos, el GL Engine se encarga también de guardar los datos recogidos en el NVRAM para futuras consultas.

Los archivos encargados de esta función se encuentran en Android en /system/bin (carpetas con nombres del tipo glgps, gpsd,.). y afortunadamente para nosotros, están escritos en lenguaje XML, por lo que su configuración y entendimiento es relativamente sencillo.

Son estos ficheros los que por lo general reciben la modificación de aplicaciones root que nos aceleran la geolocalización. O bien modifican el fichero de configuración del GPS (GPS.conf), o bien te agregan consultas NVRAM, o bien las dos cosas.

Servicios de Localización

Pertenecen al Framework de Android, y por tanto estamos hablando de java. Se trata de un grupo de funciones contenidas en el paquete android.location del framework que controlan diferentes aspectos del GPS con el fin de comunicarse entre Apps y GL Engine.

Algunos ejemplos son:

  • addGpsStatusListener(GpsStatus.Listener listener): Cambiar el estado del GPS a “escuchando”.
  • getProviders(Criteria criteria, boolean enabledOnly): Devuelve una lista de torres cercanas que satisfagan X criterios pasados a la función.

Tenéis más información al respecto en la propia web del desarrolladores de Android, o en los comentarios de XDA Developers.

Aplicaciones

La última capa son las aplicaciones que tenemos instaladas en nuestro terminal. Estas se sirven del framework para comunicarse con el resto de capas, y hacer de forma transparente todo lo necesario para que nosotros disfrutemos de la experiencia check-in, o perdamos la dignidad por fb asegurando lo bien que nos lo estamos pasando en tal fiesta mientras el GPS dice lo contrario.

Y con esto hemos llegado al final de este minitutorial de acercamiento al GPS. Ya podéis dormir tranquilos, G.G.

Categorias
Terminos busqueda


Desarrollador Web especializado en el área del diseño de interfaces, accesibilidad y usabilidad. Entusiasta de las nuevas tecnologías, la emprendeduría, el DIY y la seguridad informática.+Pablo www.pabloyglesias.com

Portada
ARTICULOS RELACIONADOS
Wolter anuncia su nueva tablet híbrida Mitab Evolution T1
HTC Desire 600 con procesador de 4 núcleos
Microsoft ataca a iPad y a iOS en sus nuevos anuncios
Nokia Lumia 928, análisis a fondo
HP Envy Rove 20 nuevo todo-en-uno Tablet y Portátil
Samsung Galaxy S4 Google Edition en vídeo
COMENTARIOS

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  1. Información Bitacoras.com…

    Valora en Bitacoras.com: En esta serie de dos entradas que tienen 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). Ayer h……