Un café, un amigo y un Arduino

Esta semana un amigo y yo, con un café delante, nos preguntamos hasta que punto sería posible construir un dispositivo que llevado por una persona, por ejemplo un niño, nos pudiera indicar cual es su posición relativa respecto a otra persona, por ejemplo un padre, en un rango de 100 metros como mucho. Usando recursos libres y con un tamaño suficientemente pequeño. Algo como un dispositivo Arduino que rastreamos desde una aplicación móvil que gráficamente y en tiempo real nos indica la posición. Idealmente nada mas, sin depender de infraestructura pública de satélites GPS o similar. Ninguno de los dos somos expertos pero nos interesan estas tecnologías. Y nos pusimos a jugar.

La primera idea era apoyarnos simplemente en una wifi entre el movil y el dispositivo. El problema aquí era que esto no funciona puesto que la señal no viaja en línea recta, se difunde siguiendo la forma de una esfera. Apuntar a la fuente no incrementa la señal, no podemos ubicar la posición del dispositivo desde el móvil.

Aquí mi amigo comenta que lo que si podríamos conseguir con lo anterior es saber si se aleja o se acerca, por el efecto doppler (el mismo que se usa para determinar cómo nos alejamos de ciertas estrellas)… solo que este no es el objetivo 😛 lo que queremos es la posición relativa. ¿En que está pensando?

Ummmmm, consultamos por Internet y nos damos cuenta que lo del doppler podría valer: la aceleración es la segunda derivada del espacio contra el tiempo, solo es cuestión de integrar dos veces. El problema es que para que funcione necesitamos una posición inicial respecto a la persona con el movil. Vale, vamos a suponer que se la podemos dar por ejemplo porque en el movil habrá un botón de sincronización que pulsamos al empezar cuando las dos personas están juntas, a partir de ahí la otra persona se mueve libremente, y entre la señal y los cálculos sabemos siempre a que distancia está… solo que con esto seguimos sin conseguir el objetivo 😛 conocemos la distancia pero no la orientación.

El problema fundamental es que necesitamos como mínimo otro punto de referencia, por ejemplo otro dispositivo que se haya sincronizado la primera vez. Pues ya está, asumimos mas complejidad y sigamos elucubrando. Padre y madre con movil, sincronizados la primera vez en el mismo sitio, el niño se aleja, esta a 10 metros del padre y a 5 de la madre trazo circunferencias y determino posición… esto no va a funcionar ni de coña, nos olvidamos que las aceleraciones y velocidades son demasiado débiles, aparte de que la precisión del hardware libre disponible no debe ser muy elevada. Esta linea parece que no lleva a ningún lado 🙁

Bueno, pues vamos a tener que apechugar y depender de infraestructura pública, ir a la solución clásica de usar las antenas wifi de las que se conozca su ubicación o usar GPS. Como las distancias entre nodos wifi pueden ser grandes la triangulación funciona. Pues venga, móvil del padre o la madre (pero uno solo) y dispositivo en el niño.

Pero queremos un dispositivo pequeño, idealmente como un reloj… y sin tener mucha idea nos reimos los dos, esto va a necesitar como mínimo un Arduino del tamaño de una tarjeta de crédito, mas un escudo wifi. Nos vamos al tamaño de un movil gordote. Pueden haber opciones para reducir los tamaños, pero supongo que yendo a soluciones mas específicas, menos estándar y menos libres. Seamos optimistas, vamos a pensar que encontramos algo mas compacto y suficientemente libre.

Casi lo tenemos :-D. Todavía nos preocupa la poca memoria del Arduino, va a tener que consultar los nodos de su zona y comunicar los datos al movil. Este será el que conecte con Internet para acceder a la base de datos de localización de los nodos, y con ella realizar los cálculos. Ummmm si, parece que rula, Arduino solo tiene que escuchar y transmitir. El cálculo y el acceso a la red lo hace el móvil. Parece que funciona, aunque se nos queda un cacharro un poco feo. Bufff!!

2 thoughts on “Un café, un amigo y un Arduino”

  1. !Me parece muy buena idea! La primera opción es cierto que es inviable por muchas cosas, el efecto doppler a esas velocidades con esas longitudes de onda es difícil de medir. Y las dobles integrales en la práctica debido a pequeños errores sitemáticos en la medida hace que den malos resultados. Pero la triangulación funciona casi siempre bien, sobre todo en espacios abiertos. Si queréis implementarlo a nivel profesional mediante crowfounding o algo os puedo ayudar y conozco a quien os puede dar un buen producto final. Arduino para pruebas está muy bien, pero para algo compacto como lo que queréis exige algo más de inversión.

    1. Gracias por tus comentarios y por el ofrecimiento Carlos. Me gusta hacer este tipo de ejercicios con amigos de vez en cuando, pequeñas exploraciones rápidas: imaginar un producto, ver si es posible y como se podría llevar a cabo. Sobre todo en tecnologías que no conozco bien. Es como dibujar mapas 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *