Consulter les données du web avec Raspberry Pico W
Un besoin classique, une nouvelle plateforme
Afficher des données issues d’une API est un besoin très courant, et il existe de nombreuses plateformes déjà disponibles pour le faire. Le Raspberry Pico W nous propose une nouvelle approche, avec la possibilité d’une programmation en micropython qui introduit une certaine convivialité (même si elle pourra déstabiliser les habitué·es du C et d’Arduino).
Ce Pico connecté est construit autour de la puce RP2040, désormais bien connue, à laquelle on a associé un circuit Wi-Fi 2.4 GHz (Infineon CYW43439).
Nous ajoutons ici un module d’écran ePaper de 4.2 pouces, 400x300 pixels (Waveshare) qu’il s’agira de piloter pour profiter de sa persistence et de sa lisibilité légendaire. A nous le monitoring de serveurs, la météo ou les horaires de bus en direct !
Les enjeux
A quel point le Raspberry Pico W est une plateforme crédible pour les besoins habituels de l’IoT Wi-Fi ? Voici l’occasion d’un premier test.
A l’heure où apparaissent des modules eink/pico “plug an play” (celui-ci par exemple), il semblait également intéressant de savoir connecter des modules ePaper assez polyvalents (vous savez : celui qui dort depuis trop longtemps dans un tiroir !).
Connecter notre écran
Doté d’une interface SPI, notre module écran ePaper nous propose 7 connecteurs femelles, bien pratiques pour le relier à notre Pico W.
[écran => Pico]
- BUSY : GP13
- RST : GP12
- DC : GP8
- CS : GP9
- CLK : GP10
- DIN : GP11
- GND : GND
- VCC : VSYS
Le code
Nous programmons ici en Micropython avec Thonny, qui facilite bien nos tests.
Pensez à sélectionner l’interpréteur pour Rapsberry Pico :
Le code source est disponible sur le dépôt Github du projet.
A quoi servent les différents fichiers ?
texgyread20.py
et texgyread30.py
définissent les fontes utilisées pour afficher notre texte.
epaper.py
est le driver qui nous permet de piloter l’écran ePaper.
main.py
est le programme principal qui comprend :
- l’initialisation de l’objet écran (EPD) et de son buffer (buf), ainsi que la fonction
writetext
qui l’exploite. - la phase de connexion au Wifi : pensez à personnaliser votre SSID/Mot de passe.
- un exemple de requête HTTP, et d’affichage d’une donnée.
Notez bien que la manipulation de l’écran passe par un buffer. Il y a donc deux étapes : 1️⃣ modifier le buffer, puis 2️⃣ rafraîchir l’écran.
Références
Merci au projet einkpicocalendar pour son partage bien utile.