Table des matières:

R Pi - Télécommande PA et système d'éclairage : 4 étapes (avec photos)
R Pi - Télécommande PA et système d'éclairage : 4 étapes (avec photos)

Vidéo: R Pi - Télécommande PA et système d'éclairage : 4 étapes (avec photos)

Vidéo: R Pi - Télécommande PA et système d'éclairage : 4 étapes (avec photos)
Vidéo: 📺 CREEZ votre propre ANDROID TV BOX grâce à un Raspberry Pi ! 2024, Novembre
Anonim
R Pi - Télécommande PA et système d'éclairage
R Pi - Télécommande PA et système d'éclairage
R Pi - Télécommande PA et système d'éclairage
R Pi - Télécommande PA et système d'éclairage
R Pi - Télécommande PA et système d'éclairage
R Pi - Télécommande PA et système d'éclairage

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

Configurer et tester le matériel
Configurer et tester le matériel
Configurer et tester le matériel
Configurer et tester le matériel
Configurer et tester le matériel
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

Configuration du serveur Web
Configuration du serveur Web
Configuration du serveur Web
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

Le code PHP et les scripts Web
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é: