Skip to content

Fase 4: Localización en exteriores (GPS)

La tecnología GPS (Global Positioning System) permite determinar en exteriores la posición de un elemento en la superficie de la tierra.

El módulo GPS a utilizar con Arduino está documentado en esta web de la empresa Libelium, donde, antes de actualizar el módulo, se podía encontrar el manual básico de utilización (renombrar a .zip), la documentación de los comandos GPS soportados por el módulo y un API que facilita el acceso al módulo.

La conexión del Diecimila con el módulo GPS es sencilla (ver la sección “Using the GPS module with Arduino + XBee shield – Add real position to your SquidBee’s network” en el manual básico de utilización), pero conviene resaltar varios aspectos:

  • Es necesario conectar dos cables entre el módulo ZigBee y el módulo GPS (5V + GND).
  • Hay que tener cuidado con la conexión de la antena, ya que es muy frágil.
  • Dado que el micro sólo posee un puerto serie hardware, pero se requiren al menos dos (uno para ZigBee y otro para el GPS), hay que crear un puerto serie software (existe un ejemplo en el código del final del manual básico).
  • Se pueden leer varios comandos NMEA procedentes del GPS, pero, en principio, nos vamos a quedar con el comando GGA que nos provee las coordenadas (si vemos que no es suficiente, más adelante sopesaremos el jugar con otros comandos).
  • El GPS tiene distintos tiempos de adquisición (según la adquisición de la posición de los satélites), por lo que no es de estrañar que en los arranques en frío llegue a tardar un par de minutos (depende del lugar donde se coloque la antena, del tiempo de adquisición de las efemérides, etc…).

Pasos a realizar:

  1. Recopilación de documentación básica sobre el funcionamento del GPS (para hacerse una idea básica, de momento no hace falta profundizar).
  2. Montaje del módulo GPS y de su respectiva antena en convivencia con el módulo ZigBee.
  3. Envío de las coordenadas GPS de un nodo final ZigBee al coordinador tras presionar un pulsador. El coordinador transmitirá á su vez las coordenadas a un PC por el puerto serie.
  4. Elaboración de una interfaz básica que muestre en un PC las coordenadas GPS adquiridas por el puerto serie. Tienes total liberdade a la hora de escoger el lenguaje (si quieres, puedes integrar en el interfaz actual las API AJAX de Goggle Maps).