GPS, maps && apps (uNav)

Alguna notas sobre aplicaciones de mapas / OSM :

foxtrotGPS:

Por el momento foxtrotGPS no está disponible, no ha sido portado. Las demás aplicaciones carecen de muchas funciones, especialmente para su uso offline (o sea sin conexión a Internet).

OSMTouch:

La aplicación OSMTouch graba y usa los mapas de la carpeta siguiente (ejemplo de un fichero):

/home/phablet/.cache/me.yohanboniface.osmtouch/osm_100-1-9-260-172.png

La ubicación por defecto al iniciar la aplicación está fijada en el código fuente aquí: [https://bazaar.launchpad.net/~yohanboniface/osmtouch/trunk/view/head:/OSMTouch.qml#L100] pero esto parece para otra versión; en la versión r22 lo encontré aquí(y lo configuré para los lugares donde estoy: mi pueblo Taufkirchen y La Habana, Cuba):

# ls -l /userdata/system-data/opt/click.ubuntu.com/me.yohanboniface.osmtouch/0.2.1/components/MapPa*
-rw-r--r-- 1 clickpkg clickpkg 12415 jun 13 12:09 MapPage.qml
-rw-r--r-- 1 clickpkg clickpkg 12416 jun 13 12:05 MapPage.qml.Havana
-rw-r--r-- 1 clickpkg clickpkg 12408 dic  7  2014 MapPage.qml.orig
-rw-r--r-- 1 clickpkg clickpkg 12415 jun 13 12:09 MapPage.qml.Taufkirchen

Mapas para usar sin conexión a internet:

En mi ordenador, corriendo FreeBSD, tengo unas ~120.000 tiles (fotos de mapas) que cubren mis locaciones en Múnich y La Habana. Los bajo de vez en cuando, para renovarlos, desde los servidores de OpenStreetMap. Aquí tengo algunas notas técnicas sobre el tema de las tiles:

El Wiki de OSM en [http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames] explica la estructura de los nombres de tiles y los distintos estilos. Los nombres tienen la forma 'zoom/x/y.png' y los distintos estilos en que pueden bajarse son:

Standard:
http://a.tile.openstreetmap.org/9/266/170.png
       ^----- [abc]

MapQuest:
http://otile1.mqcdn.com/tiles/1.0.0/osm/9/266/170.png
            ^----- [1234] 

http://otile1.mqcdn.com/tiles/1.0.0/osm/9/266/170.jpg
            ^----- [1234] 

OpenCycleMap Transport (experimental):
http://a.tile2.opencyclemap.org/transport/9/266/170.png
       ^----- [abc]

Al parecer OSMTouch normalmente usa el estilo 'MapQuest', mientras yo en mi ordenador uso el 'Standard'.

uNav:

La mejor aplicación para OSM mapas en el momento es 'uNav'. Desde la versión 0.60 tiene también suporte de así llamados mapas en modo offline (fuera de línea). El espacio en el teléfono BQ está muy limitado y por eso tengo los mapas en el disco microSD y uso un servicio de web interno para el acceso. Los detalles tiene un script ~phablet/unav.sh

#!/bin/sh 
#
# purpose of this script:
# as of 0.60 uNav, written by Costales  
# can be configured to use tiles in offline mode directly from the device from
# files in /home/phablet/.local/share/navigator.costales/maps/{z}/{x}/{y}.png
# the URL for this access is coded in
# /userdata/system-data/opt/click.ubuntu.com/navigator.costales/0.60/nav/index.html
#
# due to space limitations, my tiles are on the SD below /media/phablet/*/Maps which
# is not directly accessible by the app;
#
# For uNav version 0.63 I've modified the following two files:
#
# phablet@ubuntu-phablet-bq:/opt/click.ubuntu.com/navigator.costales/0.63$ diff nav/index.htm*
# 246c246
# <                 source: new ol.source.OSM({url: 'http://localhost:8888/osm/{z}/{x}/{y}.png'}),
# ---
# >                 source: new ol.source.OSM({url: '/home/phablet/.local/share/navigator.costales/maps/{z}/{x}/{y}.png'}),
#
# phablet@ubuntu-phablet-bq:/opt/click.ubuntu.com/navigator.costales/0.63$ diff nav/class/UI.j*
# 775,776c775
# <     // dont change the zoom level (guru@unixarea.de)
# <     // this.map_zoom(gps_data['speed'], route_indicator['dist2turn'], route_indicator['dist_track_done'], route_indicator['radar']);
# ---
# >     this.map_zoom(gps_data['speed'], route_indicator['dist2turn'], route_indicator['dist_track_done'], route_indicator['radar']);
#
# (end of mods)
#
# and use an own app.desktop file in ~phablet/.local/share/applications/unav-osm.desktop
# which launches this script:
#
# [Desktop Entry]
# Name=unav-osm
# Type=Application
# Exec=/usr/bin/nohup /home/phablet/unav.sh
# Icon=/userdata/system-data/opt/click.ubuntu.com/navigator.costales/current/icon.png
# Terminal=false
# X-Ubuntu-Touch=true
#
# co guru@unixarea.de, 2016

# 1st start the local HTTP server:
#
cd /media/phablet/*/Maps
python3 -m http.server 8888 &

# now start uNav
#
cd /userdata/system-data/opt/click.ubuntu.com/navigator.costales/current
qmlscene %u qml/Main.qml

Más información sobre dichos mapas se puede encontrar acá: https://unav-go.github.io/offline/

GPS in general:

Algunas notas sobre GPS en general:

Aquí dejo la lista que debemos chequear para asegurar que el GPS funcione:

Asegúrate que todos las opciones estén activadas:

  1. Configuración del sistema -> seguridad y privacidad -> ubicación

  2. Configuración del sistema -> batería -> GPS

  3. Arrastrar barra superior -> ubicación -> detección de ubicación y GPS.

Comprueba los mensajes sobre GPS en los registros(logs) del sistema:

$ sudo dmesg | grep GPS
[142058.709985] [GPS] GPS_close: WMT turn off GPS OK!
[142059.154167] GPS_open: major 191 minor 0 (pid 21501)
[142059.154506] [WMT-CTRL][I]wmt_ctrl_gps_sync_set:ctrl GPS_SYNC(4)
[142059.154526] [WMT-FUNC][I]wmt_func_gps_pre_ctrl:ctrl GPS_SYNC_SET(0) ok 
[142059.155455] [WMT-FUNC][I]wmt_func_gps_pre_ctrl:set reg for GPS_SYNC function okay by chip ic_pin_ctrl
[142059.155492] [WMT-CTRL][I]wmt_ctrl_gps_lna_set:ctrl GPS_LNA(2)
[142059.158530] [GPS] GPS_open: WMT turn on GPS OK!

Sabemos ahora que GPS funciona bien.

Si quieres ver la lista de los satélites:

$ ubuntu-location-serviced-cli --bus system --get --property visible_space_vehicles
Visible space vehicles:
        (type: gps, prn: 1, snr: 0, has_almanac_data: 0,
        has_ephimeris_data: 0, used_in_fix: 0, azimuth: 3 deg,
        elevation: 23 deg)

Los satélites con número snr > 0 son visibles.

Para hacer un test:

$ sudo GLOG_v=1000 GLOG_logtostderr=1 ubuntu-location-serviced-cli --bus system --test

El test intentará adquirir tu ubicación con el GPS solamente tres veces, partiendo de un estado sin posición inicial, e imprime los diagnósticos junto a un resumen que contiene el tiempo para la primer posición, TTF (time to first fix).

Para activar más o mejor mensajes en la carpeta /var/log/ubuntu-location-service/ (que pueden ayudar a diagnosticar si hay problemas) cambia la configuración en el fichero /etc/init/ubuntu-location-service.override y añade estas dos líneas:

export GLOG_v=100
export GLOG_logtostderr=1

Después de reiniciar el teléfono y de obtener la posición por primera vez, los logs contienen mucha información sobre cómo trabaja el sistema de GPS.

Se puede usar también la herramienta dbus-monitor de esta manera:

$ dbus-monitor --system "path=/com/ubuntu/espoo/Service/Provider, interface=com.ubuntu.remote.Service.Provider, member=PositionChanged"

Pero, antes uno debe configurar lo siguiente: Configuración del sistema -> Seguridad y privacidad -> Ubicación -> Usando GPS, datos anónimos de la wifi y de la red móvil.

Última actualización: lunes, 5 de febrero de 2018, 12:14:00 CET

Last updated