Raspberry PI - mise en œuvre d'un système domotique abordable [Partie I]

Dans des messages précédents dans cette série, Nous avons vu Quels sont les broches GPIO, et comment faire pour contrôler un LED avec eux de nos Raspberry PI par Bash et Python, o avec un application Web.

portadarelele

A cette occasion, nous allons apprendre à contrôler la puissance de un appareil électrique; avant de démarrer le serveur, nous avons installé LAMPE comme nous l'avons vu dans la livraison précédente.

Mettre en œuvre, je vais utiliser un relais Conseil de 5V et 8 voies, Il doit être optoacoplada pour protéger la PI framboise; Depuis que nous allons vérifier avec les périphériques 220V, et épingles GPIO Travail de framboise avec un maximum de 3,3V.

placarele

Plaque de relais optoacoplados.

Nous devons faire entre le relais et le PI de framboise les connexions suivantes.

Module relais optoacoplados
Framboise modèle PI à, B, A +, B +
SCR
+ 5V
EN 8
GPIO 17
GND GND
APPAREIL PHOTO NUMÉRIQUE OLYMPUS

Connexions entre le Raspberry PI et la plaque de relais.

Maintenant, nous allons tester si les connexions fonctionnent, avec un simple test dans Bash, réglage de l'axe GPIO 17 comme sortie, et en donnant une grande valeur logique.

#Exportamos el PIN deseado
usuario@maquina:~$ sudo echo 17 > /sys/class/gpio/export

#Establecemos la direccion (salida o entrada)
usuario@maquina:~$ sudo echo out > /sys/class/gpio/gpio17/direction

#Activamos la salida del rele dandole un valor de 1 al bit
usuario@maquina:~$ sudo echo 1 > /sys/class/gpio/gpio17/value

Une fois a allumé le voyant lumineux de la commande du relais, parce que nous pouvons éteindre et dégager l'axe d'articulation GPIO.

#Apagamos la salida del rele
usuario@maquina:~$ sudo echo 0 > /sys/class/gpio/gpio17/value

#Liberamos el PIN asociado
usuario@maquina:~$ sudo echo 17 > /sys/class/gpio/unexport

Nous avons déjà testé le fonctionnement, alors maintenant nous allons voir la page web, que nous devons planifier, C'est bien plus simple que le test avec le LED Nous avons vu dans la dernière livraison.

<html>
 <head>
                 <!--/var/www/rele/index.php-->
 </head>
 <body>
 <!--GPIO17--> 
 <form action="" method="post">
 Enchufe 0 [GPIO 17]&nbsp;<input type="submit" name="encender17" value="Encender">
 <input type="submit" name="apagar17" value="Apagar">
 <input type="submit" name="parpadear17" value="Parpadear">
 </form> 
 <br></br>
 </body>
</html>

<?php
// Funciones PHP del pin GPIO 17
 if ($_POST[encender17]) { 
 $a- exec("sudo sh /var/www/rele/gpio/17/enciende.sh");
 echo $a;
 }

 if ($_POST[apagar17]) { 
 $a- exec("sudo sh /var/www/rele/gpio/17/apaga.sh");
 echo $a;
 }

 if ($_POST[parpadear17]) { 
 $a- exec("sudo sh /var/www/rele/gpio/17/parpadea.sh");
 echo $a;
 }
// Fin de las funciónes del pin GPIO 17
?>

Nous avons besoin créer ces trois scripts en bash pour mettre en marche, Éteindre et clignotant; Ces scripts sont trouvent dans /var/www/relais/gpio/17 /.

#!/bin/bash
#enciende.sh

#Exportamos el PIN deseado
echo 17 > /sys/class/gpio/export

#Establecemos la direccion (salida o entrada)
echo out > /sys/class/gpio/gpio17/direction

#Activamos la salida del rele dandole un valor de 1 al bit
echo 1 > /sys/class/gpio/gpio17/value
#!/bin/bash
#apaga.sh

#Apagamos la salida del rele
echo 0 > /sys/class/gpio/gpio17/value

#Liberamos el PIN asociado
echo 17 > /sys/class/gpio/unexport
#!/bin/bash
#parpadea.sh

#Exportamos el PIN deseado
echo 17 > /sys/class/gpio/export

#Establecemos la direccion (salida o entrada)
echo out > /sys/class/gpio/gpio17/direction

#Activamos la salida del rele dandole un valor de 1 al bit, y lo desactivamos 5 veces
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value

#Liberamos el PIN asociado
echo 17 > /sys/class/gpio/unexport

Quand nous avons la scripts et le index.php sur leurs routes respectives, Nous devons être en mesure d'afficher la hiérarchie suivante Répertoire sur le serveur web.

