Avant toute chose merci de (re)prendre connaissance de la charte et de la respecter.
Pour résumer :
- Avant de poser une question, je cherche si la réponse existe
- Je suis poli, courtois et je respecte tout un chacun sur le forum
- Si un post m'agace : je m'en éloigne plutôt que de répondre d'une façon qui pourrait être mal interprétée


Il n'est jamais du luxe que de rappeler des choses simples :
Courtoisie, amabilité, politesse et bonne humeur sont les maîtres mots pour un forum sympathique, bienveillant et accueillant :)

Toute la communauté vous remercie

Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Pour parler de tout, et surtout de rien !
Avatar de l’utilisateur
Theduck38
Actif
Messages : 2158
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par Theduck38 » 20 sept. 2018, 12:47

Bonjour à tous,

Voici un tuto qui vous permettra de faire un afficheur à leds RGB, basé sur un RPI sous Raspbian, une librairie python de Hzeller et une API custom via un serveur web.
C'est un projet donc le coût va varier de 120€ à 200€ selon la matrice que vous y mettrez. J'ai démarré le projet avec une matrice 16*32 à 20€ et terminé avec une 64*32 pitch 3mm, à 80€.

Le hardware final comporte un boitier en métal, un ventilateur silencieux et un variateur manuel pour le ventilo... ce sont des options. L'intérêt ici est de donner la méthode pour obtenir le résultat final et vous adapterez selon vos besoins.
Il y a aussi très certainement matière à optimisation : RPi0 au lieu de RPi3, un hat moins cher, etc...

Tout mon montage est basé sur l'excellent travail de Henner Zeller qui maîtrise de manière impressionnante les matrices de led...
Pour référence, et beaucoup d'informations intéressantes : https://github.com/hzeller/rpi-rgb-led-matrix


Voici la liste de courses pour la matériel :

Je remercie d'avance la modération de ne pas supprimer mes liens... ils sont là pour simplifier la vie et donner des exemples. Je n'ai aucun bénéfice si vous cliquez dessus ;)

