Conectar GPS Ublox M6 a Raspberry Pi 3

Hoy voy a explicar en sencillos pasos como hacer funcionar un GPS en una Raspberry Pi 3. Doy por sentado que ya tienen instalado y funcionando Raspbian. 😉

  1. Editar el archivo /boot/cmdline.txt y borrar SOLO lo que dice console=ttyAMA0,115200. El resto queda tal cual.
  2. En el archivo /boot/config.txt habilitar GPIO serial Port agregando la siguiente línea: enable_uart=1
  3. Instalar GPSD: sudo aptget install gpsd gpsdclients

Una vez que ya tenemos todo preparado toca hacer las conexiones de hardware. Obviamente apagamos la Raspberry 😉

  • VCC a Pin 1
  • GND a Pin 6
  • RX a Pin 8
  • TX a Pin 10

Ahora el GPS está vinculado a /dev/ttyS0 por lo que al ejecutar sudo cat /dev/ttyS0 deberíamos ver sentencias NMEA como estas:

Nmea

Después habría que configurar gpsd. Para ello ejecutamos: sudo gpsd /dev/ttyS0 -F /var/run/gpsd.sock

¡y listo el pollo!

 

Usando bluenmea con gpsd

gpsd-y-marble
Otra cortita: Supongamos que queremos usar el gps de nuestro celular android en una compu con linux. Asumo que ambos equipos están en la misma red, son visibles y que se conoce la ip del teléfono.
1) Instalamos bluenmea en el celular (https://play.google.com/store/apps/details?id=name.kellermann.max.bluenmea) y lo ponemos en network
2) Instalamos gpsd y después ejecutamos:
gpsd -G -n tcp://iptelefono:4352
3) Si abrimos cualquier aplicación que necesite gps (como por ejemplo opencpn, Marble, navit, etc.) y establecemos la fuente de la posición en gpsd, debería figurarnos la posición.
4) También para probar se puede usar el comando
gpspipe -r -n 30
El cual nos debería dar como resultado salidas NMEA estandar como las que siguen:

salida-nmea

¡Salud y buenos vientos!

NAT mediante iptables

Cortito y al pie: Queremos enrutar, por ejemplo, una salida de internet ubicada en eth0 para que pueda ser utilizada por otra interfaz wlan0. La secuencia iptables sería:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state –state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

Y listo el pollo 🙂

El poderoso Markdown

Con la planificación del viaje una de las cosas que me tiene mas preocupado es la posibilidad de poder postear entradas en este blog o el de viaje, en forma independiente de las conexiones que tengamos. Lógicamente, abrir un wordpress desde Firefox con una conexión de 56k o menos, puede ser una tortura ¡Ni qué hablar publicar una entrada! Así que buscando soluciones, con lo primero que di fue con la conocida “Publicar entradas desde el mail” de WordPress. Sin embargo no me convencía mandar un mail en formato html ¡Y ahí me acordé de Markdown!

¿Qué es Markdown?

Para no escribir al pedo, copio y pego lo que dice Wikipedia:

“Markdown es un lenguaje de marcado ligero creado originalmente por John Gruber y Aaron Swartz que trata de conseguir la máxima legibilidad y “publicabilidad” tanto en sus forma de entrada como de salida, inspirándose en muchas convenciones existentes para marcar mensajes de correo electrónico usando texto plano”

“(…)trata de conseguir la máxima legibilidad y “publicabilidad” tanto en sus forma de entrada como de salida(…)” ¿No suena muy grosso esto? Escribimos un texto cualquiera con formato, y el mismo puede ser leído y comprendido con cualquier editor de texto. Indudablemente el genio Swartz tenía que estar metido ahí ¡Un crack el pibe!
Nota: El que no conoce la vida y obra de Swartz lo puede hacer “aqui”

Todo muy lindo, pero ¿Para como uso esto?

Ingredientes

  • Un editor de texto cualunque(vim, nano, kate, kwrite, bloc de notas, etc.)
  • Alguna aplicaciones o web que soporte Markdown: WordPress, Wikipedia)

Opcionales:
De mas está decir que existen editores de texto orientados a Markdown. Algunos ejemplos:

  • Markable: Potente y sencillo editor Markdown online. RECOMENDADO PARA LOS QUE RECIEN EMPIEZAN
  • Dillinger: Sencillo editor Markdown online.
  • Haroopad: Editor multiplataforma de código abierto.
  • ReText: Editor GTK para Linux.

Manos a la obra

