Page 1 sur 12

[TUTO] Afficheur à Matrice Leds RGB sur RPi avec API

Publié : 20 sept. 2018, 12:47
par Theduck38
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 55€ (RPi0W / Sryled / boite maison) à 200€ selon la matrice, les options, et le RPi que vous y mettrez. J'ai démarré le projet avec une matrice 16*32 et terminé avec une 64*32 pitch 3mm Cela fonctionne avec un RPi0 mais les performances sont moindres qu'avec un RPi3. Les différences de performances se situent principalement sur le scrolling de texte, ou un léger clignotement d'horloge lors de la mise à jour.

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.

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 ;)
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é 3036 fois

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

Publié : 20 sept. 2018, 12:48
par Theduck38
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é 3044 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é 3044 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é 3044 fois

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

Publié : 20 sept. 2018, 12:49
par Theduck38
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é 2993 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é 2993 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é 2993 fois

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

Publié : 20 sept. 2018, 12:50
par Theduck38
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 !

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

Publié : 20 sept. 2018, 12:51
par Theduck38
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é 52 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
NB : sur cette version le fichier php à appeler pour l'API s'appelle led99p2.php. Il faut le renommer en led.php si vous voulez être conforme à la doc de l'API.

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é.

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

Publié : 20 sept. 2018, 12:52
par Theduck38
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

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

Publié : 20 sept. 2018, 13:33
par breizh22
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 ?

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

Publié : 20 sept. 2018, 13:49
par glou
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 ?

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

Publié : 20 sept. 2018, 14:45
par Theduck38
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.

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

Publié : 20 sept. 2018, 14:49
par Idaho947
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 ?

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

Publié : 20 sept. 2018, 14:59
par glou
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

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

Publié : 20 sept. 2018, 16:23
par Theduck38
Deux premières parties en ligne.

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

Publié : 22 sept. 2018, 00:02
par Theduck38
Le tuto est terminé... amusez vous bien, il y a de quoi vous occuper !!!
:mrgreen: :mrgreen: :mrgreen:

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

Publié : 23 sept. 2018, 01:15
par tsim79
Merci super tuto 👍.
Enfin de quoi avoir un afficheur visuel en DIY.

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

Publié : 23 sept. 2018, 12:38
par Theduck38
Si certains tentent l'aventure, je pourrai aussi partager scénario et virtuel.

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

Publié : 23 sept. 2018, 15:28
par propositionjoe
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.

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

Publié : 05 oct. 2018, 09:04
par Theduck38
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.

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

Publié : 09 oct. 2018, 17:57
par Theduck38
Pour info : @lunarok vend un hat Adafruit d'occasion qui permet de démarrer le projet pour ceux qui veulent se lancer ;)

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

Publié : 20 oct. 2018, 15:34
par Theduck38
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 :)

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

Publié : 20 oct. 2018, 21:50
par Theduck38
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é 23 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...