Préparation d’un Badge e-ink

Dans quinze jours aura lieu l’HamExpo 2022 du REF au Mans. Pour l’occasion, je me suis dit qu’avoir un petit badge de présentation serait une bonne occasion de présentation et facilité d’abordage.

Je me suis donc orienté vers une solution déjà prépackagé avec le Badger2040 de chez Pimoroni.com

Quelques spécifications techniques :

  • Écran E Ink® noir et blanc de 2,9″ (296 x 128 pixels)
    • Angles de vision ultra-larges
    • Consommation d’énergie ultra-faible
    • Pas de point – 0,227 x 0,226 mm
  • Alimenté par un RP2040 (Dual Arm Cortex M0+ fonctionnant jusqu’à 133 Mhz avec 264 Ko de SRAM)
  • 2 Mo de mémoire flash QSPI prenant en charge XiP
  • Cinq boutons utilisateur à l’avant
  • Boutons de réinitialisation et de démarrage (le bouton de démarrage peut également être utilisé comme bouton utilisateur)
  • LED blanche
  • Connecteur USB-C pour l’alimentation et la programmation
  • Connecteur JST-PH pour connecter une batterie (plage d’entrée 2,7 V – 6 V)
  • Référence de tension de haute précision pour la surveillance du niveau de batterie
  • Connecteur Qw/ST (Qwiic/STEMMA QT)
  • Entièrement assemblé (aucune soudure requise)

Parce qu’il s’agit d’une carte RP2040, le Badger 2040 est indépendant du firmware ! Vous pouvez le programmer avec C/C++, MicroPython ou CircuitPython.

De mon côté, je suis parti sur la programmation en MicroPython. En effet, c’est la méthode la plus adaptée pour ce que je souhaite faire, et toutes les librairies sont nativement supportées par le produit.

MicroPython et le Badger 2040

Votre Badger sera préchargé avec MicroPython et une suite d’exemples. Cependant, pour toutes les dernières fonctionnalités, ajustements et correctifs, vous devez télécharger vous-même la version la plus récente.

Si vous êtes nouveau sur Raspberry Pi Pico/RP2040s, vous trouverez peut-être utiles les instructions étape par étape du didacticiel Premiers pas avec Raspberry Pi Pico de Pimoroni. Il vous montrera comment installer la version personnalisée de MicroPython et vous expliquera plus en détail comment utiliser Thonny.

Voici un récap rapide la procédure :

  • Téléchargez le fichier MicroPython .uf2 le plus récent à partir de la page Releases du dépôt Github pimoroni-pico. Vous aurez besoin de la version spéciale pour Badger 2040, qui intègre le lanceur BadgerOS et des démos.
  • Maintenez enfoncé le bouton BOOT du Badger 2040, puis appuyez et relâchez le bouton RESET. Cela le mettra en mode bootloader, et il devrait apparaître comme un lecteur sur votre ordinateur appelé RPI-RP2.
  • Copiez le fichier .uf2 sur le lecteur RPI-RP2 – une fois que vous avez fait cela, Badger 2040 redémarrera en exécutant BadgerOS !

Programmer Badger avec Thonny

Préparations

Une fois MicroPython installé, votre Badger n’apparaîtra plus comme un lecteur. Pour le programmer, vous devrez lui parler via un interprète. J’utilise Thonny, disponible pour Windows, Mac ou Linux.

Installez la dernière version de Thonny. Nous vous recommandons de le télécharger à partir du site Web de Thonny, car les gestionnaires de packages ne disposent pas toujours de la version la plus récente.
Ouvrez Thonny. Assurez-vous que l’interpréteur (affiché dans la case en bas à droite) est défini sur « MicroPython (Raspberry Pi Pico)« .

Si ce n’est pas le cas, il faudra certainement sélectionner « Configurer l’interpreteur« , puis ressaisir « MicroPython (Raspberry Pi Pico) » et cliquer ensuite en bas sur « Install or update MicroPython« 

Branchez votre Badger sur votre ordinateur, s’il n’est pas déjà branché. Comme le lanceur sera déjà en cours d’exécution, vous devrez l’arrêter avec le bouton d’arrêt de Thonny avant de lui envoyer des instructions.
Après avoir appuyé sur stop, vous devriez obtenir quelque chose comme ceci une invite MicroPython qui ressemble à ceci. Le curseur clignotant à côté de >>> dans la case ‘Shell‘ vous indique que Badger 2040 parle à votre ordinateur et est prêt à accepter des instructions ! ( Si vous ne recevez pas d’invite ou si vous obtenez une erreur, vous avez peut-être interrompu Badger à un moment étrange du programme, appuyez sur reset sur votre Badger et appuyer à nouveau sur stop)

