Bonjour à tous, c’est Mathieu. Aujourd’hi, nous allons réaliser un afficheur Led pour que notre Jeedom préféré puisse nous transmettre toutes les informations que vous souhaitez. Nous nous baserons sur un Wemos mini, et le nombre de matrices led que vous voulez.

Le matériel nécessaire pour notre afficheur Led

  • Un Wemos mini
  • Le nombre de Matrix Led que vous souhaitez
  • Un chargeur Usb
  • De quoi faire une boite (oui, car sans boite, ce n’est pas très WAF)

Préparation du Wemos pour notre afficheur LED

Cette partie est assez simple, nous l’avons déjà un peu abordée sur cet article. Tout d’abord, nous allons télécharger tout ce dont nous aurons besoin :

Télécharger le package GitHub “DotMatrixDisplay”. Au passage, un grand merci pour le boulot…

Installer ARDUINO 1.8.5.

Ensuite, il va falloir décompresser le ZIP “DotMatrixDisplay” dans Documents\Arduino. Puis, il va falloir copier le contenu de Documents\Arduino\DotMatrixDisplay\libraries​ vers Documents\Arduino\libraries.

Dès lors, vous pouvez lancer l’application Arduino. Puis il faut aller dans Fichiers​ ​> Préférences​ puis dans “URL​ ​de​ ​gestionnaire​ ​de​ ​cartes​ ​supplémentaires”​ et ajouter l’URL suivante afin d’ajouter la gestion de notre carte. 

http://arduino.esp8266.com/staging/package_esp8266com_index.json

Ensuite, il faut aller dans Outils​ ​> Type​ ​de​ ​carte​ > Gestionnaire​ ​de​ ​carte rechercher “arduino” installer “esp8266​ ​Community​ ​2.3.0​ ​rc2​” (qui contient la carte “WeMos D1 mini”) – Aller à nouveau dans Outils​ ​> Type​ ​de​ ​carte​ et sélectionner “WeMos​ ​D1​ ​R2​ ​&​ ​mini​”-

Enfin, vous pouvez ouvrir le croquis téléchargé.

Documents\Arduino\DotMatrixDisplay\DotMatrixDisplay\DotMatrixDisplay.ino