Una vez que elegimos un editor de texto lo único que queda es escribir… Para empezar les dejo un resumen de los formatos mas usados.

  • Cursiva: Escribir el texto entre *texto*. Ejemplo: La palabra texto está en cursiva
  • Negrita: Escribir el texto entre **texto**. Ejemplo: La palabra texto está en negrita

Listas numeradas

Simplemente escribir el número de orden seguido de un punto y espacio antes del item.

Ejemplo:

  1. Viva Peron : Se debería escribir 1. Viva Peron
  2. Viva Evita : Se debería escribir 2. Viva Evita

Listas no numeradas

Anteponer a cada item un asterisco(*)

Ejemplo:

  • Juan Cimiento : Se escribe * Juan Cimiento
  • Cosme Fulanitos: Se escribe * Cosme Fulanitos

Citas y enlaces

Para citar simplemente anteponer “>” al texto .

Ejemplo:

“El capitalismo foráneo y sus sirvientes oligárquicos y entreguistas han podido comprobar que no hay fuerza capaz de doblegar a un pueblo que tiene conciencia de sus derechos”

 

Para enlazar a una dirección se debe utilizar la siguiente sintaxis:

Magia y ocultismo : Se debería escribir: [Magia y ocultismo](http://www.elisacarrio.com.ar/)

Encabezados

Existen distintos niveles de encabezados. Mi regla básica es: mientras mas # mas chiquito se hace el texto

Nivel 1 : Se escribe # Nivel 1

Nivel 2 : Se escribe ## Nivel 2

Nivel 2 : Se escribe ### Nivel 3

Conclusión

Markdown otorga una flexibilidad, portabilidad y una baja curva de aprendizaje (en 15 minutos y con el machete de este blog, cualquier persona puede salir escribiendo en Markdown. El que diga lo contrario, chamuya 🙂 ). Este texto no pretende ser un resumen exhaustivo, sino simplemente servir de introducción para aquellos que quieran incorporar una herramienta nueva en su vida.

¡A disfrutar!

[ArchLinux] Pacman está en uso, espere

Entrada bien cortita… Cuando trato de ejecutar pacman o yaourt me salta:

Pacman está en uso, espere

Me preparé unos mates, pero no pasó naranja, así que puse manos a la obra.

Primero nos fijamos que esté corriendo ningún proceso que involucre pacman

ps|grep pacman (¡Gracias @luuuciano!)

Si hay algún proceso, lo buscamos y vemos que hacer. 😛 Si no hay ningún proceso(como fue mi caso) hay que eliminar un archivo:

sudo rm /var/lib/pacman/db.lck

Y todo vuelve a la normalidad. 😉

 

El Turco Cafrune, ArchLinux y mt-daapd

Muchas de las cosas lindas de la vida empiezan en un asado. Hace un par de sábados estaba haciendo uno y me di cuenta que tenía ganas de escuchar a Cafrune, pero su música estaba en mi notebook. Sacar la computadora a la intemperie en Ushuaia no es una opción y, como buen geek, copiar la música a la SD de mi celular tampoco. Y ahí apareció mt-daapd que nos permite reproducir bajo demanda lo que tengamos en un servidor remoto.

La compañera Evita decía “Donde hay una necesidad nace un derecho”. Tenemos derecho es escuchar a Cafrune vía streaming usando tecnologías libres. 😉

Instrucciones:

1) Instalar mt-dappd mediante yaourt:

$yaourt -S mt-daaapd

2) Configurar mt-daapd

Para ello hay que editar el archivo /etc/mt-daapd/mt-daapd.conf

Para no perderse hay que buscar y modificar estas líneas:

admin_pw   mcowen

mp3_dir   /home/juanperon/Musica

servername    el nombre de tu servidor

runas   juanperon

NOTA IMPORTANTE: ¡En runas escribí tu nombre de usuario! Por defecto viene en nobody y eso hace que el mt-daapd no funcione. Me costó descubrirlo hasta que me puse a leer. 😉

Opcional(Agregar los ogg dentro de los archivos a indexar)

extensions .mp3,.m4a,.m4p,.ogg

Lógicamente guardamos el archivo.

Con todo ya podemos escuchar al Turco Cafrune mientras hacemos asado… Sin embargo, antes de activarlo podemos iniciar el daemon de avahi(para no andar recordando números de IP)

$sudo avahi-daemon &

Ahora si, podemos ejecutar mt-daapd

$mt-daapd -f

¿Y ahora con qué lo escucho?En Android podés usar DAAP Client https://f-droid.org/repository/browse/?fdfilter=daap&fdid=org.mult.daapEn Linux Amarok, Rhythmbox, etc…