2 points par GN⁺ 2024-10-25 | 1 commentaires | Partager sur WhatsApp
  • 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

 
GN⁺ 2024-10-25
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

    • Dans les villes disposant d’un serveur OneBusAway, il est possible de développer des applications personnalisées avec le nouveau SDK
    • Dans les villes sans serveur, l’image Docker et la configuration OpenTofu permettent de convertir des flux GTFS et GTFS-RT en API REST
    • Aux États-Unis, toutes les autorités de transport doivent au minimum publier leurs données horaires statiques au format GTFS conformément à une nouvelle règle fédérale
    • Le projet a toujours besoin de développeurs intéressés par le développement logiciel, et accueille des contributeurs de tous niveaux et de tous langages
    • Des développeurs iOS sont particulièrement recherchés pour apporter les améliorations nécessaires aux 250 000 utilisateurs quotidiens
  • 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

    • Il donne par exemple différents trajets pour aller de Shibuya à Azabu-Jūban à Tokyo, ainsi que les avantages et inconvénients de chacun
  • 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