Epson VFD hack – ESP8266

Un écran de caisse VFD EPSON DM-D110-11 (MODEL M58BB) offert par un passant du hackerspace attendait sagement sa nouvelle vie.

Deux options étaient envisageables. La première, parler à la carte Epson dans le pied de l’écran. Pour cette méthode, il existe déjà des choses ici et là recherchez PyPos, …

Et, la deuxième option parler directement à l’écran VFD un Noritake-Itron CU20026SCPB-T23C. Quelle fût ma déception en ne trouvant pas la moindre datasheet sur ce modèle.

La nouvelle carte est composée d’un module DC/DC, d’un module TTL > RS232 et un Wemos D1 mini (ESP8266).

Après quelques minutes de recherches, je trouve assez d’informations pour commencer le hack. Voir sources en bas d’article. 4 fils, GND, VCC +12v, TX & RX. Un câble USB <> RS232 et une alimentation de labo seront parfaits pour commencer les tests.

GND // TX // RX // +12V

Source : sunrom.com

Pinout

1 - GND
2 - RS232 - TX Data
3 - RS232 - RX Data
4 - RS232 - RX Handshake
5 - RS232 - TX Handshake
6 - GND
7 - VCC +12V
8 - GND

Switches

1 - Aucune idée...
2 - 7 bits (on) - 8 bits (off)
3 - Parity - No Parity
4 - Parity even - odd
5 - Baud rate config
6 - Baud rate config
7 - Baud rate config
8 - Test / Demo

Baud rate

ON ON ON - 2400
ON ON OFF - 4800
OFF OFF OFF - 9600
ON OFF OFF - 19200
OFF ON ON - 38400
OFF ON OFF - 57600
OFF OFF ON - 115200

Code source

Je suis au début du développement au moment où j’écris cet article. L’évolution du code sera disponible sur GitHub. https://github.com/iooner/Epson-VFD-hack

Mais, en gros…

#include <SoftwareSerial.h>
// Software Serial sur les pin D1 et D2
SoftwareSerial TTLtoRS(D1, D2); // RX, TX

// Config caractères et lignes
const int vfd_max = 20;
const int vfd_lines = 2;

void setup()
{
  Serial.begin(115200);
  // Ouverture du serial vers le module TTL > RS232 avec le VFD configuré à 115200 bauds.
  TTLtoRS.begin(115200);
  // "Vider" l'écran
  TTLtoRS.write(0x0C);
  // Afficher "Hello World!"
  TTLtoRS.println("Hello World!");
}
void loop()
{
  // Ca tourne /o/.
}

Sources

Enseigne « néon » DIY – ESP8266

Liste des courses


Hack du ruban LED

Neodyme explique parfaitement le « hack » du ruban led Action dans le replay du live Twitch. Le point de complexité est de trouver où couper dans le ruban.

Fabrication

Une fois que l’endroit où couper est trouvé, il suffit de souder l’alimentation + et – et ajouter un fil pour le data. Le – (gnd) en masse commune avec le Wemos. (Voir vidéo ci-dessus).

Dans mon cas ayant pas mal réduit la longueur du ruban, j’ai ajouté un petit module « step-down » pour alimenter le Wemos en 5v et donc d’avoir une seule alimentation pour ce projet.

J’ai imprimé en grand sur plusieurs A4 le logo souhaité pour l’enseigne. Dans ce cas le logo du Liège Hackerspace.

Pour faciliter le pliage de l’aluminium (à refaire, je pense plutôt passer à de l’acier) un « rig » est découpé rapidement à la scie à ruban et adapté pour les différents angles et courbes.

Quelques pliages et ajustements plus tard, place aux rivets et la structure est terminée.

Premier lancement… et un glitch inexplicable qui n’a pu être résolu par le remplacement du Wemos.

Pour la partie software afin que l’enseigne puisse être synchronisée au reste du hackerspace et pilotable via MQTT, j’ai opté pour WLED.

La structure a été peinte en noir mat après un bon dégraissement et le ruban est fixé grâce à des serflexs blancs translucides. L’électronique est sur le châssis dans du ruban noir d’électricien.


Tadaaam!

Projet AirHackLab

Le AirHackLab est une initiative citoyenne de contribution aux données environnementales que j’ai initié au sein du Liège Hackerspace.

Ce projet est directement inspiré du projet LuftDaten et PurpleAir.

Objectifs

Le AirHackLab à 5 objectifs :

  • Développer des capteurs fiables, bon marché et open-source,
  • Construire les capteurs avec leurs futurs hôtes,
  • Sensibiliser à l’importance de la qualité de l’air,
  • Déployer un réseau alternatif, mesurer et collecter les données,
  • Partager les données librement.

Le prototype

Un prototype est en cours de développement dans une boite de dérivation dans une optique de simplicité et réduction de coût.

Les mesures seront la concentration PPM 2.5 & 10, la température, l’humidité et la pression atmosphérique.

Dans un second temps, il est prévu le développement d’une station plus complète avec des capteurs électrochimiques afin de mesurer les polluants.

Boitier proto AirHackLab

Coté serveur

Voilà, plus ou moins comment fonctionnera l’infrastructure une fois totalement en place.

Chaque utilisateur peut créer un compte et ajouter ses capteurs.

Une API permet déjà la mise à jour des utilisateurs du broker MQTT Mosquitto. Une simple cron avec un petit script pour charger la nouvelle liste et reload le service.

Export API pour Mosquitto

Sources

Les sources sont disponibles sur Github : https://github.com/AirHackLab