Tiges de framboisier PI et GPIO: Contrôler la LED depuis une interface web

Dans les derniers messages de cette série, Nous avons vu ils sont les broches GPIO et servir, et Comment contrôler la puissance des leds de la borne; avant de commencer Nous avons installé les bibliothèques GPIO pour Python, et le circuit électronique assemblé et travail.
Application Web en HTML + PHP + Python à gérer quelques Leds à travers le GPIO.

A cette occasion, nous allons installer le serveur web Apache, et apprendre à écrire le code en HTML et PHP pour contrôler la LED de même, ou plusieurs, depuis une interface web.

gpioprogramar0pngLa première chose que nous devons faire est installer le serveur web LAMP, tapez les commandes suivantes dans le terminal:

#Actualizamos los repositorios y el software de la pi
usuario@maquina:~$ sudo apt-get update && sudo apt-get upgrade

#Instalamos LAMP
usuario@maquina:~$ sudo apt-get install apache2
usuario@maquina:~$ sudo apt-get install php5 libapache2-mod-php5
usuario@maquina:~$ sudo service apache2 restart

Maintenant nous allons ajouter comme sudoer à l'utilisateur www-data, Ce n'est pas l'option plus sûre, mais n'oubliez pas que nous faisons un test dans un environnement contrôlé; pour un environnement en production, nous devons chercher une autre façon d'exécuter des scripts en python comme sudoer.

Pour modifier ces autorisations, a écrit sudo visudo dans le terminal et à la fin du fichier Ajouter à www-data comme sudoer, Il doit en être ainsi.

# See sudoers(5) for more information on "#include" directives:

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

Pour chaque broche GPIO Nous devons créer un sous-répertoire et trois scripts en Python; l'un pour allumer, un autre s'arrête, et un script final pour la fabrication de nos LED clignotante, Voici un exemple avec la BROCHE 4.

#!usr/bin/env/ python
## enciende.py
#Importamos la libreria y le cambiamos el nombre a GPIO
importation RPi.GPIO comme GPIO
#Nous établissons le système de numérotation que nous voulons, 
#dans ce cas, le système BCM
GPIO.setmode(GPIO. AC.)
#Configurer la broche GPIO 4 en tant que sortie
GPIO.setup(4, GPIO. HORS)
#Nous passons sur la led
GPIO.output(4, GPIO. HAUTE)
#!usr/bin/env/ python
## apaga.py
#Nous importons la bibliothèque et changez son nom en GPIO
importation RPi.GPIO comme GPIO
#Nous établissons le système de numérotation que nous voulons, 
#dans ce cas, le système BCM
GPIO.setmode(GPIO. AC.)
#Configurer la broche GPIO 4 en tant que sortie
GPIO.setup(4, GPIO. HORS)
#Désactiver les led
GPIO.output(4, GPIO. FAIBLE)
#Et nous libérer le GPIO
GPIO.cleanup()
#!usr/bin/env/ python
## parpadea.py
#Nous importons la bibliothèque et changez son nom en GPIO
importation RPi.GPIO comme GPIO

#Nécessaire pour les retards
moment de l'importation

#Nous établissons le système de numérotation que nous voulons, 
#dans ce cas, le système BCM
GPIO.setmode(GPIO. AC.)

#Configurer la broche GPIO 4 en tant que sortie
GPIO.setup(4, GPIO. HORS)

#Allumer et éteindre la led 5 fois
car moi dans la gamme(0,5):

        GPIO.output(4, GPIO. HAUTE)
        Time.Sleep(1)(1)
        GPIO.output(4, GPIO. FAIBLE)
        Time.Sleep(1)(1)

#Et nous libérer le GPIO
GPIO.cleanup()

C'est le moment de créer notre page d'accueil en HTML et PHP, contient des boutons qui nous pousserons à exécuter les scripts Python depuis une interface web, plus tard, nous allons voir comment la hiérarchie finale.

<html>
 <head>
                        <!--index.php--> 
 </head>
 <body>

  <!--GPIO17--> 
  <form action="" method="post">
   GPIO 17&nbsp;<input type="submit" name="encender17" value="Encender">
   <input type="submit" name="apagar17" value="Apagar">
   <input type="submit" name="parpadear17" value="Parpadear">

 <br></br>

  <!--GPIO27--> 
  <form action="" method="post">
   GPIO 27&nbsp;<input type="submit" name="encender27" value="Encender">
   <input type="submit" name="apagar27" value="Apagar">
   <input type="submit" name="parpadear27" value="Parpadear">

 <br></br>

  <!--GPIO4--> 
  <form action="" method="post">
   GPIO 04&nbsp;<input type="submit" name="encender4" value="Encender">
   <input type="submit" name="apagar4" value="Apagar">
   <input type="submit" name="parpadear4" value="Parpadear">

 <br></br>

  <!--GPIO22--> 
  <form action="" method="post">
   GPIO 22&nbsp;<input type="submit" name="encender22" value="Encender">
   <input type="submit" name="apagar22" value="Apagar">
   <input type="submit" name="parpadear22" value="Parpadear">

 </body>
