Me animo a abrir el hilo casi en formato blog sobre este pequeño proyecto en el que estoy trabajando. Antes que nada, decir que para las cosas que se ven por aquí, esto es una mierda, pero me parece un proyectito curioso y quizás le sirva a otro user. Explicando lo que uno hace se descubren fallas y posibles futuros problemas, además, si puede ser una herramienta para recibir feedback y mejorar, pues matamos dos pájaros de un tiro. Espero que sea suficiente contenido para un hilo, si no, lo cerramos y lo puedo poner como un post en alguno de los hilos de python/raspberry.
Un poco de background
El problema
Después de la pandemia como mucha otra gente empecé a entrenar en casa y en estos últimos años nos hemos ido montando un gimnasio "coqueto". El problema viene a la hora de controlar descansos, series y repeticiones en los entrenamientos. Al estar escuchando música, oyendo un podcast o viendo algo de reojo en twitch o youtube, me pasa a menudo que, o me olvido de apuntar las repeticiones, o no sé si me quedan dos o tres series, o simplemente me parece un poco coñazo salir del video/podcast/spotify para apuntar algo en el excel en el que llevo el control. Además, muchas veces me olvido de reiniciar el cronómetro casio y no sé cuanto llevo de descanso.
La solución
Desde hace tiempo he querido montar algo parecido a esto pero adaptado a mis necesidades. Así que aprovechando que tenía una raspberry por casa cogiendo polvo y que tenía ganas de aprender a soldar y quizás trastear con el diseño 3D me he animado a con esto. La idea es montar la raspberry junto a una pantalla como esta, una batería y empacarlo todo en una carcasa impresa. Todo esto debería poder controlarse de manera remota con un mando. Mi objetivo es montar algo yo mismo y aprender sobre soldadura, pero no descarto pillar algo así, pero para empezar estoy con un mando de Xbox y funciona de maravilla.
Lo que pides / lo que te llega
Por darle un poquito de vistosidad al tema:
El objetivo:
Lo que tenemos:
Intentaré arreglar un poco el repositorio para dejarlo medio decente y dejarlo por aquí.
Otros puntos:
- El programilla conecta con una base Postgres que runea un contenedor en la raspberry (siguiendo este enlace me pareció bastante sencillo). Ahora mismo el esquema es el siguiente:
Esto es importante porque quiero que la aplicación lea (los usuarios y los entrenamientos ya se obtienen directamente de ahí) y escriba en la tabla las repeticiones para cada entrenamiento, ya que lo que aparece en la tercera interfaz en el gif está todo hardcoded para probar el layout.
Como comenté he conseguido utilizar el mando de la Xbox por bluetooth para reiniciar el contador para los descansos, me pareció relativamente sencillo, ya se verá en el repositorio.
Los siguientes pasos serán:
- Organizar un poco el código
- Modificar la tercera interfaz para que muestre las repeticiones del último entrenamiento y un campo donde añadir las del actual
- Añadir también a esta interfaz la información de manera interactiva desde la base de datos