

Inklay : un écran maison incitant au vélo

Je me rends régulièrement à Zurich à vélo, après avoir jaugé la météo le matin avant le départ. Pour pallier l'absence d'appli qui me plaise et trouver une motivation supplémentaire, je me suis décidé à fabriquer mon propre écran.
Pendant les mois les plus chauds, je me rends régulièrement à vélo au travail à Zurich. Cette décision se prend généralement tôt le matin, juste après le lever. Je consulte l'application météo et décide spontanément en fonction du temps, du vent et de la température. Mais je trouve l'aperçu de l'application météo peu inspirante. Il me faut également trop de temps pour collecter les données pertinentes pour moi.
C'est là qu'est née l'idée : que les informations météorologiques me concernant soient directement visibles le matin. En outre, les kilomètres hebdomadaires et annuels que je parcours devraient me motiver à faire du vélo aussi souvent que possible.
Une solution artisanale
Je pourrais acheter une tablette et crée un petit site Web faisant office de tableau de bord. Mais je me rends vite compte que ce n'est pas ce que je veux vraiment. Je n'ai pas envie d'ajouter des câbles dans la chambre. J'aimerais quelque chose d'épuré, quelque chose qui fonctionne passivement et dont je n'ai pas à me soucier.
Lors de mes recherches, je suis tombé sur le papier électronique, une technologie peu gourmande en énergie ; j'ai alors vite compris que je pouvais concrétiser mon idée sans câbles ni prises de courant.

