Contrôle d'une bande LED RGB avec un raspberry pi depuis une interface web

Publié le 07/04/2022 A 17:24

Projet réalisé en 2021 alliant de l'électronique, un peu de développement et de l'administration, dans lequel je configure une solution sur un Raspberry Pi pour contrôler une bande LED RGB depuis un site WEB.


Pour réaliser ce projet j'ai utilisé un Raspberry Pi 3b+ coté hardware et coté software. J'ai utilisé nginx en tant que proxy inverse et un projet github qui s’appelle raspiled.

Pour commencer, j'ai créé le circuit électronique sur une platine d'expérimentation .

Platine d'expérimentation monterIl se compose de :

  • 3 mosfet IRLZ34N (un pour chaque couleur, rouge, vert et bleu)
  • 3 résistances de 100kΩ
  • Une multitude de câbles dupont

On pourrait par la suite faire le circuit sur pcb pour quelque chose de plus définitif.

On n'oublie pas de le connecter au Pi sinon ça va marcher beaucoup moins bien.

Maintenant que le circuit est fait et raccordé, il faut s'occuper du Raspberry. J'ai donc commencé par lui installer Raspbian à l'aide de l'utilitaire Balena Etcher qui permet de flasher la carte SD avec un fichier ISO.

Balena Etcher Pour que le Raspberry puisse se connecter au wifi j'ai dû créer dans la partition "boot" de la carte sd ,un fichier nommé "wpa_supplicant.conf" et j'y ai ajouté le nom et mot de passe de mon wifi. J'ai aussi créé un fichier nommé ssh pour simplement autoriser les connexions en ssh.

Une fois le Raspberry branché avec son alimentation, j'ai utilisé le logiciel Advanced IP Scanner afin de scanner mon réseau et de récupérer l'ip local de mon Raspberry. J'ai utilisé Putty pour m'y connecter en SSH.

Putty

Il ne me reste plus qu'à installer et configurer Nginx et Raspiled. Ce qui se fait sans trop de difficultés en suivant les documentations. 

L’accès à Raspiled se fait par défaut par le port 9090. Pour l’accès en dehors de mon réseau local, j'ai utilisé Nginx pour que l'interface soit accessible sur le port 80 ou 443. Au niveau sécurisation, je pouvais utiliser un BasicAuth ou une Authentification par certificat, j'ai décidé de mettre en place les deux sur deux domaines différents.

Si vous souhaitez en savoir plus sur ce projet, j'ai réalisé un tutoriel sur ma chaîne YouTube. Pour conclure je vous mets un aperçu vidéo du rendu final :