Badgy est une ESL Hackable

Cela fait déjà quelques années que je surveille le sujet des ESL (Electronic Smart Label); Vous savez ! ces écrans E-Ink N&B pour indiquer les infos des produits dans les supermarchés. Ces étiquettes ne coûtent que quelques dollars sur Aliexpress, mais pour les utiliser il faut passer par un vieux logiciel propriétaire communicant en 433Mhz et coûtant plusieurs milliers de dollars…

Heureusement voici Badgy ! Une petite carte Arduino sur ESP8266 qui récupère donc l’information en Wifi pour l’afficher sur un écran E-Ink. L’autonomie de l’arduino est assez limité mais suffisant pour effectuer 2 requêtes par jour pendant 1 mois sur une pile bouton rechargeable (il est aussi possible d’y souder une petite batterie)

Le projet est vraiment très bien pensé avec de nombreux exemples. Une partie du code permet de gérer la connexion wifi et une autre les boutons. Ensuite il suffit d’effectuer une requête REST pour télécharger le JSON et faire la mise en page.

  
  HTTPClient http;
  http.begin(myAPIURL);
  int httpCode = http.GET();
  if(httpCode > 0){
    String payload = http.getString();
    DynamicJsonBuffer jsonBuffer; 
    JsonArray& root = jsonBuffer.parseArray(payload);
    String fullname = root[0]["fullname"];
    http.end();
    draw(fullname);
  }

La librairie de l’écran permet de dessiner des formes simple. Un jeu de police est aussi disponible, dont une permettant d’écrire du texte très finement.

 
  display.setRotation(3); //even = portrait, odd = landscape
  display.fillScreen(GxEPD_WHITE);
  display.setTextColor(GxEPD_BLACK);

  const GFXfont* f9b = &FreeSansBold9pt7b ;  
  display.setFont(f9b);
  display.setCursor(2,18+10);
  display.println(fullname);

Les images et les icones doivent être intégrées en Hexadécimal dans un .h associé. Pour les photos j’utilise le site Picture to C-Hex converter. Le mieux étant de les convertir avant en Bitmap N&B sur Photoshop.

Côté serveur, il suffit de créer une URL qui retourne au format JSON l’information à afficher. Les images sont embarquées dans le code Arduino pour limiter la bande passante. Avec Node-RED (que j’utilise sur SARAH) ça donne ce genre de flow:

Un modèle 3D du PCM est disponible mais j’ai préféré refaire un boitier sur OpenSCAD.

Attention, ne pas forcer ! J’ai réussi à casser un écran en essayant de le patafixer au plus prêt du cadre. Finalement le résultat est sympa ! Contrairement aux photos, le crénelage de la police ne se voit pas.

Francois Longin propose aussi un modèle 3D sur Thingiverse qu’il faudra tweeker pour que ça marche avec la dernière version de la carte. L’idée ensuite est d’afficher verticalement les tâches de la journée.

J’ai en tête de faire la même chose en utilisant tout simplement une brique Node-RED Microsoft Graph que nous avons développé afin d’aller chercher dans Office 365 l’occupation des salles de réunion.

Finalement, Badgy est une nouvelle étape dans l’Ubérisation de ce marché fermé des ESL. En portant cet objet dans le monde du SmartHome on peut imaginer rajouter de l’information sur ses placards de cuisine, sa bibliothèque son frigo, sa salle de bain, sa valise, etc …

L’autonomie reste un problème… c’est Arduino ! Mais on commence à voir des initiatives autour de capteurs solaires E-Ink.

Intéressé par le sujet ? Suivez-nous aussi sur LinkedIn !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

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