Max7219

Forum dédié aux bricolages d'objets connectés IOT et leurs communications avec DomoticZ :
- Remplacement de firmware des prises, modules relais ...
- Fabrication à base d'ESP8266, de NodeMCU, de Weemos et consorts ...
dokho
Messages : 685
Inscription : 28 déc. 2014, 19:32

Re: Max7219

Message par dokho »

4 c'est juste, sur ma vidéo il y en a 9 et si je me décide à mettre ça au propre je pense passer à 3 x 4.

Envoyé de mon SM-N9005 en utilisant Tapatalk
Jeff
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: Max7219

Message par Jeff »

J'avais pas fait attention, j'en ai recommandé 4 de plus.
C'est très bien pr les essais, sachant que je ne sait pas encore précisément ce que je vais en faire :?
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
Jeff
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: Max7219

Message par Jeff »

J'ai reçu depuis mes 2 FC16 (4 blocs Max7219) et j'ai fini ce que je voulais. Il reste l'intégration du wemos dans le boitier.
Afficheur.png
Afficheur.png (217.59 Kio) Consulté 8047 fois
J'ai découper mes 2 FC16 blocs en 2 parties : 1 zone statique (gauche) pour des infos type : date, heure et température domoticz et 1 autre en texte défilant pour les messages que je veux : message à mes enfants avant le départ à l'école si nous sommes absent :D. Je l'utilise également pour faire des essais saint du jour et la meteo avec un rappel toute les 5 min.

Tout communique en mqtt, via un dashboard node-red et diffuse des infos de domoticz à la demande.

Le fonctionnement est le suivant :
Dashboard_afficheur.png
Dashboard_afficheur.png (22.37 Kio) Consulté 8047 fois
Un champ texte qui permet de taper le message que l'on veut transmettre (avec une notification : msg(1) qui s'affiche sur l'écran pour signaler aux enfants qu'ils ont un message) . Ils peuvent le lire en appuyant sur un bouton physique sur l'afficheur. Oui je sais l'année prochaine, je leur paie un portable :lol:
msg.png
msg.png (35.21 Kio) Consulté 8047 fois
Un champ de configuration (luminosité, nombre de fois que le texte défile, raz du message en mémoire...

Après tout est faisable, node-red me permettant de récupérer tout ce que je veux de domoticz et je choisi où je veux l'afficher.

J'ai bien conscience que c'est un amusement, j'ai toujours voulu reproduire les panneaux de pharmacie :?

Si il y a des intéressés, je posterais les sources arduino et node-red, ca peut servir :)
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
totof60
Messages : 373
Inscription : 29 avr. 2016, 09:31

Re: Max7219

Message par totof60 »

Bonjour à tous

Je déterre le sujet

@ dokho

où en es tu sur ce projet ?
l'as tu fais évoluer ?

Merci d'avance
Domoticz V2022.2
sous Buster, Homebridge,RfLink
Raspberry pi3, Google home mini
plein de truc wifi !! de l'esp-01 jusque le nodemcu en passant par le wemos et même du DIY
dokho
Messages : 685
Inscription : 28 déc. 2014, 19:32

Re: Max7219

Message par dokho »

Hello,

J'avoue avoir laissé tomber ce projet (et beaucoup d'autres ).

Il faudrait que je m'y repenche
QcVictor
Messages : 79
Inscription : 17 janv. 2015, 14:52

Re: Max7219

Message par QcVictor »

dokho a écrit : 08 mai 2020, 11:35 Hello,

J'avoue avoir laissé tomber ce projet (et beaucoup d'autres Image).

Il faudrait que je m'y repenche
Je serais aussi intéressé !
Jeff
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: Max7219

Message par Jeff »

Je me suis recommander des wemos dont 1 pour remettre en route le Max7219.
On verra ce que j'en fait !
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
neo
Messages : 89
Inscription : 15 janv. 2020, 15:57

Re: Max7219

Message par neo »

Hello,
Je suis tombé sur le superbe projet NotifHeureXL : https://byfeel.info/mise-a-jour-notifheurexl-v1-0-0/
qui dispose d'une rubrique MQTT/Domotique : il y a sûrement moyen de bricoler quelque chose pour domoticz ;-)
Raspberry Pi 2 - Docker: Domoticz, NodeRed, Mosquitto, Homebridge - RFLink USB 433mhz, sondes Oregon, pluviomètre - Prises électriques et autres cartes à base d'ESP8266/ESP32 sous ESPEasy et Tasmota
Mes designs 3D sur Thingiverse
neo
Messages : 89
Inscription : 15 janv. 2020, 15:57

