How-to: Usar dataloggers Holux en Ubuntu

Como comunidad y Fundación hemos utilizado y entregado en préstamo el datalogger Holux M-1000C desde 2010. Es un equipo que ha mostrado sus múltiples ventajas en la recolección de trazas GPS en terreno, es liviano; pequeño; con muchos canales de búsqueda de satélites, lo que deriva en tiempos de adquisición bastante cortos; una autonomía nominal de 20 horas utilizando una batería removible BL-5C, muy común en antiguos celulares Nokia; muy fácil de usar, con solo un interruptor para encendido y apagado, y tres luces de referencia (GPS, Bluetooth y Batería); capacidad para registrar trazas de acuerdo a reglas configurables de tiempo o distancia; y un precio que parece razonable dadas todas estas características.

Este equipo y su actualización, el RCV-3000, pueden guardar hasta 200.000 puntos de trazas en su memoria interna de 4MB y transmitir un flujo NMEA vía Bluetooth para ser utilizado por aplicaciones en un notebook o smartphone. Quizás el único gran punto en contra es que no tiene capacidad para guardar Puntos/Marcadores. Al menos en la memoria interna, pero siempre está la opción de hacerlo usando OSMTracker.

Tradicionalmente la descarga de los datos almacenados en la memoria interna del dispositivo se ha hecho utilizando el programa que viene incluido en el paquete de fabrica, Holux ezTour. Este es privativo y solo puede ser ejecutado en Microsoft Windows, incluso con algunos problemas reportados en Windows 8 64bit, y con la obligación de ingresar un numero de licencia también incluido en el mencionado paquete.

Una forma alternativa de trabajar es usar el programa BT747, que tiene la ventaja de ser multiplataforma (Java) y de código abierto, pero en mi experiencia este presenta dificultades de configuración y utilización, al menos en Linux.

Dicho lo anterior, hasta hace poco no conocía una forma fácil de trabajar con los dataloggers de Holux en Ubuntu Linux, lo que derivaba en que los usara menos de lo que quisiera. La guía a continuación probablemente también aplique a otras distribuciones de Linux, pero tendrás que instalar los programas (mtkbabel y Viking) a través del gestor de paquetes correspondiente.

La idea de esta guía es explicar como uno puede comunicarse con el dispositivo Holux, descargar las trazas desde su memoria interna, dejar esta libre para continuar recolectando, y luego “limpiar” y cargar esas trazas a OpenStreetMap desde Ubuntu.

ANTES DE EMPEZAR

Cable USB Mini-B
Imagen 1
Lo primero es asegurarse de conectar el equipo usando un cable “USB A”/”USB Mini-B” de buena calidad [Imagen 1]. Probablemente la mitad de los problemas que uno pueda tener con este dispositivo derivan de estar usando un cable muy delgado o de mala calidad.

Hay dos programas que vamos a usar a continuación y que quizás no estén instalados en tu computador, mtkbabel y Viking.

Para instalar mtkbabel ejecuta en tu terminal:

[startCodeBlock]sudo apt-get install mtkbabel[endCodeBlock]

Para instalar Viking:

[startCodeBlock]sudo apt-get install viking[endCodeBlock]

COMUNICACIÓN Y DESCARGA

Antes de encender el equipo vamos a tomar una “instantánea” para comparar luego y determinar que puerto de comunicación está usando.

[startCodeBlock]ls /dev > notplugged[endCodeBlock]

Con el cable USB conectado al computador, procedemos a encender el datalogger con el interruptor que tiene al costado y escribimos el siguiente comando en la terminal:

[startCodeBlock]ls /dev > plugged[endCodeBlock]

Ahora con ambos archivos a mano podemos encontrar la diferencia:

[startCodeBlock]diff notplugged plugged[endCodeBlock]

La respuesta sera del tipo:

[startCodeBlock]81a82
> serial
154a156
> ttyACM0
[endCodeBlock]

Esta última linea es la que indica el puerto en el que estamos conectados: ttyACM0. Con ese dato podemos ir a descargar nuestras trazas ejecutando el siguiente comando con el puerto al final:

[startCodeBlock]sudo mtkbabel -s 38400 -f `date +’%F-%H%M%S’` -t -p /dev/ttyACM0[endCodeBlock]

El proceso de descarga se iniciara con algunos datos sobre la configuración de ciertos parámetros (intervalos, memoria llena, etc.) y el estado de la memoria interna del dispositivo.

Proceso de descarga de los datos del datalogger

LIBERACIÓN DE MEMORIA Y PERMISOS DE ARCHIVO

Al terminar el conteo de registros, podemos borrar la memoria interna para dejar espacio a próximos trabajos de campo.

[startCodeBlock]sudo mtkbabel -s 38400 -E -p /dev/ttyACM0[endCodeBlock]

La descarga que realizamos generó dos archivos, uno con terminación .bin y uno .gpx, este último es el que nos interesa y al que necesitamos cambiarle los permisos para poder editarlo con Viking.

[startCodeBlock]sudo chmod 666 NOMBREARCHIVO_trk.gpx[endCodeBlock]

LIMPIEZA Y CARGA DE TRAZA A OPENSTREETMAP

Viking es un programa con interfaz gráfica de usuario (GUI), pero con pocos atajos o comandos que faciliten el trabajo, por lo que nos limitaremos a eliminar las partes “sucias” que puedan tener nuestras trazas y a “anonimizar” un poco estas, para luego proceder a subirlas a OpenStreetMap dentro del mismo programa.

Usando Ctrl+O abrimos el archivo que acabamos de descargar desde el datalogger. Luego podemos ver las distintas rutas separadas en la columna izquierda [Imagen 2].

Imagen 2

Cortamos y eliminamos los tramos de la traza que puedan estar claramente desalineados [Imagen 3], normalmente al principio, particularmente cuando no le damos suficiente tiempo al GPS para “calentar”. Esto también aplica en términos de anonimizar nuestro trabajo, si no queremos que alguien sepa desde donde salimos o adonde llegamos, es recomendable borrar varios puntos al inicio y al final de nuestras trazas.

Imagen 3

Cuando estamos listos, hacemos clic derecho sobre la traza en la lista, elegimos las opciones “Upload” y “Upload to OSM“, y llenamos los datos antes de hacer clic en “Aceptar” [Imagen 4].

Imagen 4