</html>

<?php

// Funciones PHP del pin GPIO 17

  if ($_POST[encender17]) { 
   $a- exec("sudo python /var/www/leds/gpio/17/enciende.py");
   echo $a;
  }

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

  if ($_POST[parpadear17]) { 
   $a- exec("sudo python /var/www/leds/gpio/17/parpadea.py");
   echo $a;
  }

// Fin de las funciónes del pin GPIO 17


// Funciones PHP del pin GPIO 27

  if ($_POST[encender27]) { 
   $a- exec("sudo python /var/www/leds/gpio/27/enciende.py");
   echo $a;
  }

  if ($_POST[apagar27]) { 
   $a- exec("sudo python /var/www/leds/gpio/27/apaga.py");
   echo $a;
  }

  if ($_POST[parpadear27]) { 
   $a- exec("sudo python /var/www/leds/gpio/27/parpadea.py");
   echo $a;
  }

// Fin de las funciónes del pin GPIO 27


// Funciones PHP del pin GPIO 4

  if ($_POST[encender4]) { 
   $a- exec("sudo python /var/www/leds/gpio/4/enciende.py");
   echo $a;
  }

  if ($_POST[apagar4]) { 
   $a- exec("sudo python /var/www/leds/gpio/4/apaga.py");
   echo $a;
  }

  if ($_POST[parpadear4]) { 
   $a- exec("sudo python /var/www/leds/gpio/4/parpadea.py");
   echo $a;
  }

// Fin de las funciónes del pin GPIO 4


// Funciones PHP del pin GPIO 22

  if ($_POST[encender22]) { 
   $a- exec("sudo python /var/www/leds/gpio/22/enciende.py");
   echo $a;
  }

  if ($_POST[apagar22]) { 
   $a- exec("sudo python /var/www/leds/gpio/22/apaga.py");
   echo $a;
  }

  if ($_POST[parpadear22]) { 
   $a- exec("sudo python /var/www/leds/ejecgpio/22/parpadea.py");
   echo $a;
  }

// Fin de las funciónes del pin GPIO 22

?>

J'ai regroupé il tous sur la même page comme si la création d'une page dans PHP pour chaque option, pour l'exécuter, j'ai été envoyé à la page de script (une page blanche); maintenant, exécutez le code et reste sur la même page.

Enfin Nous devons parvenir à la hiérarchie suivante dans le sous-répertoire du serveur web /var/www.

Capture d'écran 2014-10-05 00:06:52Si 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

71 Thoughts on"Tiges de framboisier PI et GPIO: Contrôler la LED depuis une interface web

  1. Bon, Après avoir regardé domotique de solutions Internet, J'ai décidé par votre système, semble bien exposée.
    Malgré cela et grâce à mon expérience nul en soft. doute de moi, Je souhaite que vous pourriez résoudre, J'ai fait plusieurs tests et rien, Je ne comprends pas….:)
    effectuez toutes les opérations qui expliquent et j'ai réussi le gpio du terminal avec du mastic, mais étant donné que le web ne peut pas activer le script python.
    J'ai besoin de faire une page sur /val/www avec html (index.html) Servez-la donc j'ai apache. En plaçant votre site Web ici si les boutons me laisser, mais n'exécute ne pas le script php. Dans la page index.php, ne pas mettre à l'intérieur.
    Désolé pour la gêne occasionnée et vous remercie.

      • Merci d'avoir répondu si rapidement, Oui j'ai pas pour donner des autorisations dans le fichier que vous avez mis, Je suis confus avec la page index.php, vous accrochez le répertoire GPiO, Voir seulement les boutons sur le web si je le mets dans /val/www….en html!…index.html, mais n'exécute ne pas le script PHP. Qui doit mettre le index.php qui pendent répertoire GPIO?

        • Si vous regardez attentivement, index.php /var/www/leds 🙂 se bloque si encore ne fonctionne pas, commenter cet article et regarder.

          Si /var/ www/index.php cuelgas il verra dans cette direction, mais cela ne marchera pas n'importe quoi:

          http://ipdelapi

          Si le coup de /var/www/leds/will fonctionne correctement, mais depuis cette route:

          http://ipdelapi/leds

          J'espère que cela résout vos doutes et que vous pouvez vous déplacer dans ce monde si passionnant.

          • Je suis heureux que vous avez travaillé, en fin de compte, c'est le chemin d'accès du script?

            Merci pour votre commentaire 🙂

          • Bon, J’ai le même problème que les collègues ci-dessus.

            Mon index.php est suspendu /var/www/html/index.html
            , Si j’obtiens mon index html à partir d’il ne pas affiché, mais je n’ai aucun problème à avoir là, Mon problème vient quand le bouton d’impulsion et pas me lancer le scrip.

            PD: Je lui ai donné tout et permis

            Je vous remercie pour votre réponse.
            Un message d’accueil

            J.G.

  2. Bon, votre travail est me servir beaucoup, vous êtes une machine!
    Je suis en train de rendre le système d'automation pour contrôler plusieurs del sur le web, mais j'ai un problème, que vous ne pouvez pas soulager.
    Le thème, c'est que j'ai activé le GPIO j'ai besoin, J'ai les activer et désactiver de terminal, Je me connecte à un autre PC connecté sur le même réseau de 192.168.X.X/leds/ et le site semble bon, le menu pour le contrôle de la maison semble parfait, mais les leds ne répondent pas, J'ai essayé de l'actif et passif, quelque chose que je fais mal…
    La seule chose que je peux dire est que vous affichant le code source de la page et affiche uniquement le code html, PHP ne s'affiche pas, ne pas être si il doit ou non.
    Je pense qu'il peut être quelque chose de PHP, mais je ne suis pas très convaincu parce que j'ai essayé un test PHP et il le fait bien, Je suis désespéré lol

    • Salut John,

      Me alegro que peut être utilité mon 🙂 articles sont toujours accueillir les commentaires positifs.

      Tout le code PHP dans le navigateur s'affiche au format HTML, Puisque la fonction PHP est à la fois et dynamiquement créer des pages web qui sont servis dans le navigateur.

      Exécution de scripts Python directement si les leds sont allumées? la bonne chose serait début essais d'ici et aller de l'avant.

  3. Je vous remercie d'avoir répondu rapidement!
    Enfin formater de nouveau la framboise, J'ai suivi toutes les étapes à nouveau et tout fonctionne à merveille, ne pas être qui pourrait échouer.
    En tout cas merci pour l'attention.
    Un message d'accueil

    • Merci de partager vos doutes, Je suis heureux qu'il a finalement arrangé.

      Vous avez changé quelque chose dans votre framboise ainsi que le format, comme par exemple le microUSB de transformateur?

      • Oui, Quand je l'ai acheté j'ai mis un évier au micro à lui vers le haut et donc fonctionnera plus rapidement la vitesse, mais ce n'est le changement très perceptible.
        C'était la seule chose que vous modifiez à la râpe.

        • Salut John, Je suis heureux de vous relire ici.

          En principe n'a pas qui influencent l'Overclock à cet aspect, mais il peut être n'importe quelle configuration; maintenant que vous travaillez avec un nettoyage Raspbian revient pour donner des problèmes après avoir été en production, Maintenant, si qui vous recommande de trouver la racine du problème.

          Changement de l'Overclock vous le remarquerez en fonction des tâches spécifiques qui ont besoin de beaucoup de puissance de calcul, mais certains facteurs tels que le port Ethernet seront poursuivra après le col de bouteille qui utilise.

          Vous pouvez voir le commentaire que j'ai fait des modèles Raspberry PI B, B + et B2 dans le lien suivant, avec des tests de performance complet:

          http://www.peatonet.com/raspberry-pi-y-los-pines-gpio-controlando-el-led-desde-una-interfaz-web/

          J'espère que vous sera utile, a bientot 🙂

  4. Salut, J'ai une petite question/problème. Je voudrais connecter une sonnerie au lieu d'une led, mais je veux essayer le premier avec un conduit à apprendre. Il est nécessaire de faire un index.html et autres .php?
    J'ai le voyant connecté à la gpio4, et j'ai un script on.py et autres off.py dans le dossier 4. Console de travail parfaitement.
    et je ne peux pas mettre le fichier index.html, parce qu'il ne me laissera pas, mais juste pour conduit fonctionnalité 4.

    J'espère que vous pourrez m'aider, J'ai visité votre profil facebook et j'espère qu'un jour tous les deux de Raspberry Pi comme vous le savez. Une salutation et Merci.

  5. Un site web en PHP peut contenir HTML par qui n'avez besoin que d'un index.php

    Si vous mettez les commandes PHP pour exécuter vos scripts en python dans un fichier HTML, ne fonctionnera pas.

    Maintenant que le terminal fonctionne, vous pouvez simplement copier le index.php de ce tutoriel, éliminer l'autre GPIO et en laissant uniquement le 4 C'est ce que vous utilisez; et cela devrait fonctionner.

    Si vous ne pouvez pas modifier les fichiers dans/var/www sera sûrement par autorisation, dans ce tutoriel est la solution et cela devrait fonctionner, Si il ne commentaire et je vais essayer de vous donner un coup de main.

  6. Salut, Je vais prendre pour poser une autre question ici, Si vous ou quelqu'un peut me prendre un câble. J'ai ce script et que vous souhaitez supprimer le dossier avec la date une fois redémarrée, et ce qui m'intéresse, savoir comment faire cela quand il s'agit d'un montant de x-taille des captures, tous être effacés ou le redémarrage de l'IPD. Merci une salutation.

    #! /bin/sh
    # /etc/init.d/motionStartup
    #

    # Certaines choses qui courent toujours
    #touch /var/lock/motionStartup
    enregistreur - s “Script appelé motionStartup”

    # Remplir des fonctions spécifiques interrogé par le système
    cas “$1” dans
    Début)
    enregistreur - s “Script motionStartup a commencé”
    TIMESTAMP = $(Date + %m %d %H %M %S et % | SED / / / g') # Sans espace
    enregistreur - s “Script motionStartup $TIMESTAMP”
    sudo mkdir/motiontmp / $TIMESTAMP || enregistreur - s “Erreur de début de mkdir”
    trouver/motiontmp/mouvement /. -type f - taille 0 -print0 - supprimer
    trouver/motiontmp/mouvement /. -MaxDepth 1 -type f | \
    XARGS - JE '{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    arrêter)
    enregistreur - s “Script motionStartup arrêté”
    ;;
    *)
    ECHO “Son utilisation: /etc/init.d/motionStartup {Début|arrêter}”
    sortie 1
    ;;
    ESAC

    sortie 0

  7. Si vous ajoutez cette ligne au début de votre script, chaque fois que vous exécutez le script avant de faire quoi que ce soit vous effacera tous les dossiers à l'intérieur/motiontmp /

    sudo rm - rf/motiontmp / *

    En ce qui concerne les fichiers supprimer lorsque vous arrivez à une certaine taille, vous pourriez essayer de concaténer la commande df - h montrant un disque de répertoire, ou une partition:

    DF - h /motiontmp

    Avec une autre commande comme wc ou sed afin qu'il ne lit que la phrase faisant référence à la Mo ou Go utilisé, Enfin avec si vous pouviez programmer la partie ce cas le résultat est supérieur à N, Exécutez la commande décrite ci-dessus rm.

    • Vers les dossiers parfait de supprimer, mais alors…
      Désolé, mais je suis un peu nouveau et je suis perdu, car il serait par exemple pour quand arrive le répertoire/motiontmp/mouvement / 5 Gigas? Merci salutations.

  8. Désolé pour donc suivi de nombreux messages mais comme je trouve mise à jour. Quelque chose comme ça pourrait fonctionner?

    #! /bin/sh
    # /etc/init.d/motionStartup
    #

    taille = du - sh /motiontmp

    lire “taille”

    If [ “$taille” > “2048000À” ]; puis

    sudo rm - rf/motiontmp / *

    d'autre

    enregistreur - s “Script appelé motionStartup”

    # Remplir des fonctions spécifiques interrogé par le système
    cas “$1” dans
    Début)
    enregistreur - s “Script motionStartup a commencé”
    TIMESTAMP = $(Date + %m %d %H %M %S et % | SED / / / g') # Sans espace
    enregistreur - s “Script motionStartup $TIMESTAMP”
    sudo mkdir/motiontmp / $TIMESTAMP || enregistreur - s “Erreur de début de mkdir”
    trouver/motiontmp/mouvement /. -type f - taille 0 -print0 - supprimer
    trouver/motiontmp/mouvement /. -MaxDepth 1 -type f | \
    XARGS - JE '{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    arrêter)
    enregistreur - s “Script motionStartup arrêté”
    ;;
    *)
    ECHO “Son utilisation: /etc/init.d/motionStartup {Début|arrêter}”
    sortie 1
    ;;
    ESAC

    sortie 0

    FI

  9. Bonjour que telle une amie, Désolé suivre votre exemple et la led est allumée, il n'y a pas de problème, mais lorsque vous cliquez sur le bouton désactiver, le voyant lumineux clignote, déjà vérifier les codes et tout est correct :/ vous avez une idée qui pourrait faire mal?

    • Bonjour Fco, Merci pour votre commentaire.

      Sur le web, Il y a trois boutons:

      Mettre en marche, Désactiver, et clignotant.

      Si vous pouvez, Coller ici le code que vous avez choisies pour le bouton désactiver, Commentaire est donc possible que le bouton désactiver exécution du script qui devrait être associé au bouton clignotant.

      A bientôt.

  10. Rebonjour à tous, un autre doute de plus à ajouter lol.

    Avant de mettre à l'arrière-plan, Il doit être activé un sonner l'alarme (avertisseur sonore) Il devrait être une boucle qui mettre votre code pin à 1 et un 0 constamment, non pas comme une led que, même si 1 Il est encore.
    Le problème est comment faire pour arrêter cette boucle pour l'utiliser dans un web php, parce que la console en ajoutant à la fin de l'appel de script une & Il s'exécute en arrière-plan et laissez la console gratuite appeler le script qui se termine, exemple de:

    sudo python sonar.py &

    Ce sont deux scripts, que fait sonner et veillant cesse de sonner:

    moment de l'importation
    importation RPi.GPIO comme gpio

    GPIO.SetWarnings(Faux)
    GPI.setMode(GPIO. CONSEIL D'ADMINISTRATION)
    GPIO.Setup(7,GPIO. HORS)

    GPIO.output(7,1)
    Time.Sleep(1)(.3)
    GPIO.output(7,0)
    Time.Sleep(1)(.3)

    et la vanne d'arrêt:

    moment de l'importation
    importation RPi.GPIO comme gpio

    GPIO.SetWarnings(Faux)
    GPI.setMode(GPIO. CONSEIL D'ADMINISTRATION)
    GPIO.Setup(7,GPIO. HORS)

    GPIO.output(7,0)
    GPIO.cleanup()

    mais simplement de perturber le premier a fonctionné. Merci une salutation.

  11. Vous pouvez concaténer plusieurs commandes, pour cela, basé sur le nom de votre script, le terminal de regarder votre PID et tuer par la suite son exécution avec Kill.

    Une fois trouvé la commande, modifier la fonction destinée à fermer avec Ctrl + C, par l'un au lieu de cela, bourdonnement N fois Matt automatiquement avec cette commande.

  12. If avec Ctrl + C se ferme dans la console, mais j'essaie de mettre en œuvre par le biais de PHP comme votre post leds, puis devra être une autre façon je dis.

  13. Salut.
    Merci pour le tutoriel.

    J'ai un problème, n'exécute pas le script, Si vous les exécutez de console, mais depuis la page pas, Je ne sais pas qu'il peut être. J'ai fait ce que vous commentaire de
    “Nous écrivons sudo visudo au terminal et à la fin du fichier ajouter à www-data comme sudoer, Il doit être le cas.”

    Mais rien. Quoi d'autre puis-je regarder?

    Sinceres salutations.

  14. Salut, Bonjour,
    Devant rien, Merci.

    Il permet une question, tout fonctionne parfaitement, maintenant, Je voudrais être en mesure d'ajouter un écran qui indique lorsque les leds sont activés ou désactivés, J'ai trouvé quelques articles même avec des images montrant la couleur selon si le changement de lampe fonctionnent ou pas, essayez de comprendre le fonctionnement mais échoue à le faire fonctionner, Je reçois sur le web avec les commandes, mais rien est activé, J'espère pouvoir vous embêtez ne pas avec celle-ci et une autre regard, Je vous remercie pour votre gentillesse incroyable.

    Ignacio de Belgique

    • Bonjour Ignacio, Je vous remercie beaucoup pour votre commentaire.

      Je suppose que vous utilisez Javascript pour ce faire, intégrant les fonctions PHP qui activent le script Python pour, gérer les puissance-luminaires.

      JavaScript pas domino, Depuis je ne suis pas un développeur web, mais peut-être vous pouvez vous orienter un peu mieux, ou un autre lecteur peut vous aider à obtenir ce que vous voulez; mais pour ce faire, il faudrait voir le code, ou les tutoriels qui vous ont suivi pour tenter de détecter où est le bug.

      A bientôt, et beaucoup d'encouragement!

  15. Bonjour à tous un grand merci, J'ai beaucoup à apprendre.
    J'ai suivi toutes les étapes exposées, Je peux tourner sur les voyants lumineux du local terminal, charger le patch de php en suivant les instructions d'ullu, accorder des autorisations 775 même un—-etc.. Chargez la page avec les boutons après conduit/gpio mais rien. Je suis à l'aide de framboise pi 2…..va être quelque chose avec cette carte?. Je vous remercie de votre collaboration.

    • Bonjour Rafael, Merci pour le commentaire.

      Il est possible que la solution est dans les commentaires des tutoriels précédents de cette série consacrée à la domotique abordable basé sur Raspberry PI.

      Les étapes à suivre sont compatibles avec toutes les versions de la propriété intellectuelle, Il se présente à moi que vous pourriez changer l'exécution du script en python sur le site Web de la commande suivante qui va créer un fichier dans le répertoire de votre framboise:

      sudo touch /home/pi/funciona

      Si tout fonctionne bien, Ce fichier doit être créé.

      • Je vous remercie pour votre réponse rapide. J'ai fait les changements, comme il le dit pour moi, index.html en supprimant la partie de python et en plaçant en retour: sudo touch /home/pi/funciona , mais malheureusement le fichier n'est pas créé dans ma framboise. Je pense que c'est un excellent test et le résultat, je pense qu'il concentre le problème dans le domaine du web. Je vais regarder plus d'information dans d'autres didacticiels. Merci pour votre aide. On reste en contact.

        • Bonjour Rafael, Ensuite, vous pourriez faire le même test en modifiant légèrement le chemin d'accès du fichier pour vérifier si le problème réside dans les permissions du répertoire/var/www.

          sudo touch /var/www/funciona

  16. Salut, Je pourrais dire un moyen de mettre une étiquette avec l'état du voyant de l'interface web PHP
    ce changement automatiquement pour donner cliquant dit bouton soit pour allumer, Désactiver, clignotant… avoir une étiquette qui indique l'État. Merci pour vos commentaires, j'espère que vous pourrez m'aider..

    • Bonjour Chaka, Je vous remercie beaucoup pour votre commentaire.

      Je pense que vous pourriez le faire avec PHP et JavaScript si vous voulez donner un effet encore plus visuel, ou apporter des modifications à la touche.

      Si vous souhaitez ajouter une légende de texte selon la pression de bouton, Vous devez uniquement étendre les fonctions associées à chaque entrée; Je joins une liste des fonctions disponibles en PHP:

      http://php.net/manual/es/indexes.functions.php

    • Bonjour Jameson,

      Je ne comprends pas bien la question, mais pour trouver l'adresse IP d'un périphérique, vous pouvez utiliser NMAP.

      Vous avez également des outils avec interface graphique comme ZenMap issu de NMAP et la Fing pour les appareils Android.

    • Bonjour Jameson,

      L'adresse IP que vous avez à taper dans votre navigateur est en effet celle de Raspberry PI puisqu'il s'agit qui agit comme un serveur web, aussi si votre fichier php pas classé comme index.php, vous devrez ajouter le nom de votre fichier séparé par un après la période d'enquête “/”.

      Dans mon cas, l'IP est dans la gamme 10.42.0.0 Puisque c'est une adresse IP du type NAT fournie par une interface réseau virtuelle.

  17. S'il vous plaît j'ai besoin d'aide. Le problème est que j'ai tout comme tel qui vous l'expliquer, mais ne fonctionnent pas dans les scripts PHP.

    Merci beaucoup

    • Salut Sergio,

      Je suppose que vous parlez à des scripts en Python, d'autres ont eu le même problème et il y a plusieurs solutions dans les commentaires précédents; Si après avoir testé leur persiste à l'échec si vous récupérez des données plus peut-être d'autres lecteurs ou je pourrais vous aider.

      A bientôt.

    • Bonjour Roberto, Bienvenue.

      Je ne suis pas un expert en php, et dans ces moments-là que je cherchais un tutoriel exécuter les ordres dans l'interpréteur bash de php et ainsi trouvé.

      Il serait plus approprié d'utiliser pour = exec au lieu de ?- exec?

      Je vous remercie beaucoup pour votre commentaire, A bientôt.

  18. Dans le cas contraire vous travaillez le web, mais si scripts, Je vais bientôt faire un article donc vous pouvez y remédier; Grâce à l'information, j'ai recueilli différents utilisateurs qui n'a pas fonctionné.

    Si vous exécutez vous dépêcher pour y remédier, Vous pouvez vérifier si le répertoire var existe dans votre framboise, et si oui, vous devez déplacer tous les fichiers à ce chemin et remplacer dans les scripts “/var/www” par “/var/www/html” depuis maintenant
    C'est le chemin par défaut du serveur web.

    Il est également possible que vous n'avez pas supprimé de l'index par défaut, “index.html” ou vous manque pour le changer par “index.php”.

    J'espère être utile, A bientôt.

  19. Bonjour Antonio,
    Je me demandais si un serveur web peut être monté pour adapter un système domotique et essayez le twitter api pour allumer les lumières etc.… (J'ai vu qu'il est possible également de python avec certaines bibliothèques et facile à suivre des tutoriels… mais vous pourriez faire comme je l'ai dit et avec php? c'est-à-dire, la framboise est le serveur web avec twitter et ports gpio enflammer les leds
    Merci d'avance.

    • Bonjour nano,

      Depuis le web en php peut exécuter toute commande dans la commande de l'interpréteur BASH, Cela inclut des scripts en Python.

      Vous pouvez utiliser la bibliothèque ou l'API Twitter afin que lorsque vous allez envoyer un tweet citant de nom d'utilisateur du compte bot, éteindre ou allumer la lumière ou l'appareil associé à ce message en particulier.

      Je vois un problème, et c'est que n'importe qui pouvait tourner sur vous et vous mettez des lumières et les appareils ménagers; à moins qu'il peut limiter selon l'utilisateur qui a envoyé le tweet.

      Il serait intéressant si vous êtes de commenter ce que vous trouvez à cet égard.

      Merci de commenter, A bientôt.

  20. Bonne après-midi,
    J'ai suivi le tutoriel, Copiez le code du web, Enregistrez-le comme .php, dans le dossier qui m'a créé le serveur var , parce que si je mets le index.php hors du dossier html ne me trouvez pas le fichier, mais bon, Il semble que tout est OK. Je teste seulement avec le GPIO 17, Ensuite, j'ai créé deux .py, pour activer et désactiver, J'ai les trouve dans le même dossier que le fichier index.php. J'ouvre le navigateur, entrées dans l'index, mais ne me donnera pas la led. Si j'ai ssh accès Archives s'enflamme et exécutez-le via la console si cela fonctionne. ne pas être où j'être avoir omis. Bien sûr, changer le chemin d'accès aux scripts PHP, Puisqu'il est différent de votre tutorat.
    J'espère que vous pouvez me prêter un coup de main, Je suis pris.
    Un message d'accueil.

    Merci beaucoup.

    • Salut Charlie,

      Depuis quelques versions, Raspbian a mis à jour Apache et pages web sont servis du var à la place de/var/www

      Il y a une nouvelle version du site Web dans lequel vous pouvez faire sans utiliser de fichiers supplémentaires, Vous pouvez également collaborer à son développement par le biais de github si vous le souhaitez:

      http://www.peatonet.com/raspberry-pi-implementando-un-sistema-domotico-asequible-parte-iii/

      En tout cas, si vous souhaitez utiliser cette version du panneau de contrôle que vous pouvez essayer d'ajouter l'utilisateur www-data group gpio, Il semble que c'est le problème puisque cela fonctionne ssh.

  21. Bonjour peatonet, Je suis en train de faire une invention pour activer un module de 4 Relais du Web pour allumer ou éteindre les lumières d'un local que j'ai, le problème est que lors de l'essai, LED avec redistencia commence et s'arrête à volonté sur le web, mais lorsque je me connecte le pin40 (qui est qui je l'ai configuré) enlever la résistance et conduit, s'éteint le voyant rouge du module relais et pas allumé ou éteint je dois tester l'ampoule.

    S'il vous plaît m'aider parce que n'est plus si c'est faux le module de relais (Damn aliexchinapress) mais aucun de la 2 modules que j'ai fonctionne ou est-ce le raspberrypi pas envoyé suffisamment de tension pour le relais (comme les SCR, je vous ai depuis la broche 3)

    Désolé pour la diatribe et Merci d'avance

    Amis de salutations

    • Salut, autorespondo moi j'ai amis, le problème, si elle avait que dans les pin20 (dans mon cas) a dû mettre une résistance, Je l'ai mis 330 mise à la terre.
      Je suppose que c'est parce que lorsque vous passez a conduit à la résistance de suppression de relais

      Merci pour tout ?

      • Bonjour Jésus, Un grand Merci à vous pour nous faire partager la solution.

        Désolé si je ne pouvais pas répondre avant, mais j'ai attraper avec fièvre, dans la dernière semaine de préparation d'examens, et votre travail (le Freelance n'a pas l'autorisation de tomber malade).

        En ce qui concerne le code pin que vous avez connecté la SCR, dans mon cas, je me connecte à la broche 2 ou à la 4 ne pas déjà nécessitant une alimentation de 5V.

        Si vous voulez vous pouvez donner plus de détails sur votre preuve de concept, vous utilisez ensuite LED au lieu de sorties C.A. 220V?

        Merci pour votre commentaire.

  22. Salut, Je fais un projet pour l’école et je me demandais si il y a la façon que vous pouvez émuler ce système à partir d’une application android, c'est-à-dire, Comment gérer les broches de la framboise de cette façon, qu'il semble 100 fois plus faciles que dans une application android, Je me demande si création d’une application pourrait en quelque sorte me diriger à ce type de système automatique pour éviter d’avoir à apprendre à partir de zéro pour programmer une telle chose dans android. Malheureusement je suis obligé de réaliser le projet comme une application mobile, pas de formulaire web.
    J’espère que votre réponse

  23. Bonjour et Merci pour tout, Je répète ma question, Quelle est la différence pour eux de travailler dans la framboise pi 3, à l’avance,

    Merci

    • Bonjour Ignacio, Merci de commenter.

      Ce tutoriel est développé sur une facture pro forma de framboise 3 donc ça devrait marcher sans complications.

      Si encore vous ne pouvez pas le faire fonctionner, Vous pouvez partager des erreurs ou des problèmes, que vous avez trouvé.

  24. Bonjour collègues, besoin de votre aide parce que je suis plongé dans un projet entre 3 spécialités, électrique, électronique et informatique, J’ai domino la part de l’électricité, mais je ne suis pas spécialiste dans les deux autres. Les a expliqué, J’ai besoin de connecter un analyseur de réseau M2DL2 à un pi framboise afin d’enregistrer les données de consommation de courant et de transmettre à la framboise et l’enregistrera et affichées dans un tableau de données qui est à son tour. Je sais que le signal qui rend le scanner est RS485 et RS232 qui devrait entrer la framboise, c’est ce que j’ai besoin d’un convertisseur d’un signal à un autre, Ce que ne je sais est à l’instar de l’interconnexion entre l’analyseur, le convertisseur et la framboise. Vous savez quelque chose à ce sujet ou peut me guider où trouver des informations?
    Sinceres salutations.
    Ramon.

  25. Bonjour comme tu es?
    Si je tiens à vérifier le statut d’un gpio, par le biais de php, Alors dis-moi si ce / HORS depuis que je suis distant. Comme vous devriez le faire?

    Il y a peut-être quelque sorte que le programme renvoie la valeur qui est la gpio.

    Mais le lièvre dans une base de données en entrant 1 o 0 en appuyant sur les boutons, mais ce que je vois moyen rustique

    • Hola Juani, Merci de commenter.

      Sous-système GPIO est enfin, à part le sys/du système de fichiers GNU/Linux, et effectivement managé en modifiant les valeurs de chaque les fichiers mappés en port GPIO.

      Vous pouvez vérifier si un GPIO est actif ou inactif, lire le fichier contenant votre valeur, un exemple en PHP pour le GPIO 18:

      $estado_gpio18 = file_get_contents(“/sys/class/gpio/gpio18/valeur”);

      Si la valeur est “1” le GPIO est actif, en revanche, si la valeur est “0” est inactif.

      A bientôt.

  26. Salut, tout d’abord vous remercier pour les tracas de partager vos connaissances avec lesquels nous avons des préoccupations similaires.

    Je voudrais faire une requête (J’espère que ce n’est pas très stupide), Il y a mois que j’ai été ressassant la question de la création des interfaces web pour le raspi. Votre commentaire la rubrique donner l’autorisation à www-data, mais que, Il serait bien qu’un commentaire pour l’accès de l’environnement local ou pour les tests. Serait-ce des solutions est recommandé pour des environnements plus sûrs?

    Un salut et Merci encore

    • Bonjour Gon, Je vous remercie pour votre commentaire; J’ai seulement essayer de documenter comme j’apprends chaque jour sur ce monde fascinant, formulaire en ligne afin que nous puissions apprendre ensemble.

      Je tiens à rappeler à tous les lecteurs que bien qu’il soit fonctionnel, ce panneau n’est pas du tout parfait, est un exemple vraiment basique de ce que peut faire et combien plus apprennent plus a me donner d’elle beaucoup de pourrait améliorer; Cette année j’essaie d’améliorer mes compétences en tant que programmeur depuis toujours me passé plus pour ces systèmes et il sécurité, et il n’a pas quelques notions sur les structures de code, méthodologies de conception ou d’algorithmes; espoir en bref prendre du temps pour améliorer le panneau web et partager une prochaine version dont déjà pas j’ai averguence les deux.

      En principe, depuis la version 3 le Web ne suffit pas d’ajouter l’utilisateur www-data au groupe GPIO pour gérer l’état des broches en évitant de donner des autorisations sudoer; Cela peut être fait à l’aide de la commande suivante:

      sudo usermod - a - G gpio www-data

      En tout cas, je pense que votre question est davantage axée sur la restriction de l’accès au panneau au moyen de l’authentification, et cela peut être fait avec le module mod_auth pour Apache2; Il est également conseillé d’utiliser un certificat auto-signé mod_ssl.

      Si vous souhaitez accéder à partir de l’extérieur toujours, vous pouvez ajouter une couche de sécurité en configurant un VPN, auquel vous pouvez protéger l’accès avec certificats x 509, utilisateur et mot de passe, et systèmes de prévention tels que fail2ban parmi d’autres.

      J’espère qu'avoir clarifié un peu vos doutes, Je vous remercie de votre intérêt pour l’article.

      • Bonjour Antonio! En premier lieu Merci beaucoup pour la réponse et si vite.

        A mi me va un peu en arrière, Je suis développeur web essayant d’imprégner le monde des systèmes et sécurité. C’est avec plaisir que les gens là sont comme vous qui investissent leur temps de documenter leurs projets afin que d’autres peuvent apprendre un peu plus chaque jour.

        Vous dire que j’ai beaucoup aidé. J’ai un petit projet relié à la raspi, et a pris des mois vous donnant tour à tour de l’interface et sans me décider que faire ( Si php, Si cylon.js, services déjà créés type mydevice et similaires…) et toujours, j’ai couru avec les mêmes doutes: autorisations, Sécurité, …etc.. Votre article (Je crois que beaucoup lire) est des rares à aller un peu plus loin en perforant le câble GPIO, C’est pourquoi vous demandant.

        Je vous remercie encore une fois, vous avez clarifié beaucoup de doutes.

        Je vais tester et mise en œuvre que vous avez du temps libre, et si vous êtes intéressé à vous a commenté les résultats.

        Un message d'accueil

  27. Bonjour que les applications peuvent être utilisées dans les automobiles
    Il est possible que les travaux milrrolling
    Quelqu'un pour monter un projet sur ce sujet
    Saúde

Laisser une réponse