Je trouve tous les composants nécessaires, les commande et en quelques mois, conçois un produit qui me convient et à assembler moi-même.
L'écran terminé affiche le temps qu'il fait là où j'habite ainsi que mes kilomètres à vélo par semaine et par an ; merci à Strava connection. Il est connecté à Internet via WiFi et récupère de nouvelles données une fois par heure pour économiser la batterie. L'écran est encastré dans un cadre en bois et un boîtier d'impression 3D spécialement conçu.
De l'idée au produit
Après quelques recherches initiales, je découvre des projets d'encre électronique passionnants sur Internet, lesquels permettent d'afficher des données météorologiques, des calendriers personnels et des listes de choses à faire. Au début, il est difficile d'avoir une vue d'ensemble du matériel et des technologies utilisés. Mais je réalise rapidement toutes les possibilités et aussi leurs limites.
Composants
Je me décide dans un premier temps pour le papier électronique [Waveshare] (https://www.waveshare.com/7.5inch-e-paper-hat.htm), mais finis par commander un écran trois couleurs, offrant une résolution de 800 x 576 pixels et un temps de rafraîchissement d'environ 20 secondes.


Pour contrôler l'écran, un Raspberry Pi ou un Arduino fera l'affaire. Cependant, Waveshare vend une petite carte de développement équipée de tous les composants nécessaires et fournissant une interface directe avec l'écran. La commande, basée sur le circuit intégré ESP8266, intègre le WiFi et peut être programmée directement via l'Arduino IDE.

Pour l'alimentation de l'écran et de la commande, j'utilise une batterie LiPo de 3,7 V et 2000 mAh, capable, selon mes calculs, d'alimenter le système pendant près de trois mois. On verra dans la pratique si c'est effectivement le cas. La batterie se charge via USB. Le module de chargement correspondant se trouve dans la boutique en ligne d'Adafruit.

Code
Entre-temps, j'ai reçu les composants. Je peux maintenant programmer la commande ESP8266 directement via l'IDE d'Arduino. Mais je n'en suis pas fan et heureusement je trouve une extension pour Visual Studio Code En deux temps trois mouvements, je parviens à faire apparaître mon premier « Hello World » sur l'écran.
Pour recevoir des données d'Internet, il me faut établir une connexion WiFi. La bibliothèque WiFi ESP8266 correspondante fournit toutes les fonctions nécessaires à cet effet. Mon écran est rapidement prêt à recevoir des données météorologiques. OpenWeather propose justement une API simple et gratuite. Cependant, la mémoire sur l'ESP8266 est très limitée. La réponse JSON d'OpenWeather est parfois trop importante et le programme se bloque. Cependant, la JSON Library d'Arduino permet de filtrer les résultats à l'avance et de ne charger en mémoire que les données nécessaires.
Pour économiser l'énergie, il est possible de mettre la commande en sommeil profond. Avec la fonction dite Deep Sleep, la commande réduit toutes les activités et ne maintient que les processus absolument nécessaires pour se réactiver après un temps défini. Je décide de ne mettre à jour l'affichage qu'une fois par heure.
L'intégration des données de Strava est un peu plus compliquée. Contrairement à OpenWeather, l'API est sécurisée par HTTPS. En outre, je ne peux accéder aux données personnelles que si je me suis préalablement authentifié auprès de Strava, une procédure qui s'appelle OAuth 2.0. J'ai maintenant accès à mes données personnelles telles que les kilomètres parcourus à vélo, les tours à vélo, etc. Malheureusement, il n'y a pas de kilomètres hebdomadaires dans l'API comme API Endpoint. Je dois les calculer moi-même à partir de mes derniers tours à vélo.
Enfin, je souhaite afficher toutes les données de manière attrayante sur l'écran, dans la mesure où cela est possible avec le papier électronique. Pour l'affichage des polices et des images, j'utilise la GxEPD2 Library, une bibliothèque développée par un Suisse. Depuis que j'ai acheté un nouvel écran Waveshare, il a gentiment agrandi sa bibliothèque pour moi.

Cadre et boîtier de l'écran
J'aime le bois. Dans mon appartement, j'ai beaucoup de meubles en bois. Pour moi, il est clair que je veux placer l'écran dans un cadre de cette matière. Un projet antérieur m'a permis d'en apprendre plus sur les possibilités de découpe et de gravure au laser, des prestations proposées par Laser-Atelier à Zurich. Après quelques essais à l'aide de différents bois et techniques de gravure, je fais appel à cet atelier. Le résultat ? Un cadre en bois découpé avec précision et gravé, ainsi qu'une base pour la commande et le chargeur USB.


La fabrication du boîtier s'avère un peu plus compliquée. Les écrans de Waveshare ne sont pas centrés. Mais mon but est d'obtenir un cadre équilibré coûte que coûte. Ce décalage sera facile à compenser avec le boîtier. Une découpe laser n'est pas possible ici. Je décide donc de recourir à l'impression 3D. Pour ce faire, je reçois le soutien d'un bon ami de chez Lauschsicht. Il faut s'y reprendre à quatre fois au moins jusqu'à l'obtention d'un résultat satisfaisant. J'ai d'abord conçu le boîtier dans Cinema 4D, puis je suis passé à Fusion360, beaucoup plus adapté à ce type de travail.



En outre, j'installe deux interrupteurs. Le premier sert à allumer et à éteindre l'écran, le second, à interrompre le mode Deep Sleep. En effet, pendant le développement ou le débogage, je ne veux pas que la commande se mette en sur mode Deep Sleep après quelques secondes.
Pour le montage, je mets l'écran dans le boîtier et le colle au cadre en bois. Je colle aussi la commande à la base. Je soude le chargeur USB et les interrupteurs fermement à la commande. L'assemblage d'un seul écran prend environ une heure.

Quelques statistiques sur mon projet
- Une découpe au laser, y compris la gravure, prend environ 30 secondes, oui, c'est incroyablement rapide.
- La compilation du code prend environ 2 minutes.
- L'impression 3D du boîtier prend environ 4 heures.
- La livraison d'une batterie Adafruit depuis les États-Unis prend 2 jours.
- La livraison d'un écran Waveshare depuis la Chine prend 2 à 3 semaines.
Qu'ai-je appris ?
Le projet s'inscrit avant tout dans une démarche personnelle. L'idée naît lors du premier confinement au printemps. Je peux maintenant affirmer avoir appris une quantité incroyable de choses. Je me suis intéressé à des technologies avec lesquelles je n'avais pratiquement jamais travaillé auparavant. La courbe d'apprentissage est abrupte et le facteur plaisir, élevé en conséquence. Il est aussi incroyablement agréable de créer quelque chose soi-même et de pouvoir tenir dans ses mains. En tant que concepteur et développeur de logiciels, je ne fais pas cela très souvent. Et le meilleur dans tout ça, c'est que j'ai beaucoup plus enfourché mon vélo depuis.

En tout cas, je suis enthousiaste à l'idée de faire évoluer ce projet. J'ai déjà quelques idées passionnantes : par exemple, une application compagnon, plus d'intégrations, plus de sports, des données provenant d'amis, des statistiques passionnantes et divertissantes et bien plus encore.
Le produit convient également à d'autres applications : un calendrier familial dans le salon, par exemple, ou une image radar des précipitations sur le placard dans l'entrée. Et vous, vous avez des idées ? À vos claviers dans la partie commentaires !


Je suis un designer indépendant, développeur et fondateur de Vision 11 - un petit studio de conception d'expériences numériques à Zurich. Vision 11 crée des expériences interactives et immersives exceptionnelles pour des clients nationaux et internationaux. www.vision11.ch