Page 2 sur 2

Re: Max7219

Publié : 25 juin 2017, 19:10
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

Re: Max7219

Publié : 25 juin 2017, 22:55
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 :?

Re: Max7219

Publié : 03 sept. 2017, 18:11
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é 8043 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é 8043 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é 8043 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 :)

Re: Max7219

Publié : 08 mai 2020, 11:30
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

Re: Max7219

Publié : 08 mai 2020, 11:35
par dokho
Hello,

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

Il faudrait que je m'y repenche

Re: Max7219

Publié : 26 juin 2020, 19:35
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é !

Re: Max7219

Publié : 26 juin 2020, 21:32
par Jeff
Je me suis recommander des wemos dont 1 pour remettre en route le Max7219.
On verra ce que j'en fait !

Re: Max7219

Publié : 25 nov. 2020, 15:54
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 ;-)

Re: Max7219

Publié : 03 déc. 2020, 18:55
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é 4852 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 !

Re: Max7219

Publié : 25 mars 2022, 18:13
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é 2576 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.