Le code

Pour faire mon badge, je suis parti d’un des exemples dans le dossier de la librairie pimoroni-pico sur github. Pour faciliter cet article, et parce que j’ai modifié les tailles et polices de caractère, j’ai regroupé les fichiers dans un dossier sur github que vous trouverez ici : https://github.com/jdenoy/badger2040-f4wat

Après avoir téléchargé le fichier zip contenant tous les fichiers, j’ai mis tous ces fichiers dans un dossier sur mon ordinateur.

Lancez ensuite le logiciel Thonny, et ouvrez le fichier « badge.py« 

Si vous ne voyez pas la liste des fichiers sur la gauche (comme dans l’image ci-dessus), allez dans le menu « Affichage« , et cliquez sur « Fichiers« . Lorsque cela sera fait, faite un clic droit sur le fichier en haut « badger_os.py » et selectionnez « Téléversement vers / » afin de rajouter la librairie nécessaire pour activer le badge.

Ensuite Appuyez sur la flèche verte dans juste en dessous du menu (ou appuyez sur F5 sur votre clavier) pour lancer le script. Vous devriez voir votre badge comme sur l’image suivante :

Si, dans le Thonny, vous avez le message ci-dessous, tentez de Téléverser « badge_os.py » à nouveau sur le badge.

Traceback (most recent call last):
  File "<stdin>", line 3, in <module>
ImportError: no module named 'badger_os'

Il faut ensuite créer un fichier « badge.txt » dans ce même répertoire avec six lignes que vous voyez sur l’image affiché plus haut dans cet article. De mon côté, j’ai rédigé les lignes comme suivant :

Johan Denoyer
F4WAT
JN09jg

EMCOM FRANCOPHONE

Il faut ensuite « Téléverser vers / » le fichier à l’aide de Thonny (Pensez à cliquer sur le bouton STOP avant de lancer le téléversement, sinon vous aurez probablement un message d’erreur). Alors, vous avez ensuite à appuyer sur la flèche verte dans juste en dessous du menu (ou appuyez sur F5 sur votre clavier) pour relancer le script.

Résultat :

C’est déjà mieux 🙂 Il manque seulement une photo sur la partie droite. Comme je ne suis pas photogénique, et que la résolution de la photo est très limitée, j’ai pris le parti de mettre un qr-code qui pointe vers mon lien linktree.

Pour générer mon qr-code, j’utilise le site the-qrcode-generator.com qui donne un moyen de générer des qr-code avec différents rendus graphique gratuitement.

Je sélectionne « URL », puis renseigne l’url à coder dans le qr-code (vous pouvez utiliser ce que vous souhaitez à encoder pour le qr-code, c’est sans importance). J’ai ensuite sélectionné à droite le qr-code avec des points arrondis que je trouve chic.


Ensuite je télécharge le qr-code en laissant les paramètres de téléchargement comme suivant :

Maintenant ca devient un peu plus complexe, car l’image doit avoir une taille spécifique…

Cette image doit exactement être de 104 pixels de large et 128 pixels de haut. Vous devrez donc la redimensionner avec un programme graphique tel que GIMP avant de l’exécuter dans le script de conversion.

J’ai aussi aligné verticalement le qr-code, parce que l’image téléchargée est un poil trop petite en hauteur.

Cela donne ensuite :

Ensuite pour transformer cette image en version binaire pour le badge, il vous faudra avoir :

Il existe des tutos sur l’installation de python, pip, et l’installation des librairies python sur Internet. Parcourez-les pour vous aider !

Ensuite, la commande à utiliser est la suivante :

python3 convert.py --binary badge_image.png

Résultat :

Désormais, le fichier badge_image.bin est créé, il faut la faire la manipulation sur ce fichier pour le « Téléverser sur / » comme pour les autres fichiers.

Ensuite, relancez le script « badge.py« , et cela donnera le résultat comme suivant :

Maintenant, rendez-vous le 22/10/2022 lors du HamExpo 2022 au Mans

Laisser un commentaire