Capture d'écran 2014-11-08 16:27:54A cette occasion, il faut aussi faire sudoer à l'utilisateur www-data; pour cela, exécutez sudo visudo dans le terminal, et il ajoutera pi sous l'utilisateur afin que l'utilisateur www-data Vous pouvez contrôler les broches GPIO.

#includedir /etc/sudoers.d
pi ALL=(ALL) NOPASSWD: ALL
www-data ALL=(ALL) NOPASSWD: ALL

Maintenant, nous allons tester les trois boutons pour Vérifier que tout fonctionne correctement. Une fois le travail, et relais plaque LED s'allume, Nous allons entendre le “Clic/clac” que vous émettez quand ouverture et fermeture du circuit.

Capture d'écran 2014-11-08 13:30:46

Application Web pour commander le relais.

Nous allons voir comment connecter à une lampe ou tout autre appareil pour lutter contre elle de n'importe quel appareil avec un navigateur web.

Le schéma de Brancher le relais entre un interrupteur magnéto-thermique et d'une fiche le mur de notre maison serait la suivante; pour les régimes, j'ai utilisé l'image d'un relais monocanal, dans cet exemple, il est le canal IN 8 plaque de 8 canaux.

rele5vmagnetotermico

Schéma de branchement dans le tableau électrique d'une maison.

Pour la preuve de concept, Je vais utiliser le schéma suivant avec une fiche que j'ai dû changer dans une pièce de maison, et une lampe. Voici le mur, et au-dessus, qui avez monté dans ce test pour vous connecter à la lampe; le relais agit comme un commutateur.

rele5venchufe1

Schéma utilisé dans cet essai.

Il y a trois ports de raccordement électrique pour chaque sortie relais: COM, normalement ouvert et normalement fermé. Dans COM Nous devons nous connecter le positif électrique Il va nourrir l'appareil, et dans un seul les deux autres l'extension de câble pour le positif de l'appareil. Le négatif se connecte directement à partir de la fiche d'alimentation de l'appareil.

PB080196

Une connexion de relais.

Cela dépendra si vous le connectez à normalement ouvert, ou un normalement fermé Si l'appareil est en marche ou arrêt si vous éteignez la framboise.

Dans cet exemple, le relais est connecté à normalement fermé, donc, si vous désactivez la framboise, fiches de travail; Si conectásemos dedans normalement ouvert, Quand débrancher la lampe framboise pas peut-être s'enflammer parce que le circuit serait ouvert; Nous comprendrons mieux avec une vidéo.

Si vous le souhaitez vous pouvez me suivre sur Twitter, Facebook, Google +, LinkedIn, ou partagez-les avec les boutons situés sous cette publication, Si vous avez des questions ou suggestions n'hésitent pas à commenter.

Aidez-nous à atteindre plus de lecteurs Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

