Concrétisons Nos Idées

Weather Frame

Rédigé par Sacha - -

Bonjour les gens !

Je ne suis pas très productif dernièrement (en articles de blog seulement).

Je vous propose dans ce billet de mettre en place un cadre photo, mais qui donne le temps qu'il fait. Le but est de mettre en valeur l'électronique utilisée et de ne pas la cacher pour une fois. Le tout est basé sur un écran de liseuse (e-paper) et un nodeMCU (ESP8266).

Allons, commençons !

Il y a deux aspects à prendre en compte : la récupération de données de météo et l'affichage sur l'écran e-paper.

Pour la récupération des données météo, il existe un paquet d'API qui propose différentes offres plus ou moins chères et plus ou moins intéressantes. J'ai exploré un peu mes possibilités et je suis tombé sur ce projet. Ce tuto utilise le site wunderground afin d'avoir les données et accessoirement, il propose une interface à cette API météo. En effet, il est nécessaire de comprendre ce qu'on fait étant donné que le code tourne sur un micro-contrôleur (la mémoire et la puissance de calcul sont très limitées). Ce tuto m'a permis de répondre à ma question du parsing des données retournées par le site. En effet, ces API météo répondent en XML ou en JSON d'un seul bloc, il est donc important de réaliser un parsing en mode "stream" afin de limiter la mémoire nécessaire. Merci à squix78, c'est toujours plus simple de trouver ce dont on a besoin :).

Récapitulons ! J'ai trouvé le site de météo et la librairie pour récupérer les données. Bon, je crois que le point 1 est fait.

Pour la gestion de l'écran e-paper, j'ai récupéré la librairie du constructeur mais modifiée pour ESP8266. En testant la librairie, j'ai eu une petite déconvenue : impossible de programmer l'ESP8266 une fois l'écran connecté. J'ai bien mis une minute à rien comprendre avant de réaliser que la programmation et la communication avec l'écran se font par UART ... du coup l'écran répond au programme de flash et tout plante. Il faudra donc un interrupteur pour couper l'alimentation de l'écran lors de la programmation. Le deuxième effet kiss cool vient du fait que pour préparer une image dans le format accepté par l'écran (4bits LE, 4 niveaux de gris), le programme fourni par le constructeur fonctionne sous Windows mais pas moi :(. Mais heureusement, les ressources d'internet sont infinies et après avoir tapé de nombreuses requêtes avec les mauvais mots-clés, je suis tombé sur un sauveur. J'étais prêt (désespéré) à coder un truc moi-même mais pas besoin :). Il y a également une section sur la gestion des fichiers dans l'écran (ça aide bien). Mais au final vous allez me dire, de quelles images on parle...? Eh bien de celles-ci.

Je crois qu'on a fait le tour, il est temps d'essayer. Et voilà, le premier test réussi :)

test_image

Hourra, les images fonctionnent (c'est ce qui m'a pris le plus de temps au final) ! Maintenant l'affichage entier.

test_design

Il ne reste plus qu'à tout assembler : un cadre, 8 entretoises filtées, 16 fils, un interrupteur et des fils.

dessin trou test all_connected.jpg

J'ai tenté une déco à la main pour voir.

result result2

En passant, voici le code que j'ai écrit, il me semble que j'ai fait deux trois motifs dans le code initial de la librairie de récupération des infos météo pour que tout fonctionne correctement.
Le truc sympa est que quand on coupe l'alimentation, les prévisions restent affichées avec la date et l'heure. On peut donc choisir de l'allumer uniquement lorsque l'on a besoin et garder les infos toute la journée.

J'espère que cet article vous donnera des idées.

Bonne Bidouille à tous !

Les commentaires sont fermés.