- En vivant à San Francisco, on en vient à beaucoup utiliser les transports en commun, mais de nombreuses applications ne proposent des alertes d’arrivée que pour l’ensemble d’un trajet
- L’idée a donc été de n’afficher sur le Kindle que les alertes d’arrivée proches de la position actuelle, afin de pouvoir les consulter avant de partir
- Le Kindle a été jailbreaké pour activer USBNet et configuré pour être accessible via SSH.
- Cela permet de mettre en place une tâche cron qui met à jour l’affichage.
- Comme première étape pour afficher une image sur le Kindle, une capture d’écran de la page des départs en temps réel du BART est récupérée puis envoyée au Kindle.
- Lors de la première tentative, l’image s’affichait avec une forte distorsion.
- Le problème a été résolu en ajustant la taille de l’image et la profondeur des couleurs.
Fournir une image utile
- Un serveur Node.js a été mis en place pour prendre une capture d’écran de la page BART avec Puppeteer, l’ajuster à une taille et à des couleurs adaptées au Kindle, puis la renvoyer via un endpoint HTTP.
- Le serveur a été installé sur un Raspberry Pi, avec cron configuré pour récupérer l’image chaque minute.
Repartir de zéro - architecture
- Un nouveau serveur HTTP a été construit avec Rust et Axum.
- L’API de 511.org est utilisée pour récupérer les heures d’arrivée de tous les arrêts de la Bay Area.
- La bibliothèque graphique Skia sert à rendre directement des images PNG.
Récupération des données
- L’API de 511.org est utilisée pour récupérer les heures d’arrivée du SF MUNI.
- La réponse JSON est analysée pour ne filtrer que les heures d’arrivée des arrêts nécessaires.
- Les heures d’arrivée sont triées puis affichées pour chaque direction.
Résumé de GN⁺
- Ce projet décrit la création d’un système qui exploite un ancien Kindle pour afficher des informations de transport en commun en temps réel.
- Rust et Skia sont utilisés pour construire un système efficace et fiable.
- En fournissant les informations de transport en commun en temps réel, il est possible d’offrir des données réellement utiles à l’utilisateur.
- Parmi les projets aux fonctionnalités similaires, on peut recommander des smart displays basés sur Raspberry Pi.
1 commentaires
Commentaire Hacker News
OneBusAway est un projet open source utilisé chaque jour par de nombreuses personnes pour consulter la position et l’heure d’arrivée des bus, trains, trams et téléphériques
Un autre utilisateur mentionne l’application Öffi, qui offre des fonctionnalités similaires à OneBusAway
BART et MUNI prennent en charge le General Transit Feed Specification, ce qui permet d’obtenir les données de manière standardisée
Un utilisateur ayant vécu sans voiture à Boston explique qu’il trouvait différents moyens d’atteindre sa destination via plusieurs itinéraires, et que la vue « prochain départ » lui était utile
Au Royaume-Uni, il est possible d’acheter des tableaux de départ imitant les panneaux d’affichage des gares
À Washington, DC, cela fonctionne avec les bus mais pas avec les trains, et une aide est nécessaire pour assurer la compatibilité avec le réseau ferroviaire
Sans jailbreaker un Kindle, il est possible de créer facilement des écrans météo, transport et actualités à l’aide du navigateur web
Un utilisateur vivant à SF a développé l’application iOS "A Better Ride", qui affiche les heures de départ des arrêts à proximité et rend les transports plus prévisibles et plus faciles à explorer
Un utilisateur souhaite une alternative à Google Maps qui propose des itinéraires de rechange lorsqu’un train tombe en panne ou qu’une ligne est bloquée
Un utilisateur a construit un système à l’aide d’une tablette Lenovo ThinkSmart View, offrant diverses fonctionnalités via une intégration avec l’autorité locale de transport