33 Thoughts on"Raspberry PI - mise en œuvre d'un système domotique abordable [Partie I]

  1. Mettre en marche et d'arrêt voyants sur internet

    Bonjour, Devant rien, le moins que je puisse dire, Merci, Super
    le tutoriel, un autre regard, Bravo et Merci.

    Une question, Je ne comprends pas exactement comme et où dois-je installer les scripts,
    mon intention est d'avoir une page WEB, En fait, ne pas être que j'arrive à
    en collaboration avec PHP et WEB, comme l'exemple, via un PC, connecté à Internet
    n'importe où pour activer les différentes LEDs ou relais, n'est pas comment le faire,
    à l'avance et bien sûr, Merci beaucoup pour toute aide.

    Amiable Ignacio de Belgique

  2. Les scripts et le index.php unique vous devez les copier dans /var/www/rele comme indiqué dans le tutoriel, chacun a son itinéraire.

    index.php dans /var/www/rele/index.php
    Apaga.sh, enciende.sh et parpadea.sh en /var/www/rele/gpio/17 /

    Pour le temps que cela fonctionne pour un relais connecté à la GPIO 17, dans quelques jours, je terminerai par la deuxième partie à exploiter les huit sorties.

    Pour accéder à Internet, vous devez configurer votre routeur pour rediriger les requêtes entrantes par le port 80 à votre Raspberry PI. Depuis le serveur virtuel de l'option de NAT ou un routeur, vous pouvez le configurer.

    Enfin, pour accéder plus facilement vous pouvez inscrire à NoIP et obtenir un domaine gratuit associé à votre adresse ip publique de la type casa.no-IP.biz.

    PD: Veillez à que vous protégez cette page très bien seulement vous avez accès.

    Merci beaucoup pour les commentaires.

    • Bonne après-midi,

      Je suis que je vous remercie, par ses conseils, par réponse si vite et votre courtoisie, C'est un plaisir, Je vous souhaite une bonne 2015

      Amicalement,

      Ignacio Rubin de Belgique

  3. Bonne après-midi,

    Tout fonctionne parfaitement, Bien que seulement par lan ou avec Xming via ssh, Impossible de se connecter à distance, "avec un autre PC via Internet, J'ai noip et dyndns, et je ne peux pas courir, Si vous avez une idée je remercie il vous à l'avance,

    Un message fort et un voir plus, Merci

    Ignacio

    • Je suis content que cela fonctionne enfin, mais pour vous connecter sur Internet, les protocoles que vous utilisez?

      Vous devez ouvrir les ports, les services que vous souhaitez utiliser sur le routeur qui vous donne accès à l'Internet (Port HTTP 80, Port HTTPS 443, SSH port 22, etc.) et faire le Port Forwarding pour le routeur IP de framboise IP privé qui vous donne accès à l'Internet.

      Enfin maintenant vous suffit lancer la connexion d'un autre réseau vers l'adresse IP publique du routeur, Vous pouvez essayer depuis votre téléphone mobile 3 G.

      Si cela fonctionne, Maintenant vous pouvez continuer à configurer le NoIP ou Dyn pour l'accès d'un nom facile à retenir au lieu d'une adresse IP publique; En outre si installer NoIP sur framboisier, sur le site Web du NoIP votre adresse IP publique changera automatiquement chaque fois que ce changement pour votre routeur.

      Pour plus de sécurité, Il est préférable si vous configurez un VPN pour établir des connexions à votre réseau domestique, et le canal, à travers elle, tout votre trafic.

  4. Salut, J'ai une question j'ai une led sur le gpio4, sudo echo 1 > /sys/class/gpio/gpio4/valeur cela que J'éteins a conduit, et avec sudo echo 0 > /sys/class/gpio/gpio4/valeur, mettre en marche, j'ai dirigé, devrait être de la revez, va faire quelque chose de mal?.
    Placez le fichier que je me connecte via le web, Lorsque j'appuie sur n'importe quel bouton (mettre en marche, Désactiver, ou clignotante) ne désactiver led, mais ne s'allume pas, ni le scintillement.
    J'apprécie l'aide que vous pouvez me donner.

    • Le voyant lumineux du relais est seulement un indicateur, avez-vous testé avec un appareil électrique connecté au relais?

      Cela dépendra des cas conectáis dedans normalement ouvert, ou des scripts de configuration normalement fermé en python.

      • Salut, Fait intéressant, le led fonctionne parfaitement, J'ai allumer et éteindre au plaisir, mais le relais ne fonctionne pas, ne pas ouvrir ou fermer, ne fait pas de commutateur 🙁

  5. Salut, Bonne après-midi,

    Installez VNC, au sein de mon réseau que tout fonctionne, Cependant par Internet me trouver impossible, Je ne peux pas trouver l'erreur, Je vous remercie de me préciser

    Ignacio

    • Salut, tout d’abord merci beaucoup pire votre question 🙂

      Vous pouvez suivre le tutoriel étape par étape, le relais a 3 types de broches:

      – VCC-> puissance (BROCHES 5V RPI)
      – GND-> Broche GND RPI
      – IN-> sont entrées, et selon que votre état est élevée ou faible, le relais va allumer ou éteindre.

      Exemple d'utilisation IN8, Vous devez seulement changer IN0 ou votre relais IN1 et comme j’ai mentionné avant de suivre le tutoriel 🙂

      PD: S'assurer que ceux-ci sont optoacoplados, les photos sont.

      Sinceres salutations, J'espère que j'ai aidé.

  6. FIZ tudo à préféré comme acima, Quando escrevo vous commandes non terminal, fonctionne, Porém, J'ai touché ou enciende.sh et contrôle non terminaux não executar archive fonctionne e nem via la page index.php

  7. Vraiment intéressant, Il me semble que je m'apprête à acheter et commencer à jouer.

    Je vous laisse, quelque chose, Cela est peut-être utile d'avoir quelques belles interfaces et de jouer avec ceux 8 Re

    http://pihome.harkemedia.de

    Sinceres salutations,

    De l'Argentine! Sûrement, vous dérange, avec certaines configurations de l'électronique! Câlin!

  8. D'abord, Je vous remercie pour vos explications, Très bien.

    J'ai suivi vos instructions et je peux attraper une poisson tank distance air pompe.

    Le problème que j'ai est absent je peux vérifier l'état de la broche (Vrai ou faux)

    Comment je peux faire pour me mettre ces données sur la même page j'ai?

    La marine suivant vos instructions, active ou désactive le relais correctement.

    • Salut Teodoro,

      Ce commentaire est quelque chose qui demandent de nombreux lecteurs, par ce que je me prépare une prochaine partie du tutoriel où nous fixera un indicateur du statut de la GPIO broches dans mon temps libre gratuit.

      Une fois que c'est fini, je vais le publier sur le Blog.

      A bientôt.

  9. Avant tout Merci beaucoup pour votre blog.. est spectaculaire. Pour ma part, j'ai acheté tout ce dont vous avez besoin, J'ai suivi tous tes Tutos, mais lorsque vous exécutez la plaque de 8 Relais, quelque chose se passe mal je.

    La question est comme si j'ai la plaque octoacoplada?? Il semble que non vous atteint un courant suffisant pour activer le. Mes connexions sont:

    5v-> SCR (plaque)
    GND (P3) -> GND (plaque)
    GPIO4-> IN4 (plaque)

    Lorsqu'elle est active le gpio avec script, la diode rouge est allumée une momoento, mais ne reste pas sur. Je comprends que c'est parce que le gpio est activé à 3,3 volts et les relais sont 5V. Jure toutefois avoir la même planche donc vous devez ahber un moyen de faire ne fonctionner pas?

    Apreciaria tout type de commentaire, le relais Conseil est la suivante
    (8 Relais de Module srd-05VDC-SL-C)

    Merci beaucoup pour tout

  10. Bonjour Loty,

    La plupart des plaques de relais pris en charge qui sont commercialisés pour les microcontrôleurs se fait déjà opto-couplée, Vous pouvez vérifier si c'est dans le cahier des charges ou à la recherche d'optocoupleurs dans la plaque; qui se réfère au nombre de série que vous avez mentionné si cette chose est.

    En effet, ces plaques sont alimentés avec 5V, mais la sortie peut être activée aussi par des 3 actionneurs, 3V comme la framboise IP GPIO.

    En tout cas, le problème semble être le manque de puissance, donc, remplacer le transformateur de la framboise avec un 2 a ou une alimentation externe, le relais pourrait aider.

    Salutations et a bientot.

    • Salut!
      Je vous remercie pour votre réponse rapide. J'ai fait des tests directement sur le relais Conseil (enlever le RASPBERRY PI), pour voir si c'était que la plaque avait mal. J'ai une alimentation externe de 5 v à 2 a.

      Je me connecte le GND, à moins que le chargeur de VDC pour la + la mangeoire et l'IN4 également à la +. et là.. TRAVAUX!! le clic de relais et le voyant reste allumé, J'ai fait le test avec une lampe de 220v et tous fonctionne toujours. Le problème se pose avec le RASPBERRY PI.

      J'ai branché le chargeur plaque externe “+” le VDC “-” la masse et le IN4 j'ai connecté la framboise gpio4, et là, lorsque j'active le GPIO, rien ne se passe. J'ai mesuré la GPIO et donne 3,3 v. J'ai lu sur d'autres sites et il est dit que c'est parce que je dois connecter le cavalier VDC-CCM autrement. Ne pas être que j'ai fait de mal. C'est peut-être que je me tourne le gpio par BASH?? Il est nécessaire pour le faire fonctionner sur l'utilisation de carte de relais de la bibliothèque de python GPIO??

      Merci beaucoup pour toute contribution

  11. Wave, J'ai eu un problème pour effacer la lumière avec relais, en utilisant le code de ce didacticiel, pourrait la lumière normale, mais pour ne supprimer pas effacement et le relais était armé, désarmer seulement lorsque j'ai débranché le câble entre le relais de la framboise. Après plusieurs tentatives j'ai réussi à supprimer ce tutoriel avec des codes par le code tutorial a conduit à supprimer. pour obtenir ce formulaire une partie du code: If ($_ POSTE[apagar17]) {
    $À- exec(“sudo python/var/www/AcenderWebRele/apaga3.py”);
    $À- exec(“sudo echo 17 > /sys/class/gpio/export”);
    $À- exec(“sudo echo 0 > /GPIO/sys/class/gpio17/valeur”);
    $À- exec(“sudo echo 17 > /sys/class/gpio/annuler l'exportation”);
    ECHO $a;
    }

  12. Bon après-midi du Mexique, mon nom est Enrique, Je suis intéressé par la partie de l'automatisation de la mise en oeuvre avec framboise que cela dérivé d'un projet d'école, dans les didacticiels, vous mentionnez qu'il faut avoir linux dont je ne connais pas beaucoup, Il est possible de développer le projet, le site Web et la programmation nécessaire à la framboise avec windows?, le serveur web que vous mentionnez doit être installé dans la même framboise ou où?, Si le nombre d'appareils que je veux commande a dépassé la capacité de la framboise 3 normal à ocuparia do, autre framboise ou il ya quelque chose qui me permettront d'accroître la capacité?, Si vous faites affaire avec un autre framboise comme seraient tous les deux avec la même application web?.

    J'espère, et vous pouvez m'aider avec ceci.

    Sinceres salutations.

Laisser une réponse