- Un RPi2 ou RPi3 ; on en trouve souvent à 25€ chez les vendeurs chinois... voir sur Dealabs
- Une matrice de leds Adafruit 16x32 (environ 22€) : https://www.adafruit.com/product/420
- En option : la matrice grand luxe : une 32x64, pitch 3mm. C'est la matrice 2279. Même taille que la précédente. Elle se trouve encore chez Mouser à 80€ :
https://www.mouser.fr/ProductDetail/Ada ... jKYadF8%3d
[Edit 10/2018] : Ça fonctionne aussi bien avec une matrice chinoise Sryled à 18€ : https://fr.aliexpress.com/item/P3-RGB-p ... 6c37Fbb3Iy
- Un Hat Adafruit : https://learn.adafruit.com/adafruit-rgb ... spberry-pi c'est celui que j'ai utilisé. Compter environ 25€
- Il y a une variante, qui est fonctionne out aussi bien avec la librairie que je propose plus loin : https://learn.adafruit.com/adafruit-rgb ... i?view=all
Cette version est moins chère et est censée se monter sur un RPi0.
[Edit] Voir mes essais sur Pi zéro : (viewtopic.php?f=59&t=39623&start=20#p659851)
- Une alim 5V qui supportera la matrice... et qui alimente à la fois le RPi via le connecteur du Hat. J'ai pris celle là (Leicke nt03054 - 13€):
https://www.amazon.fr/Chargeur-adaptate ... ke+nt03054
- Un boitier... vous avez le choix. J'en ai un en métal qui est exactement à la taille de la matrice (150x200x110 - 22€) :
https://www.conrad.fr/ce/fr/product/520 ... AREA_14740
Ce boîtier est en alu, mon projet étant câblé en ethernet... si vous voulez utiliser le wifi du RPi, il vaudra mieux choisir un boîtier en plastique.

- Il est nécessaire de ventiler le boitier... surtout avec les RPi3 qui chauffent bien ! Je vous conseille le kit de base dissipateurs + ventilateur que l'on trouve partout en chine.
Ça vaut dans les 5€, par exemple : https://www.gearbest.com/raspberry-pi/p ... id=1433363
Mais il y a un inconvénient... le ventilateur est très bruyant. J'ai donc décidé de mettre un ventilateur silencieux, avec un kit de variation.
J'ai choisi un Noctua, réputé pour son silence : https://www.amazon.fr/NF-A4X10-FLX-5V-V ... -A4X10-FLX
Et le kit variateur qui va avec : https://www.dx.com/p/maitech-fans-5v-12 ... 6OhfiCYSUl
- Pour finir, je conseille d'utiliser des connecteurs rapides type 'Wago' avec un petit levier (https://www.amazon.fr/Wago-bornes-conne ... +connexion)
et ceux pour du fil fin : https://www.leroymerlin.fr/v3/p/produit ... 1401450231


Donc en gros, la version light avec matrice chinoise 64x32 et kit de refroidissement minimaliste : environ 115€
140€ si on ajoute un kit "Noctua".
Les prix ne tiennent pas compte des frais de port...

Le rendu global :
Montage2.png
Montage2.png (794.35 Kio) Consulté 1119 fois
Dernière édition par Theduck38 le 01 nov. 2018, 21:58, édité 13 fois.

Avatar de l’utilisateur
Theduck38
Actif
Messages : 2158
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par Theduck38 » 20 sept. 2018, 12:48

Assemblage :

[Edit] Voir mes essais sur Pi zéro : (viewtopic.php?f=59&t=39623&start=20#p659851)
Vue générale :
Générale-1_light.JPG
Générale-1_light.JPG (344.57 Kio) Consulté 1127 fois
Tout d'abord, assembler le Hat... Il faut un fer à souder avec une petite panne car le driver (Hat) est livré avec ses connecteurs non soudés.
C'est pas sorcier à faire et bien détaillé sur le site Adafruit. Ca m'a pris 1/2 h en faisant attention...
Si vous choisissez le second proposé (le moins cher) il est normalement déjà soudé.
Sur le hat, il faut faire une petite modif : shunter les sorties 4 et 18, comme spécifié ici :
https://github.com/hzeller/rpi-rgb-led- ... it-mod.jpg

Sur la photo suivante, avec le Hat en place, on voit le petit fil (bleu) que j'ai ajouté sur la gauche.
Il se branche directement sur le RPi et on branche l'alim 5V sur le Hat (pas d'adaptation à faire) ; c'est lui qui alimente le RPi.
Hat_light.JPG
Hat_light.JPG (294.04 Kio) Consulté 1127 fois
Avec la matrice, viennent câbles :
- Un de type 'nappe' qui se branche sur le Hat, sur le connecteur de même type .
- Un de type 'Molex' (alim) dont un fil roue et un noir doivent être branchés sur la sortie correspondante du Hat (à droite sur la photo ci-dessus).

- On alimente le ventilateur via un emplacement GND / 5V qu'on récupère sur le Hat, c'est le câble (jaune/rouge) qu'on peut voir soudé à gauche de la nappe. Voir le post suivant pour les détails.

Il faut ensuite faire des trous dans le boîtier en métal pour passer les câbles à l'arrière (secteur + réseau), fixer la matrice à l'avant, et passer sa connectique... sachez que si vous faites comme moi et commencez par une matrice moins chère, il vous faudra par la suite refaire des trous dans la plaque alu, car les emplacements des connecteurs et de l'accrochage diffèrent :(
Connectique Matrice_light.JPG
Connectique Matrice_light.JPG (225.48 Kio) Consulté 1127 fois
Dernière édition par Theduck38 le 01 nov. 2018, 21:58, édité 5 fois.

Avatar de l’utilisateur
Theduck38
Actif
Messages : 2158
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par Theduck38 » 20 sept. 2018, 12:49

Montage-variateur

Le ventilateur fourni dans le kit standard a deux fils d'alim : un rouge et un noir.
Dans le cas du Noctua, il y a un fil en plus, mais il y a plusieurs connecteurs fournis avec, qui permettent de revenir à un fil noir / un fil rouge. Les petits connecteurs rapides à guillotine sont normalement aussi dans le kit.

Si vous montez directement le ventilateur sans mettre de régulateur, il suffit de souder le fil noir sur un emplacement GND du Hat et le rouge sur un +5V (ou un +3.3V si vous voulez qu'il tourne moins vite). Voir photo plus bas.

Dans le cas d'un montage avec le régulateur, il faut souder les fils rouge et noir du régulateur sur les emplacement +5V et GND du Hat, puis connecter le fil vert (-) en sortie du régulateur au noir du ventilateur ; le blanc du régulateur (+) va sur le rouge du ventilateur. Ces deux dernier se connectent grâce aux connecteurs rapides à guillotine.

C'est peu évident sur la photo ci-dessous, mais je n'ai pas eu le courage de tout dépiauter. On voit bien en revanche la mention + et - sur les fils blanc et vert en sortie.
Régulateur_light.JPG
Régulateur_light.JPG (342.87 Kio) Consulté 1076 fois
Dans mon cas, j'ai ajouté un câble entre les fils noir et blanc en entrée de régulateur et le hat... le tout raccordé grâce à des Wago à levier (que l'on devine ci-dessus).

Branchement sur le Hat...
Régulateur_Hat_light.jpg
Régulateur_Hat_light.jpg (103.29 Kio) Consulté 1076 fois
Après, il faudra bien entendu refaire deux trous dans le capot arrière du boîtier... un pour passer le potentiomètre du régulateur (au forêt), un pour monter le ventilateur (celui-ci est le plus difficile à faire si vous n'avez pas de cloche, il faut percer régulièrement avec un petit forêt sur le pourtour du cercle, puis tout finir à la lime...)
Montage_ventilation.png
Montage_ventilation.png (528.46 Kio) Consulté 1076 fois
Dernière édition par Theduck38 le 21 sept. 2018, 16:28, édité 6 fois.

Avatar de l’utilisateur
Theduck38
Actif
Messages : 2158
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par Theduck38 » 20 sept. 2018, 12:50

Installation et préparation du système :

----- MISE EN GARDE ----
J'écris cette partie de mémoire, et en consultant les notes que j'avais prises il y a plus d'un an lorsque j'ai configuré mon RPi. Je n'ai pas re-testé toute la procédure de A à Z par manque de temps (fallait pas effacer le fil d'origine, na!). Aussi, la partie ci-dessous s'adresse à ceux qui ont déjà une bonne maîtrise de l'environnement Linux ; il y a probablement des erreurs ou imprécisions dans mon déroulement . Si vous n'êtes pas sûr de vous après lecture complète, préférez télécharger l'image disque préconfigurée (voir plus bas à la fin de 'installation API')


o On part sur du Raspbian Stretch lite. Il y a tuto très bien fait pour installer et configurer Raspbian : https://soozx.fr/nextcloud-12-raspberry ... r-windows/

- Vous le téléchargez sur le site : https://raspbian-france.fr/telechargements/
- Utiliser Win32DiskImager sur PC (ou ApplePi Bakersur Mac) pour l'installer sur une carte SD
- Activer le ssh en créant un fichier vide nommé ssh sur la partition de démarrage du Raspbian
A configurer ensuite comme vous voulez. N'oubliez pas cependant d'étendre le système de fichiers et de choisir les options de localisation, hostname...etc... (voir : sudo raspi-config)

o En principe, python2.7 est déjà installé sur Stretch ; pour le savoir :

Code : Tout sélectionner

dpkg --get-selections | grep python2
o Il faut ensuite télécharger et compiler les librairies de hzeller, car celle fournie par Adafruit ne fonctionne pas. Elle induit un taux de charge de 100% dès que l'on déclare une matrice (même sans y afficher quoi que ce soit) et que l'on utilise la fonction time.sleep(xx). Jamais eu de réponse de Adafruit sur le sujet. C'est un bug chez eux.
(Les instruction à suivre pour compiler les librairies sont ici : https://github.com/hzeller/rpi-rgb-led- ... ngs/python )
Il faut tout d'abord télécharger et dézipper les librairies de hzeller :

Code : Tout sélectionner

wget https://github.com/hzeller/rpi-rgb-led-matrix/archive/master.zip
unzip master.zip
rm master.zip
Compiler la librairie pour le python : il faut aller dans le dossier "rpi-rgb-led-matrix-master" et lancer la commande de compilation.

Code : Tout sélectionner

cd rpi-rgb-led-matrix-master
sudo apt-get update && sudo apt-get install python2.7-dev python-pillow -y
make build-python
sudo make install-python
o Pour de meilleurs résultats, il faut aussi désactiver le son. Ce n'est pas obligatoire, mais mieux...
Editer le fichier /boot/config.txt (qui est aussi accessible sous windows avec la carte dans un lecteur) et mettre dtparam=audio=off

Code : Tout sélectionner

sudo nano /boot/config.txt
Section : # Enable audio (...)

o Installer un serveur web + php.

Code : Tout sélectionner

sudo apt update
sudo apt upgrade
sudo apt-get install apache2
sudo chown -R pi:www-data /var/www/html/
sudo chmod -R 770 /var/www/html/
sudo apt-get install php
o Donner les droits root à www-data :
Passer et root et éditer le fichier des sudoers :

Code : Tout sélectionner

su
visudo
Ajouter dans la section :# Members of the admin group may gain root privileges

Code : Tout sélectionner

www-data ALL=(ALL) NOPASSWD:ALL
C'est tout prêt... y'a plus qu'à installer l'API !
Dernière édition par Theduck38 le 20 oct. 2018, 17:33, édité 7 fois.

Avatar de l’utilisateur
Theduck38
Actif
Messages : 2158
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par Theduck38 » 20 sept. 2018, 12:51

Installation API :

J'ai écrit un démon python qui scanne en permanence un fichier texte et interprète le contenu pour afficher sur la matrice.
Un fichier php sert d'interface pour une commande via url et écrit dans le fichier texte. Je sais, ce n'est pas très élégant, mais tous les essais que j'ai fait pour communiquer via socket ou multithread ont abouti à un clignotement insupportable de l'affichage...
Un service lance automatiquement le démon au démarrage ou s'il plante.

o Il faut commencer par créer la structure des dossiers utilisés par le serveur web :

Code : Tout sélectionner

cd /var/www/html
mkdir led
cd led
mkdir images
mkdir fonts
o Installer les fichiers de l'API :
La je la fais courte ; prenez le fichier .zip en PJ et mettez les fichiers dans les bons dossiers. Au passage vous y récupérerez des images en exemple et des polices.
Pour cela, vous pouvez utiliser un utilitaire come WinSCP, qui permert de se connecter directement par SSH et transférer des fichier dans le RPi.
html.7z
(346.38 Kio) Téléchargé 12 fois

o Ensuite il faut donner tous les droits sur le contenu de html

Code : Tout sélectionner

cd /var/www/html
chmod -R 777 led
chmod 644 configMatrix.php
chmod 644 led99p2.php
chmod 644 index.php
NB : le fichier index.php ne sert qu'à vérifier que votre serveur web fonctionne. Il n' pas d'utilité dans l'API.

o Avant de créer le service de démarrage auto, il faut tester le démon :

Code : Tout sélectionner

cd /var/www/html/led
sudo python led_daemon.py
=> Si pas d'erreur, et que vous ne récupérerez pas la main dans la console : ça marche... vous pouvez éventuellement envoyer une url via un navigateur pour tester (voir l'api plus loin). Ctrl + C pour quitter l'exécution du démon.


o Créer un service qui démarre automatiquement le démon python
- Créer le fichier de définition de service :

Code : Tout sélectionner

sudo nano /lib/systemd/system/ledDaemon.service
- Y mettre ceci :

Code : Tout sélectionner

[Unit]
Description=Adafruit Led display daemon
After=multi-user.target

[Service]
Type=idle
ExecStart=/usr/bin/python /var/www/html/led/led_daemon.py
SyslogIdentifier=ledDaemon
Restart=always

[Install]
WantedBy=multi-user.target
CTRL+O pour sauver / CTRL+X pour sortir.

- Enregistrer et activer le service

Code : Tout sélectionner

sudo chmod 644 /lib/systemd/system/ledDaemon.service
sudo systemctl daemon-reload
sudo systemctl enable ledDaemon.service
sudo reboot
- Après reboot, on peut vérifier qu'il a bien démarré :

Code : Tout sélectionner

sudo systemctl status ledDaemon.service

--- BONUS ---
Vu que j'ai mis un peu de temps à tout configurer, j'ai fait une image de ma carte SD (16Go) sur un RPi3.
L'image disque Pi3 se trouve ici : http://www.lecoin.info/File_hosting/led ... ed_99p2.7z
Avec un fichier de hash pour vérifier l'intégrité : http://www.lecoin.info/File_hosting/led ... 2_Hash.txt

Version PiZéro (attention pour carte de 16Go au moins) :
Image : http://www.lecoin.info/File_hosting/led ... Led_99r.7z
Fichier hash : http://www.lecoin.info/File_hosting/led ... r_Hash.txt

Attention : il y a peu de sécurisation sur cette image. Login pi/raspberry, pas de fail2ban, www-data dans sudoers.
Ca suffit largement pour une machine qui reste en local.
Le wifi n'est pas activé.
Dernière édition par Theduck38 le 13 févr. 2019, 14:21, édité 9 fois.

Avatar de l’utilisateur
Theduck38
Actif
Messages : 2158
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par Theduck38 » 20 sept. 2018, 12:52

Pour finir, voici le mode d'emploi pour utiliser l'API. Le démon python scanne le fichier texte une fois par seconde. On peut donc enchaîner les commandes à raison de une toutes les secondes.
L'inconvénient au système est que pour afficher 8 images différentes, il faudra 8 secondes.
Par ailleurs, il y a des fonctions "statiques" (qui affichent quelque chose sur la matrice qui restera jusqu'à effacement) et des fonctions dynamiques (qui vont animer du texte). Le démon étant monotâche, on ne peut utiliser qu'une seule fonction dynamique, et en dernier par rapport à tout ce que l'on veut afficher. Sinon la fonction statique utilisée après la dynamique va supprimer l'animation.

Il est possible d'augmenter le temps de réponse en remplaçant tous les time.sleep(1) par des time.sleep(0.5) (ou moins) dans le fichier /var/www/html/led/led_daemon.py.
Attention : Sur RPi3, avec 1s de délai, il y a un taux d'occupation processeur de 40% (pour celui dédié au python) et un taux de charge à 0.5.
Diminuer cette valeur pourrait mener à un ralentissement de l'affichage, une surchauffe ou non réactivité du RPi. Je sous laisse faire vos essais si vous le souhaitez.

Structure API :

Serveur web Apache2 installé sur le Rpi.
/var/www/html => led.php : pour utiliser l'api via une url
/var/www/html/led => led_daemon.py : lancé en tant que service au boot, prend les infos de led.php via un fichier texte
/var/www/html/led/command.txt => fichier d'échange entre php et python
/var/www/html/led/images => permet de stocker des images pour affichage sur la matrice
/var/www/html/led/fonts => permet de stocker des polices .ttf pour affichage de texte sur la matrice
/var/www/html/led/matrixConfig.txt => fichier d'échange entre php et python pour la taille de la matrice
/var/www/html/led/led_daemon.log => log du démon... il est assez verbeux. 3 mois d'utilisation intensive donnent environ 115Mo de log. Voir à la fin de ce post si vous voulez ne garder que les erreurs.


API led.php : fonctions / paramètres

NB : il est impératif d'encoder les paramètres l'url pour qu'ils passent correctement. Voir site : https://meyerweb.com/eric/tools/dencoder/

o Effacer la matrice :
- command=clear
- (opt) x1,y1,x2,y2=coordonnées de la fenêtre à effacer
- (opt)color=couleur de remplissage sur 3 octets RVB (ex : ff00ff pour violet)

Ex: http://192.168.1.8/led99p2.php?command= ... &x2=0&y2=0


o Afficher une image :
- command=image
- file=chemin absolu du fichier image à afficher
ou
file=nom image à afficher (si elle est présente dans /var/www/html/led/images)
- (opt) positionx=coordonnée en x du coin supérieur gauche dans la matrice
- (opt) positiony=coordonnée en y du coin supérieur gauche dans la matrice (0 en haut)
- (opt) levelimg=niveau de luminosité de 0 à 1
- (opt) clear=1 pour effacer la matrice avant d'afficher; si omis ou autre que 1: n'efface pas et pose par-dessus.

Ex : http://192.168.x.x/led.php?command=imag ... 95&clear=1
ou : http://192.168.x.x/led.php?command=imag ... 95&clear=1 (si l'image est déjà dans le bon dossier)


o Scrolling de texte :
- command=scroll
- (opt) size=taille (hauteur) du texte en pixels
- (opt si Arial.ttf présente dans 'fonts') font=chemin absolu du fichier police (ttf) ou nom de la police si elle se trouve déjà dans le bon dossier
- (opt) leveltxt=niveau de luminosité de 0 à 1
- (opt) color=couleur du texte sur 3 octets RVB (ex : ff00ff pour violet)
- (opt) speed=vitesse de défilement (0.5 moins rapide que 3). Le paramètres standard est 1
- (opt) text=le texte à afficher, encodé correctement pour passer en url

Ex : http://192.168.x.x/led.php?command=scro ... %A0%20tous...
ou (url abrégée) : http://192.168.x.x/led.php?command=scro ... %A0%20tous...


o Scrolling de texte partie droite de la matrice:
Attention : cette fonction utilise les ressources du démon en continu, il faut donc la lancer en dernier si on veut positionner des images en partie gauche avant
- command=scrollRight
- (opt) size=taille (hauteur) du texte en pixels
- (opt si Arial.ttf présente dans 'fonts') font=chemin absolu du fichier police (ttf) ou nom de la police si elle se trouve déjà dans le bon dossier
- (opt) leveltxt=niveau de luminosité de 0 à 1
- (opt) color=couleur du texte sur 3 octets RVB (ex : ff00ff pour violet)
- (opt) speed=vitesse de défilement (0.5 moins rapide que 3). Le paramètres standard est 1
- (opt) text=le texte à afficher, encodé correctement pour passer en url

Ex : http://192.168.x.x/led.php?command=scro ... %A0%20tous...
ou (url abrégée) : http://192.168.x.x/led.php?command=scro ... %A0%20tous...


o Texte statique avec effacement juste de la zone d'affichage :
- command=statictext
- (opt) size=taille (hauteur) du texte en pixels
- (opt id. prec.) font=chemin absolu du fichier police (ttf) ou nom de la police si elle se trouve déjà dans le bon dossier
- (opt) leveltxt=niveau de luminosité de 0 à 1
- (opt) color=couleur du texte sur 3 octets RVB (ex : ff00ff pour violet)
- (opt) positionx=coordonnée en x du coin supérieur gauche dans la matrice
- (opt) positiony=coordonnée en y du coin supérieur gauche dans la matrice (0 en haut)
- (opt) text=le texte à afficher, encodé correctement pour passer en url

Attention : "l'enveloppe" (taille globale) du texte nécessitera peut-être d'ajuster la position avec des valeurs négatives

Ex: http://192.168.1.8/led99p2.php?command= ... %A0%20tous...


o Horloge :
- command=clock
- (opt) size=taille (hauteur) du texte en pixels
- (opt id. prec.) font=chemin absolu du fichier police (ttf) ou nom de la police si elle se trouve déjà dans le bon dossier
- (opt) leveltxt=niveau de luminosité de 0 à 1
- (opt) color=couleur du texte sur 3 octets RVB (ex : ff00ff pour violet)
- (opt) positionx=coordonnée en x du coin supérieur gauche dans la matrice
- (opt) positiony=coordonnée en y du coin supérieur gauche dans la matrice (0 en haut)

Il est fortement conseillé d'utiliser des polices bitmap pour éviter le flottement vertical de l'affichage (enveloppe variable en .ttf selon les chiffres)

Ex : http://192.168.1.8/led99p2.php?command= ... ositiony=5


API configMatrix.php : paramètres
- taillex=taille de la matrice en pixel en x
- tailley=taille de la matrice en pixel en y

--------------------------------------------------------------------------------------

[Edit] Si le log est trop verbeux à votre goût et vous sature la carte SD (ça peut aller jusqu'à 40Mo/mois), il faut éditer le fichier led_daemon :

Code : Tout sélectionner

sudo nano /var/www/html/led/led_daemon.py

Editer la ligne 9 et la remplacer par ça : 
logging.basicConfig(filename='/var/www/html/led/led_daemon.log',level=logging.WARNING)

<CTRL + O> puis Y pour sauver puis <CTRL + X> pour quitter. 

sudo systemctl stop ledDaemon.service
sudo systemctl start ledDaemon.service
Dernière édition par Theduck38 le 01 nov. 2018, 22:45, édité 9 fois.

Avatar de l’utilisateur
breizh22
Actif
Messages : 1273
Inscription : 10 oct. 2015, 17:35

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par breizh22 » 20 sept. 2018, 13:33

C'est vrai que c'est vraiment dommage ces pertes, surtout qu'il y avait des choses intéressantes. Merci à toi de le refaire.

Edit, merci pour ce tuto complet. Ça donne envie de le faire, facile à utiliser avec jeedom pour toutes les lignes ?
Dernière édition par breizh22 le 24 sept. 2018, 17:30, édité 1 fois.
HP Gen 8 / OMV4 sur SSD / Jeedom VM Debian 9
RFLink - Sondes Oregon THN 132 N / THGR 122 NX / THGR 810 / THC238 - Prises DIO/Dedra/IDK.
Orvibo AllOne et S20 - Onduleur APC Back-UPS ES 700VA
Écosystème xiaomi - Dash buttons - GHome et mini.

glou
Timide
Messages : 122
Inscription : 01 juil. 2017, 12:03
Localisation : 27
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par glou » 20 sept. 2018, 13:49

way youpi !
merci a toi de pas te laisser casser par cette mauvaise expérience
Du coup j'en profite , petite question , c'est compatible avec un ruban de WS2812b ?
- NAS DIY (raid5/msata/2xGbps) qui héberge Jeedom, TvH, LMS.
- Un à 2 RPI (toute gamme) par piece (Kodi/Squeezelite/Jeedouino)
Je me suis autoattribué le titre de RPi-BricolBoy, niveau "Or" , et ca se passe ici

Avatar de l’utilisateur
Theduck38
Actif
Messages : 2158
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par Theduck38 » 20 sept. 2018, 14:45

Probablement pas... ceci dit, contrôler un ruban avec un RPi et une carte interface, c'est un peu dommage... il doit y avoir moyen avec un ESP.

Idaho947
Actif
Messages : 767
Inscription : 30 mai 2017, 21:36

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par Idaho947 » 20 sept. 2018, 14:49

glou a écrit :
20 sept. 2018, 13:49
way youpi !
merci a toi de pas te laisser casser par cette mauvaise expérience
Du coup j'en profite , petite question , c'est compatible avec un ruban de WS2812b ?
Comment tu veux faire de l'affichage avec un ruband de WS2812b ? Je vois pas la méthode ?

glou
Timide
Messages : 122
Inscription : 01 juil. 2017, 12:03
Localisation : 27
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par glou » 20 sept. 2018, 14:59

ben faire 8 bandeaux de 8
cest ptete une incompréhension de ma part, mais a la fin ca fait pareil sachant que cest les meme leds non ?
edit : mais a priori cest mort et cetait bien une incompréhension de ma part
- NAS DIY (raid5/msata/2xGbps) qui héberge Jeedom, TvH, LMS.
- Un à 2 RPI (toute gamme) par piece (Kodi/Squeezelite/Jeedouino)
Je me suis autoattribué le titre de RPi-BricolBoy, niveau "Or" , et ca se passe ici

Avatar de l’utilisateur
Theduck38
Actif
Messages : 2158
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par Theduck38 » 20 sept. 2018, 16:23

Deux premières parties en ligne.

Avatar de l’utilisateur
Theduck38
Actif
Messages : 2158
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par Theduck38 » 22 sept. 2018, 00:02

Le tuto est terminé... amusez vous bien, il y a de quoi vous occuper !!!
:mrgreen: :mrgreen: :mrgreen:

tsim79
Actif
Messages : 525
Inscription : 23 avr. 2015, 11:54

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par tsim79 » 23 sept. 2018, 01:15

Merci super tuto 👍.
Enfin de quoi avoir un afficheur visuel en DIY.

Avatar de l’utilisateur
Theduck38
Actif
Messages : 2158
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par Theduck38 » 23 sept. 2018, 12:38

Si certains tentent l'aventure, je pourrai aussi partager scénario et virtuel.

Avatar de l’utilisateur
propositionjoe
Timide
Messages : 166
Inscription : 17 févr. 2016, 21:39
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par propositionjoe » 23 sept. 2018, 15:28

Un projet fort propre.
J'ajouterais juste un conseil pour ma part: quand c'est possible, il est mieux de privilégier les ventilateurs de grande taille (80 voir 120 ou 140),
- qui tourneront moins vite à volume d'air égale,
- en faisant moins de bruit,
- et en s'usant moins.
Merci du partage.
Proxmox avec VM jeedom
Zigbee2mqtt, Broadlink, Zwave, Blea, Tasmotta, EspEasy
Mon blog: https://carmagnole.ovh

Avatar de l’utilisateur
Theduck38
Actif
Messages : 2158
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par Theduck38 » 05 oct. 2018, 09:04

J'ai commandé du matériel moins cher (Pi zéro W, matrice RGB chinoise 64x32 pitch3mm, bonnet Adafruit) pour voir s'il y a moyen de réduire le coût du projet.
Dans ce cas, il y aurait moyen d'économiser 60€ sur la matrice, 20€ sur le Rpi et 10€ sur le Hat...
Je posterai ici les résultats et la liste de courses si ça fonctionne.

Avatar de l’utilisateur
Theduck38
Actif
Messages : 2158
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par Theduck38 » 09 oct. 2018, 17:57

Pour info : @lunarok vend un hat Adafruit d'occasion qui permet de démarrer le projet pour ceux qui veulent se lancer ;)

Avatar de l’utilisateur
Theduck38
Actif
Messages : 2158
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par Theduck38 » 20 oct. 2018, 15:34

Bonjour à tous,

Bonne nouvelle : j'ai reçu une matrice chinoise de la marque Sryled, à 18.5€ et elle fonctionne en lieu et place de l'Adafruit à 80€ !!!
Donc le coût de projet "64x32" vient de faire un bond vers le bas de 60€... donc dans les 115€ avec boitier et ventilation simple.
La matrice se trouve ici : https://fr.aliexpress.com/item/P3-RGB-p ... 6c37Fbb3Iy

J'ai aussi reçu le RPi zéro W et le Bonnet Adafruit. Ce sont des composants moins chers que ceux que j'ai utilisés initialement pour mon afficheur.
Je fais des tests et je reposte ici :)

Avatar de l’utilisateur
Theduck38
Actif
Messages : 2158
Inscription : 22 févr. 2015, 17:32
Localisation : Près de Grenoble
Contact :

Re: Tuto : Afficheur à Matrice Leds RGB sur RPi avec API

Message par Theduck38 » 20 oct. 2018, 21:50

La suite...
Après reconfiguration complète d'un Pi zéro (suivant le tuto ci-dessus et sur Raspbian Stretch lite), cela fonctionne en utilisant le nouveau "Bonnet" Adafruit (voir la liste de courses au post 1) à la place du "Hat".

J'ai mis à jour le tuto en fonction des différences constatées entre ma version Jessie d'origine et la version Stretch.

La seule problématique est qu'avec un Pi zéro, les scrollings et horloge ont du 'clignotement'... forcément, c'est un processeur moins puissant qu'un Pi3. Néanmoins c'est tout à fait acceptable. J'ai envoyé dessus le template de mon affichage standard et le résultat est identique, à part la partie horloge qui a un tout petit clignotement visible à chaque seconde. Si on a le nez dessus on le voit, sinon ça passe.

Pour ceux qui voudraient se lancer dans l'aventure avec le Pi zéro, il faut un fichier optimisé pour le démon (led_daemon.py). Je le mets en attaché.
led_daemon RPiZero.7z
(2.87 Kio) Téléchargé 7 fois
Du coup, mon conseil pour la totalité du projet :
- Un Pi3 : 30€
- La matrice Sryled : 18.5€
- Le "bonnet" Adafruit : 15€
- Une alim 5V, minimum 20W : 13€
- Boîtier et cooling au choix
... et si vous êtes à 20€ près, prenez un Pi zéro.

Il est aussi possible de mettre plusieurs matrices bout à bout sur un RPi3...
Dernière édition par Theduck38 le 20 oct. 2018, 23:40, édité 1 fois.

Répondre

Revenir vers « Discussions Générales »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité