Un écran de temps d’attente de la STIB … chez soi !

Temps de lecture: 3 minutes

Habitant Bruxelles, je suis un grand utilisateur de la STIB. Si j’habite à proximité d’axes forts de la STIB avec des passages toutes les 10 minutes même le soir et le weekend, rater le métro, le tram ou le bus pour 1 minute est toujours frustrant.

Bien sûr, il existe le site internet ou les applications sur mobile. Mais cela demande des manipulations et donc un peu de temps. Résultat, ils nous arrivaient en général de le regarder en sortant de chez nous pour remarquer que même avec un sprint, il nous serait difficile d’avoir le prochain passage et le suivant nous ferait attendre au moins 10 minutes (Si pas plus car, dans ce cas là, le suivant est alors en retard)

Le matériel

Ayant des Raspberry Pi sous la main, je me suis mis à fabriquer un écran pour la maison. J’ai pour ça acheté un écran e-ink qui fera parfaitement le job pour ce genre d’utilisations. Si j’ai commencé mon expérimentation avec un Raspberry Pi 3b, c’est pour finir sur un Raspberry PI Zero W que j’ai gardé pour la version finale.

Voici ci-dessous la liste du matériel. Attention, les Raspberry Pi Zero arrivent avec les broches (Le connecteur GPIO) non soudés, il faudra dès lors souder les 2×20 broches. L’alternative est de trouver un kit où c’est déjà soudé.

Au niveau montage, c’est assez simple. Il faut mettre l’écran sur le connecteur GPIO et le tour est joué. C’est au niveau logiciel que cela se complique.

La préparation logiciel

La première étape consiste à mettre Raspbian sur la carte Micro-SD, la documentation officielle explique cela parfaitement. Je vous conseil ensuite d’activer le SSH et le Wifi directement au boot afin de ne pas devoir y connecter un écran et un clavier. L’article « Mettre en place une Raspberry Pi sans écran ni clavier » l’explique correctement.

Au niveau logiciel, j’ai utilisé une librairie Node JS pour faire la partie en charge de l’écran. Il s’agit de epd2in7b. Il faudra donc installer Node JS sur le Raspberry ainsi que toutes les dépendances expliquées sur la page d’information de la librairie.

Les données de la STIB

La dernière étape de préparation sera de récupérer les données de la STIB. Par chance, la STIB a lancé il y a déjà quelques temps un site et une API Open Data nous offrant les informations nécessaires à cela. Cela fonctionne assez facilement. Il suffit de s’inscrire, de créer une application et de souscrire a OperationMonitoring.

Il reste alors à faire la partie qui vous sera nécessaire. Par exemple, afficher le temps d’attente d’un arrêt, afficher les messages de perturbations, d’utiliser les boutons sur l’écran pour passer d’un écran à l’autre.

Ce que j’affiche

Pour ma part, j’ai choisi d’afficher sur un écran les 2 prochains passages des 2 lignes qui passent à un arrêt et dans les 2 directions. Avec au milieu la date et l’heure de la dernière mise à jour. Le second bouton me permet d’afficher un autre arrêt avec une autre ligne.

Bien sûr cet écran ne fonctionne pas constamment. Il est lié à mon petit système domotique que j’ai chez moi et s’allume donc à des heures fixes pour le matin ou le weekend. Il s’éteint automatiquement dès que tout le monde est parti de la maison et se rallume dès qu’une personne est de retour.

Le futur

La prochaine étape sera d’afficher en alternance les messages de perturbations liés aux arrêts que j’affiche ainsi que de gérer un peu plus les différentes erreurs pouvant se produire.

Pour ceux qui poseraient la question, le code que j’ai fait est quelque chose de fonctionnel. Mais étant loin d’être un développeur, il me reste du travail pour rendre cela convenable et partageable. J’espère réussir à faire une version que je pourrais partager d’ici quelques temps.


Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.