Introduction: Mapillary En Raspberry Pi

About: Fundador de The Inventor's House Hackerspace, Movimiento Maker y Hardware Libre, DIY, Workaholic

Desde hace poco tiempo me he hecho fan de la comunidad Mapillary y su proyecto, he visto personas usar su smartphone, GoPro y algunos otros tipo de camaras para mapear su ciudad, es por eso que he realizado este proyecto para mapear mi ciudad con una Raspberry Pi basado en el proyecto de Picamera de Adafruit, ¿suena genial no? Este proyecto lo realice durante la BuildNight de Brown Dog Gadgets en The Inventor's House. Comencemos!!

Step 1: Material Necesario

Para replicar este proyecto necesitamos

  • Raspberry Pi B

Step 2: Instalacion De PiTFT

Lo primero que debemos configurar es la pantalla TFT para eso hay un buen tutorial en adafruit que no hace falta repetir

Adafruit PiTFT - 2.8" Touchscreen Display for Raspberry Pi

https://learn.adafruit.com/adafruit-pitft-28-inch-...

Después de eso debemos instalar lo siguiente

sudo apt-get install python-pip
<br>sudo pip install picamera==0.8sudo pip install python-dateutil

Step 3: Instalación De GPS

Ahora debemos primero instalar lo siguiente para que nuestra aplicación y GPS funcione adecuadamente, el puerto serie ‘dev/ttyAMA0‘ no esta disponible por defecto en la Raspberry Pi y hay que desbloquearlo. Para ello abriremos el archivo ‘/boot/cmdline.txt‘ y cambiamos:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

por

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

Seguidamente abrimos el archivo ‘/etc/inittab‘ y en la última línea ponemos un ‘#’. Cambiamos:

T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

por

#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Para que estos cambios tengan efecto reiniciamos la Raspberry Pi, una vez reiniciada ya tendremos el puerto serie listo para usarlo, Y ahora instalamos ejecutamos los siguiente comandos para instalar lo necesario

sudo apt-get install gpsd gpsd-clients python-gps
sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock

Para corroborar que nuestro GPS esta funcionando adecuadamente podemos ejecutar el siguiente comando

sudo cat /dev/ttyAMA0

Y por ultimo necesitamos

pip install exifread

Este paso esta basado en el buen tutorial de: http://fpaez.com/tracker-gps-con-raspberry-pi/

Step 4: Mapillary Tools

Para poder subir nuestras fotos a mapillary debemos primero descargar las herramientas que nos proporcionan para python :D

git clone https://github.com/mapillary/mapillary_tools

una ves descargados nuestros Upload Scripts debemos entrar con nuestra cuenta loggeados en mapillary a la siguiente pagina para obtener nuestros dos hashes y lograr la autentificación para subir fotos desde nuestra Raspberry Pi, guarden los datos para el siguiente paso.

Para ver las funcionalidades de todos los scripts pueden visitar el Blog de Mapillary

Step 5: Instalando Picamera

Ahora debemos clonar el repositorio de la siguiente forma desde nuestra Raspberry Pi

git clone https://github.com/sabas1080/RaspberryPi_Mapillary

o tambien podemos descargar el zip

wget https://github.com/sabas1080/RaspberryPi_Mapillary/archive/master.zip

y ahora descomprimir

unzip master.zip

Tenemos todo listo entramos a nuestra carpeta

cd RaspberryPi_Mapillary

en nuestro archivo cam.py editamos con el comando

sudo nano cam.py

Y cambiamos los siguientes valores por lo que obtuvieron en el paso anterior

#Mapillary environment variables os.environ["MAPILLARY_SIGNATURE_HASH"] = "your signature hash"os.environ["MAPILLARY_PERMISSION_HASH"] = "your permission hash"os.environ["MAPILLARY_USERNAME"] = "your user name in mapillary"

Una vez cambiado eso presionamos CTRL+X y guardamos los cambios, tenemos todo listo, por ultimo ejecutamos

sudo python cam.py

NOTA: Un posible error al ejecutar es que no encuentre la carpeta de iconos o de mapillary tools, solo cambiar la dirección de la carpeta por el nuestro en el archivo cam.py

Step 6: Listos Para Mapear!!

Para este paso ya debes tener funcionando tu Raspberry Pi con Mapillary (si tienes algún problema deja tu pregunta en los comentarios)

En nuestro menú de configuraciones hay una sección llamada Mapillary con tres iconos

  • Modo GPS - Muestra estado del GPS
    • Color Verde - Trabajando
    • Color amarillo - No Detectado
    • Color Rojo - Detenido
  • Modo Cámara - Muestra estado de trabajo de la Cámara
    • Cámara Normal o Manual
    • Cámara Continua Toma de fotos automático (BUG: No funcionando correctamente)
  • Mapillary Upload - Ejecuta la subida de fotos al servidor de Mapillary
    • Acomoda automáticamente las fotos por fecha, ubicación y las sube al servidor (BUG: No distingue entre fotos ya subidas anteriormente o recientemente tomadas)

Les dejo algunas fotos tome desde mi Raspberry en el Barrio de Guadalupe donde se encuentra el hackerpsace The Inventor's House durante mis pruebas

http://www.mapillary.com/map/im/3n0wM3EvocNTxGPKLE...

http://www.mapillary.com/map/im/uIY1uKnUrwi-RY51GY...

Si desean hacer que las Raspberry Pi inicie automáticamente en modo camara puede editar el archivo /etc/rc.local como se muestra en la ultima imagen.

Como se pueden dar cuenta las fotos tomadas son de buena calidad, la aplicación aun tiene unos bug en la parte de cámara continua o automática pero espero algún interesado en el proyecto pueda ayudar a mejorar esa parte, espero les guste y se una a la comunidad.

Saludos Inventores!!