Table des matières:
- Étape 1: Configurer et tester le matériel
- Étape 2: configuration du serveur Web
- Étape 3: Le code PHP et les scripts Web
- Étape 4: Conclusion
Vidéo: R Pi - Télécommande PA et système d'éclairage : 4 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Il s'agit d'un projet simple pour faire des annonces audio et allumer et éteindre les lumières sur un PI à distance à partir d'un navigateur Web. Voici donc ce dont vous avez besoin:
1) Raspberry Pi avec Apache et PhP préinstallés. J'ai utilisé un vieux Pi v1 que j'avais traîné. Je suppose que vous l'avez connecté à votre réseau domestique via Wi-Fi ou Ethernet.
2) Haut-parleur(s) audio pouvant être connectés au Pi via la connexion du haut-parleur de sortie. J'ai utilisé un vieil ensemble de haut-parleurs d'un ancien système stéréo.
3) Ensemble de lumières d'arbre de Noël - J'ai acheté le mien à Poundland.
4) Pinces crocodile et câbles de maquette pour connecter/tester le Pi aux haut-parleurs et aux lumières. (voir 7)
5) PC ou ordinateur portable avec émulateur de terminal Putty pour accéder au Raspberry Pi
6) fil thermorétractable
7) Pistolet à air chaud pour connecter les fils de haut-parleur et d'éclairage
L'idée de base est que j'utilise un formulaire Web pour faire des annonces à distance via mes haut-parleurs et également pour allumer et éteindre les lumières. J'utilise des scripts PHP qui exécutent à leur tour Espeak pour le bit de synthèse vocale et des commandes GPIO pour les lumières. Je suppose que vous savez comment installer Apache et PhP sur votre Raspberry Pi. C'est très bien documenté.
J'ai essayé de garder ce faible coût et j'ai donc utilisé un ancien haut-parleur de système stéréo que j'avais, et après avoir retiré les connexions et exposé les câbles, je l'ai connecté à un ancien câble de micro que j'avais également coupé. le volume du haut-parleur était inférieur à celui d'un haut-parleur alimenté en externe, je pouvais tout alimenter à partir du Raspberry Pi. Il en était de même pour les lumières. J'en ai retiré le boîtier d'alimentation 3,3 V, exposé les fils et les ai connectés au Pi à l'aide de connecteurs de maquette femelle / mâle. J'ai connecté tout cela avec des pinces crocodiles.
Après test et validation, j'ai ensuite connecté tous les fils avec du fil thermorétractable à l'aide d'un pistolet à air chaud.
Étape 1: Configurer et tester le matériel
J'ai alimenté le Pi et connecté les haut-parleurs à la prise de sortie audio du Pi. J'ai connecté les lumières en connectant une extrémité à GPIO17 (6e broche vers le bas sur la colonne intérieure) et GND (3e broche vers le bas sur la colonne extérieure) - voir la photo ci-dessus. VEUILLEZ NOTER QUE J'AI UTILISÉ UNE PI version 1 DONC VEUILLEZ CHANGER LES PINCES EN CONSÉQUENCE SI VOUS UTILISEZ UNE VERSION ULTÉRIEURE DE LA PI.
Ci-dessus, le fil thermorétractable et le pistolet à air chaud pour connecter les fils de haut-parleur et d'éclairage
Ensuite, avec tout sous tension, je me suis connecté au Pi à l'aide de Putty à partir de mon ordinateur portable Windows. Pour trouver l'adresse IP du Pi, ouvrez l'adresse IP de votre routeur sur votre navigateur Web (c'est généralement quelque chose comme 192.168.1.254) qui affichera la liste des appareils connectés, y compris le nom d'hôte Pi et l'adresse IP. Vous pouvez utiliser l'un ou l'autre pour vous connecter à Putty, mais j'utilise généralement l'adresse IP car j'ai un certain nombre d'IP. Alternativement, vous pouvez vous connecter à Putty en essayant un nom d'hôte tel que pi ou raspberrypi. Lorsque vous êtes invité sur Putty pour le nom d'utilisateur et le mot de passe, essayez pi/raspberry qui sont les valeurs par défaut. (L'UTILISATION DES VALEURS PAR DÉFAUT EST TRÈS INSÉCURISÉE ET VOUS LAISSE OUVERT À DES ATTAQUES DE PIRATAGE MÊME SI SUR UN RÉSEAU PRIVÉ). D'après mon expérience, les programmes Pi, les bibliothèques Espeak et GPIO sont installés par défaut sur la plupart des images Pi.
D'accord, lorsque vous accédez à la ligne de commande sur le RaspberryPi, essayez les commandes suivantes - sudo alsamixer qui devrait révéler les commandes de la carte son - si vous avez un haut-parleur passif, comme je l'ai utilisé, vous devrez augmenter le volume au maximum. Ensuite, allumez les lumières
sudo /usr/local/bin/gpio -g mode 17 outsudo /usr/local/bin/gpio -g write 17 1
puis éteignez les lumières
(NB, tout problème, essayez simplement sudo gpio, etc. - vérifiez également si gpio est installé en tapant gpio -v - si vous devez l'installer, consultez
sudo /usr/local/bin/gpio -g write 17 0
Maintenant, testez que espeak fonctionne
~ $ sudo espeak "ceci est un test"
J'ai rarement eu des problèmes avec Espeak, mais j'ai rencontré des problèmes lorsque le volume d'Alsamixer est bas, et parfois d'autres programmes ont saisi la carte son. Vous devez exécuter ps -ef et voir quels autres processus multimédias sont en cours d'exécution. Vous pouvez utiliser quelque chose comme sudo kill -9 $(sudo ps aux | sudo grep -v grep | sudo grep mplayer | sudo awk '{print $2}') pour les tuer - Nous l'utilisons plus tard dans le script PHP
Étape 2: configuration du serveur Web
Il y a un certain nombre d'étapes que nous devons effectuer
1) Trouvez le propriétaire du service Web / serveur apache2 - exécutez sudo ps aux | egrep '(apache|httpd)' et vous devriez voir www-data2) ajoutez www-data au groupe sudo - exécutez sudo nano /etc/sudoers --- ajoutez la ligne www-data ALL=(ALL) NOPASSWD: ALL
3) ajouter www-data au groupe audio - sudo adduser www-data audio
4) Une étape facultative consiste à créer un fichier phpinfo qui vous indique toutes les fonctions PHP dont vous disposez et l'emplacement de
le fichier conf si vous voulez changer les choses. Par exemple, certaines versions de PHP bloquent la fonction shell_exec() dont nous avons besoin pour exécuter des programmes en ligne de commande comme Espeak à partir du serveur Web. Voici comment configurer phpinfo.
Allez dans votre répertoire Web par défaut généralement /var/www ou /var/www/html….. c'est celui avec le fichier index.html et tapez sudo nano phpinfo.php puis tapez ce qui suit dans l'éditeur nano et appuyez sur le contrôle O pour sauvegarder et quitter
N'oubliez pas de le rendre exécutable en tapant sudo chmod 755 phpinfo.php - Pour le visualiser, ouvrez l'url suivante dans votre navigateur Web en utilisant votre nom d'hôte au lieu du mien, c'est-à-dire raspberrypi -
?>
Étape 3: Le code PHP et les scripts Web
J'ai utilisé deux programmes ici - L'un pour le formulaire Web (espeak_form.php) et l'autre qui traite les données du formulaire (my_espeak.php). fichiers, puis coupez et collez à partir des fichiers texte respectifs indiqués ci-dessus
pi@raspberrypi /var/www $ sudo nano /var//www/my_espeak.php
pi@raspberrypi /var/www $ sudo nano /var//www/espeak_form.php
N'oubliez pas de les rendre exécutables en tapant sudo chmod 755 *.php
Le script PHP de formulaire Web (espeak_form.php) que j'ai écrit ne gagnera aucun prix de conception, mais il comporte 2 sous-formulaires. L'un pour faire l'annonce (texte à la parole) et l'autre forme l'un est utilisé pour allumer et éteindre les lumières. Le sous-formulaire espeak vous permet de sélectionner différents accents, une voix féminine et une fonction chuchotement, Le cœur de my_espeak.php est l'utilisation de la fonction php - shell_exec(). Comme vous pouvez le voir, cela permet à PHP d'exécuter des commandes Linux sans avoir besoin d'autres bibliothèques, comme vous auriez besoin de dire en Python.
Étape 4: Conclusion
Il s'agit d'une solution relativement complexe dans la mesure où vous utilisez de nombreux éléments de l'environnement Pi, c'est-à-dire PHP, les fonctions de ligne de commande, Apache, GPIO, etc. J'espère que cela illustre ce que vous pouvez faire avec les PI en particulier et l'IOT en général. Il existe de nombreuses autres façons d'y parvenir et vous pouvez même le contrôler depuis Internet si vous comprenez la redirection de port, le pare-feu et/ou le VPN. J'espère qu'il vous a plu, mais voici mon avis de non-responsabilité:
JE NE PEUX PAS GARANTIR QU'IL S'AGIT D'UN SYSTÈME SR OU SÉCURISÉ ET PAR CONSÉQUENT, VEUILLEZ NE PAS L'UTILISER À DES FINS QUI COMPRENNENT LE TRAITEMENT DE DONNÉES PRIVÉES, PERSONNELLES OU COMMERCIALES SENSIBLES. AUSSI, CONNECTEZ VOS CÂBLES EN TOUTE SÉCURITÉ ET SI VOUS UTILISEZ DES CONNEXIONS TEMPORAIRES, PAR EX. LES CLIPS CROCODILE NE LAISSER PAS LE SYSTÈME SANS SURVEILLANCE OU L'UTILISER DANS DES ENVIRONNEMENTS DIFFICILES.
C'est un moyen fantastique d'en apprendre beaucoup sur l'IOT et de s'en souvenir avant de penser aux applications commerciales utilisant des méthodes telles que celle-ci. Le Raspberry Pi est aussi bon que sa carte SD. Je dirais un an en utilisation normale par rapport à certains serveurs que j'ai utilisés et qui ont fonctionné pendant plus de 10 ans.
De toute façon bonne chance.
Conseillé:
Lampe LED de bureau intelligente - Éclairage intelligent avec Arduino - Espace de travail Neopixels : 10 étapes (avec photos)
Lampe LED de bureau intelligente | Éclairage intelligent avec Arduino | Espace de travail Neopixels : maintenant, nous passons beaucoup de temps à la maison, à étudier et à travailler virtuellement, alors pourquoi ne pas agrandir notre espace de travail avec un système d'éclairage personnalisé et intelligent basé sur les LED Arduino et Ws2812b. Ici, je vous montre comment construire votre Smart Lampe LED de bureau qui
Horloge murale explosive bricolage avec éclairage de mouvement : 20 étapes (avec photos)
DIY Exploding Wall Clock With Motion Lighting: Dans cette instructable / vidéo, je vais vous montrer étape par étape comment créer une horloge murale créative et unique avec un système d'éclairage de mouvement intégré. Cette idée de conception d'horloge tout à fait unique est orientée pour rendre l'horloge plus interactive . Quand je marche
Système d'éclairage de club avec MadMapper & Teensy 3.2 : 14 étapes
Système d'éclairage de club avec MadMapper & Teensy 3.2 : En 2018, j'ai réalisé la première version de ce système d'éclairage de club à petit budget pour une soirée de réveillon à Ramallah en Palestine avec mon collectif The UNION, plus sur l'histoire et le collectif à la fin de cette article. Le système était basé sur WS2812
Système automatique d'éclairage et de pompe d'aquarium avec Arduino et minuterie RTC : 3 étapes
Système automatique d'éclairage et de pompe pour aquarium avec Arduino et minuterie RTC : un aquarium peut être transformé en un écosystème autonome sans intervention requise avec un peu de soin et de technologie :) Pour construire un système automatique d'éclairage et de pompe pour un aquarium, configurez bien sûr un système manuel premier. J'ai utilisé 2 projecteurs de 50 W chacun et 1 6W
Comment connecter et configurer correctement un mini système d'étagère HiFi (système audio) : 8 étapes (avec photos)
Comment connecter et configurer correctement un mini système d'étagère HiFi (système audio) : je suis une personne qui aime apprendre l'ingénierie électrique. Je suis une école secondaire à l'école Ann Richards pour les jeunes femmes leaders. Je fais cette instructable pour aider tous ceux qui veulent profiter de leur musique à partir d'un Mini LG HiFi Shelf Syste