- Al vivir en San Francisco y usar mucho el transporte público, notó que muchas apps solo ofrecen alertas de llegada para rutas completas
- Lo hizo para mostrar en el Kindle solo las alertas de llegada cercanas a su ubicación actual, de modo que pudiera revisarlas antes de salir
- Le hizo jailbreak al Kindle, activó USBNet y lo configuró para poder acceder por SSH
- Gracias a eso, pudo configurar una tarea de
cron para actualizar la pantalla
- Como primer paso para mostrar imágenes en el Kindle, tomó una captura de pantalla de la página de salidas en tiempo real de BART y la envió al Kindle
- En el intento inicial, la imagen se mostraba muy distorsionada
- Resolvíó el problema ajustando el tamaño de la imagen y la profundidad de color
Proveer una imagen útil
- Montó un servidor en Node.js que usa Puppeteer para tomar capturas de la página de BART, ajustarlas al tamaño y color adecuados para el Kindle y devolverlas mediante un endpoint HTTP
- Instaló el servidor en una Raspberry Pi y configuró
cron para obtener la imagen cada minuto
Empezar de nuevo desde cero - Arquitectura
- Construyó un nuevo servidor HTTP usando Rust y Axum
- Usó la API de 511.org para obtener los horarios de llegada de todas las paradas del Bay Area
- Usó la biblioteca gráfica Skia para renderizar directamente imágenes PNG
Obtener los datos
- Usó la API de 511.org para obtener los horarios de llegada de SF MUNI
- Parseó la respuesta JSON y filtró solo los horarios de llegada de las paradas necesarias
- Ordenó los horarios de llegada para mostrarlos por cada dirección
Resumen de GN⁺
- Este proyecto trata sobre cómo construir un sistema que aprovecha un Kindle antiguo para mostrar información de transporte público en tiempo real
- Usa Rust y Skia para construir un sistema eficiente y confiable
- Al ofrecer información de transporte público en tiempo real, puede brindar datos útiles al usuario
- Como proyecto con una función similar, se recomienda un smart display basado en Raspberry Pi
1 comentarios
Comentarios de Hacker News
OneBusAway es un proyecto de código abierto que mucha gente usa todos los días para revisar la ubicación y los horarios de llegada de autobuses, trenes, tranvías y teleféricos
Otro usuario mencionó una app llamada Öffi que ofrece funciones similares a OneBusAway
BART y MUNI son compatibles con General Transit Feed Specification, por lo que se pueden obtener datos de forma estándar
Un usuario que vivió en Boston sin auto comentó que encontraba formas de llegar a su destino por distintas rutas y que la vista de "siguiente salida" le resultó útil
En el Reino Unido se pueden comprar tableros de salidas que imitan los paneles de salidas de las estaciones
En Washington, DC funciona con los autobuses, pero no con los trenes, y se necesita ayuda para la compatibilidad con trenes
Sin necesidad de hacer jailbreak a un Kindle, se pueden crear fácilmente pantallas de clima, transporte y noticias usando el navegador web
Un usuario que vive en SF desarrolló la app de iOS "A Better Ride", que muestra horarios de salida de paradas cercanas y hace que el transporte sea más predecible y fácil de explorar
El usuario quiere alternativas como Google Maps y le gustaría recibir rutas alternativas cuando un tren se avería o una línea queda bloqueada
Un usuario construyó un sistema usando una tablet Lenovo ThinkSmart View que ofrece varias funciones mediante integración con la agencia de transporte local