Maintenant, nous allons modifier certaines lignes pour adapter le sketch à notre équipement. En effet, vous allez modifier les lignes suivantes :

  • Ligne 58 “MAX_DEVICES​” = 8 pour 2 Matrix, 12 pour 3 Matrix, etc…
  • Ligne 84 “MQTT_TOPIC_MESSAGE​” = Nom du topic sur lequel nous allons communiquer. (ex. “jeedom/message/salon”). Ici, vous noterez que si vous voulez que tous vos MatrixLeds affichent la même chose, vous pouvez garder le même topic pour tous. Au contraire, si vous souhaitez personnaliser les messages sur les afficheurs, il vous faudra changer de topic sur chaque afficheur.
  • Ligne 88 “IPAddress​” = Adresse IP de Jeedom, enfin plus exactement de là où vous allez installer votre broker MQTT (ne vous inquiétez pas, on en reparle juste après.  (ex. MQTT_BROKER_IP(192,168,31,2))
  • Ligne 87 : si vous utilisez plusieurs afficheurs, changez le MQTT_CLIENT_ID, pour que tous en aient un différent.

afficheur led

Ensuite, vous pouvez sauvegarder… Connecter le WeMos​ ​au PC via un câble USB / micro USB. Depuis le gestionnaire​ ​de​ ​périphérique​, identifier le numéro de port​ ​COM​ sur lequel est connecté le WeMos. Enfin, retournez sur l’application Arduino​ ​et dans Outils​ ​> Port​, sélectionner le port COM du WeMos (ex. COM4).

Ça y est, vous pouvez téléverser. Lorsque l’opération est terminée, il faut se​ ​connecter​ ​au​ ​Wifi​ émis par le​ ​WeMos​ et aller sur la page http://192.168.4.1. Ensuite, à la manière d’EspEasy, qui intègre la même librairie, il vous faut intégrer le WeMos à votre réseau Wifi en indiquant le SSID et le mot de passe. Enfin, vous pouvez débrancher le WeMos du PC.

Préparation des matrices de notre afficheur LED.

Maintenant que notre Wemos est configuré, nous allons nous occuper des LED. En fonction de la configuration, il vous faut relier les deux ou trois matrices ensemble.

Pour réaliser cette opération, vous pouvez “plier” les connecteurs de façon à ce qu’ils fassent un U, et venir les souder sur la deuxième matrice.Sur la photo suivante, vous voyez une matrice soudée et une matrice juste pour les test.afficheur led

Ensuite, vous pourrez relier la matrice à votre Wemos avec le branchement suivant :

  • VCC Matrix  >> WeMos 5V
  • GND Matrix  >> WeMos G
  • CLK Matrix >> WeMos D5
  • CS Matrix  >> WeMos D6
  • DIN Matrix  >> WeMos D7

Enfin, vous pouvez connecter le WeMos à une alimentation USB / micro USB : l’afficheur est opérationnel ! Notez bien que si vous pourrez utiliser une alimentation 1A pour 2 Matrix… 2A à partir de 3 Matrix. Au branchement, les LEDS s’allument toutes, et vous avez le message Wifi Ready.

afficheur led afficheur led

Gestion de notre afficheur Led dans Jeedom :

Tout d’abord, il faut se connecter en SSH à Jeedom. Si vous ne vous souvenez pas comment faire, retour à l’article sur l’installation de Jeedom. Ensuite, nous allons installer un broker (serveur) et un client MQTT.

apt-get update

(pour mettre à jour)

apt-get install mosquitto

(pour installer le broker mosquitto)

apt-get install mosquitto-clients

(pour installer le client)

Et dans Jeedom, on fait comment pour communiquer avec notre afficheur led ?

Tout d’abord, on va sur le plugin script. Oui, ceux qui ne l’ont pas, vous pouvez le télécharger.

Ensuite, allez​ ​dans​ ​​Plugins​​ ​​>​​ ​​Programmation​​ ​​>​​ ​​Script​​​ ​et​ ​ajouter​ ​un​ ​nouveau​ ​script​ ​(ex.​ ​”WeMos_Salon”)

Puis, ajoutez​ ​une​ ​commande​ ​script​ ​(type​ ​Script​ ​/​ ​Action​ ​/​ ​Message)

Encore, cliquez​ ​sur​ ​​Nouveau​​ ​​​​et​ ​créer​ ​le​ ​script​ ​​mqtt.sh​​​ ​contenant​ ​ces​ ​lignes​ ​:

#!/bin/bash

MSG=$(echo​ ​$1|sed​ ​-e​ ​’s/\\/”/g’)

mosquitto_pub​ ​-h​ ​localhost​ ​-t​ ​jeedom/message/salon​ ​-m​ ​”$MSG”

Ici, vous remplacez “jeedom/message/salon” pour le topic sur lequel vous voulez communiquer.

Ensuite, renseigner​ ​la​ ​​Requête​​ ​​​​de​ ​la​ ​commande​ ​comme​ ​suit​ ​:

/var/www/html/plugins/script/core/ressources/mqtt.sh “{\”text\”: \” #message#  \”,\”priorite\”: 1,\”lum\”: 15,\”pos\” : 2,\”eff_in\”: 1,\”eff_out\”: 3,\”speed\” : 50,\”pause\”:0}”

Décomposition du message envoyé

Tout d’abord, notez que le message à envoyer se décompose donc de la façon suivante :

  • ​text​ ​​ ​​ ​​ ​​ ​:​ ​message​ ​à​ ​afficher
  •  priority​ ​:​ ​inutilisé pour l’instant.
  • ​lum​ :​ ​intensité​ ​du​ ​LCD​ ​(1-15)
  • ​pos​ ​​ ​​ ​​ ​​ ​​ ​:​ ​0​ ​(aligné​ ​à​ ​gauche),​ ​1​ ​(Centré),​ ​2​ ​(aligné​ ​à​ ​droite)
  • ​eff_in​ ​​ ​​ ​:​ ​effet​ ​d’entrée
  • ​eff_out​ ​​ ​:​ ​effet​ ​de​ ​sortie
  • ​speed​ ​​ ​​ ​​ ​:​ ​vitesse​ ​de​ ​l’animation​ ​(fps)
  • ​pause​ ​​ ​​ ​​ ​:​ ​attente​ ​avant​ ​la​ ​sortie​ ​du​ ​texte

Ensuite, vous avez la possibilité d’utiliser des effets pour faire entrer et sortir votre texte. Les voici ​:

  • 0​ ​:​ ​SCROLL​ ​RIGHT
  • 1​ ​:​ ​SCROLL​ ​LEFT
  • 2​ ​:​ ​SCROLL​ ​UP
  • 3​ ​:​ ​SCROLL​ ​DOWN
  • 4​ ​:​ ​OPENING​ ​CURSOR
  • 5​ ​:​ ​CLOSING​ ​CURSOR
  • 6​ ​:​ ​WIPE
  • 7​ ​:​ ​MESH
  • 8​ ​:​ ​FADE
  • 9​ ​:​ ​PRINT​ ​(fixed​ ​message)
  • 10​ ​:​ ​BLIND
  • 11​ ​:​ ​SCAN​ ​HORIZONTAL​ ​0
  • 12​ ​:​ ​SCAN​ ​HORIZONTAL​ ​1
  • 13​ ​:​ ​SCAN​ ​VERITICAL​ ​0
  • 14​ ​:​ ​SCAN​ ​VERITICAL​ ​1

Enfin, il ne vous reste plus qu’à faire une petite boite pour intégrer ce bel afficheur. Je vous conseille de faire une boite en contreplaqué fin, et de mettre une bande de chant devant l’afficheur. Vous pouvez aussi utiliser du placage de bois, pour dissimuler l’afficheur quand il ne fonctionne pas.

afficheur led

afficheur led

afficheur led

Enfin, vous pourrez voir ici une vidéo de l’afficheur en situation.

VID_20171115_105042

Conclusion de notre afficheur led

Pour conclure cet article, je dirai que cet afficheur à petit prix nous offre la possibilité de mettre des retours d’informations un peu partout dans la maison. Souvent, ces retours d’information nous manquent dans nos installations domotiques. Ce petit bricolage, vous permettra d’en mettre un peu partout dans votre maison, et pour moins cher (oui, il y a aussi moins de fonction) qu’un Lametric. Je terminerai cet article par un grand merci à Philippe pour son aide sur ce projet.



Partager sur :

Infos de l'auteur

Je m'appelle Mathieu, j'ai 35 ans, et je vis à Limoges. Je suis prof d'EPS, et passionné de domotique. Amateur de DIY et de bricolage, j'aime aussi la cuisine, le bon vin.

71 commentaires

  1. Le serveur Mosquitto est en fonction et lorsque je lance le message, il me réponds : Error: Unknown option ‘“Test’.
    donc je pense que Mosquitto est en place sur le Pi mais qu’autre chose d’autre cloche…
    c’est pas facile

  2. Merci pour ce topic, j ai un petit problème:

    dans le script: mosquitto_pub​ ​-h​ ​localhost​ ​-t​ ​jeedom/message/salon​ ​-m​ ​”$MSG”

    à la place de ​localhost​ je met l’ip du wemos?.

  3. car dans mon log , j ai les erreur suivante:

    [2017-12-12 17:41:20][DEBUG] : Result :
    /var/www/html/plugins/script/core/ressources/mqtt.sh: 2:
    /var/www/html/plugins/script/core/ressources/mqtt.sh: echo​: not found
    /var/www/html/plugins/script/core/ressources/mqtt.sh: 2:
    /var/www/html/plugins/script/core/ressources/mqtt.sh: sed​: not found
    /var/www/html/plugins/script/core/ressources/mqtt.sh: 3:
    /var/www/html/plugins/script/core/ressources/mqtt.sh: mosquitto_pub​: not found

  4. ah ok merci, mais par contre je ne comprend pas pour quoi j’ai des erreur not found, et commen jeedom connais l’ip de mon wemos pour l’envois du message?

  5. Je m’auto réponds pour si quelqu’un à le même problème, en faite quand on copie colle le scripte du site ya des characteres invisibles qui s’incruste donc vaut mieux tout retaper à la main

Laisser un commentaire