Re: Max7219

Message par neo »

Salut à tous,

Après avoir compilé tant bien que mal NotifHeureXL j'ai pu l'intégrer sans problème dans Domoticz via Node-Red, et ça tourne plutôt bien !
Une fois la carte flashée et connectée au réseau wifi, on peut configurer directement par interface web les infos du broker, la matrice affiche alors les messages qui lui sont destinés via MQTT.
De base elle affiche l'heure en attendant de faire défiler le message reçu.

A savoir que l'on peut mettre plusieurs modules en série, régler l'intensité de l'éclairage, la vitesse de défilement et tout un tas d'autres choses (à voir sur le site de l'auteur).

Un 1er test simple avec mosquitto client :

Code : Tout sélectionner

mosquitto_pub -h 10.100.1.3 -t "byfeel/NotifheureXL/6e5bbf/max7219/message" -m '{"msg":"Hello World"}'
L'idée c'est de remplacer "Hello World" par les infos que l'on veut de Domoticz.

Voici comment je procède simplement dans Node-Red :
max7219.png
max7219.png (51.51 Kio) Consulté 4856 fois
Attente 60sec => Demande d'infos à Domoticz via http/json => Isolation des données => Mise en forme MQTT => Envoi
S'en suit une pause de 10 secondes entre chaque valeur envoyée de telle sorte que la matrice ait le temps de faire défiler le précédent message et le programme se relance en boucle.

Je suis complètement débutant dans Node-Red (je ne connaissais pas avant).
Je ne sais pas si c'est optimisé ou si ma manière de procéder est la bonne mais ça fonctionne au poil, sans plantage ni message d'erreur.
Je colle ici le flow node-red :

Code : Tout sélectionner

[
    {
        "id": "a9cc2ddb.efc4a",
        "type": "tab",
        "label": "Matrice LED Max7219",
        "disabled": false,
        "info": ""
    },
    {
        "id": "d1e2c0c1.f8ac1",
        "type": "mqtt out",
        "z": "a9cc2ddb.efc4a",
        "name": "Max7219",
        "topic": "byfeel/NotifheureXL/6e5bbf/max7219/message",
        "qos": "2",
        "retain": "",
        "broker": "b8bfeb9b.474018",
        "x": 1220,
        "y": 220,
        "wires": []
    },
    {
        "id": "5e44d1bb.94822",
        "type": "function",
        "z": "a9cc2ddb.efc4a",
        "name": "CPU (Data export)",
        "func": "msg.payload = msg.payload.result[0].Data\nreturn msg;\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 650,
        "y": 60,
        "wires": [
            [
                "54c83385.f56ecc"
            ]
        ]
    },
    {
        "id": "54c83385.f56ecc",
        "type": "template",
        "z": "a9cc2ddb.efc4a",
        "name": "Template CPU",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"msg\":\"CPU: {{payload}}\"}",
        "output": "str",
        "x": 880,
        "y": 60,
        "wires": [
            [
                "d1e2c0c1.f8ac1",
                "ca17c34a.15fb8"
            ]
        ]
    },
    {
        "id": "b3ed6cd0.24dfe",
        "type": "function",
        "z": "a9cc2ddb.efc4a",
        "name": "Memory (Data export)",
        "func": "msg.payload = msg.payload.result[0].Data\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 660,
        "y": 220,
        "wires": [
            [
                "42933e34.dd33e"
            ]
        ]
    },
    {
        "id": "42933e34.dd33e",
        "type": "template",
        "z": "a9cc2ddb.efc4a",
        "name": "Template Memory",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"msg\":\"Memory: {{payload}}\"}",
        "output": "str",
        "x": 890,
        "y": 220,
        "wires": [
            [
                "d1e2c0c1.f8ac1",
                "7a35d732.8cdf6"
            ]
        ]
    },
    {
        "id": "b108c682.e28c88",
        "type": "function",
        "z": "a9cc2ddb.efc4a",
        "name": "HDD (Data export)",
        "func": "msg.payload = msg.payload.result[0].Data\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "x": 650,
        "y": 360,
        "wires": [
            [
                "68d3dc6a.00c29c"
            ]
        ]
    },
    {
        "id": "68d3dc6a.00c29c",
        "type": "template",
        "z": "a9cc2ddb.efc4a",
        "name": "Template HDD",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\"msg\":\"HDD: {{payload}}\"}",
        "output": "str",
        "x": 880,
        "y": 360,
        "wires": [
            [
                "d1e2c0c1.f8ac1"
            ]
        ]
    },
    {
        "id": "69d1e9d6.02cd8",
        "type": "http request",
        "z": "a9cc2ddb.efc4a",
        "name": "HTTP Request (IDX1 CPU)",
        "method": "GET",
        "ret": "obj",
        "paytoqs": "ignore",
        "url": "http://10.100.1.3:8080/json.htm?type=devices&rid=1",
        "tls": "",
        "persist": false,
        "proxy": "",
        "authType": "basic",
        "x": 380,
        "y": 60,
        "wires": [
            [
                "5e44d1bb.94822"
            ]
        ]
    },
    {
        "id": "d0e5a3b.4d0f4e",
        "type": "http request",
        "z": "a9cc2ddb.efc4a",
        "name": "HTTP Request (IDX2 Memory)",
        "method": "GET",
        "ret": "obj",
        "paytoqs": "ignore",
        "url": "http://10.100.1.3:8080/json.htm?type=devices&rid=2",
        "tls": "",
        "persist": false,
        "proxy": "",
        "authType": "basic",
        "x": 390,
        "y": 220,
        "wires": [
            [
                "b3ed6cd0.24dfe"
            ]
        ]
    },
    {
        "id": "260cb415.8464a4",
        "type": "http request",
        "z": "a9cc2ddb.efc4a",
        "name": "HTTP Request (IDX4 HDD)",
        "method": "GET",
        "ret": "obj",
        "paytoqs": "ignore",
        "url": "http://10.100.1.3:8080/json.htm?type=devices&rid=4",
        "tls": "",
        "persist": false,
        "proxy": "",
        "authType": "basic",
        "x": 380,
        "y": 360,
        "wires": [
            [
                "b108c682.e28c88"
            ]
        ]
    },
    {
        "id": "7cab907d.fdd518",
        "type": "inject",
        "z": "a9cc2ddb.efc4a",
        "name": "Waiting 1min",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "60",
        "crontab": "",
        "once": true,
        "onceDelay": "10",
        "topic": "",
        "payload": "payload",
        "payloadType": "msg",
        "x": 120,
        "y": 60,
        "wires": [
            [
                "69d1e9d6.02cd8"
            ]
        ]
    },
    {
        "id": "ca17c34a.15fb8",
        "type": "delay",
        "z": "a9cc2ddb.efc4a",
        "name": "",
        "pauseType": "delay",
        "timeout": "10",
        "timeoutUnits": "seconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "x": 140,
        "y": 220,
        "wires": [
            [
                "d0e5a3b.4d0f4e"
            ]
        ]
    },
    {
        "id": "7a35d732.8cdf6",
        "type": "delay",
        "z": "a9cc2ddb.efc4a",
        "name": "",
        "pauseType": "delay",
        "timeout": "10",
        "timeoutUnits": "seconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "x": 140,
        "y": 360,
        "wires": [
            [
                "260cb415.8464a4"
            ]
        ]
    },
    {
        "id": "b8bfeb9b.474018",
        "type": "mqtt-broker",
        "name": "Mosquitto MQTT",
        "broker": "172.17.0.1",
        "port": "1883",
        "clientid": "",
        "usetls": false,
        "compatmode": false,
        "keepalive": "15",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "closeTopic": "",
        "closePayload": "",
        "willTopic": "",
        "willQos": "0",
        "willPayload": ""
    }
]
Bon amusement, tcho !
Raspberry Pi 2 - Docker: Domoticz, NodeRed, Mosquitto, Homebridge - RFLink USB 433mhz, sondes Oregon, pluviomètre - Prises électriques et autres cartes à base d'ESP8266/ESP32 sous ESPEasy et Tasmota
Mes designs 3D sur Thingiverse
neo
Messages : 89
Inscription : 15 janv. 2020, 15:57

Re: Max7219

Message par neo »

Je viens de m'apercevoir que je n'ai même pas mis une petite photo de l'install (qui tourne depuis sans soucis) :
max7219.jpg
max7219.jpg (222.27 Kio) Consulté 2580 fois
Le petit module connecté en USB à l'ESP est un convertisseur 12v>5v pour pouvoir l'alimenter par le transfo du ruban de Leds du plan de travail de ma cuisine.
Raspberry Pi 2 - Docker: Domoticz, NodeRed, Mosquitto, Homebridge - RFLink USB 433mhz, sondes Oregon, pluviomètre - Prises électriques et autres cartes à base d'ESP8266/ESP32 sous ESPEasy et Tasmota
Mes designs 3D sur Thingiverse
Répondre