Raspberry PI e GPIO pins: Controllare il LED da un'interfaccia web

Negli ultimi post di questa serie, Abbiamo visto Essi sono i pin GPIO e servire, e Come controllare il potere del LED dal terminale; prima di iniziare Abbiamo installato le librerie GPIO per Python, E la circuito elettronico montato e lavoro.
Applicazione Web in HTML + PHP + Python per gestire alcuni LED attraverso il GPIO.

In questa occasione si installerà il server web Apache, e imparare a scrivere il codice in HTML e PHP per controllare lo stesso LED, o più, da un'interfaccia web.

gpioprogramar0pngLa prima cosa che dobbiamo fare è installare il web server LAMP, quindi digitare i seguenti comandi nel terminale:

#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

Aggiungeremo ora come sudoer per l'utente www-data, Questo non è l'opzione più sicura, ma ricordate che stiamo facendo un test in un ambiente controllato; per un ambiente in produzione dovremmo cercare un altro modo per eseguire gli script in python come sudoer.

Per modificare queste autorizzazioni, ha scritto sudo visudo nel terminale e alla fine del file Aggiungi su www-data come sudoer, Deve essere così.

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

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

Per ogni pin GPIO Abbiamo bisogno di creare una sottodirectory e tre script in Python; uno per accendere, un altro per spegnere, e un finale del copione per aver reso il nostro LED lampeggiante, Ecco un esempio con il PIN 4.

#!usr/bin/env/ python
## enciende.py
#Importamos la libreria y le cambiamos el nombre a GPIO
importazione RPi.GPIO come GPIO
#Stabiliamo il sistema di numerazione che vogliamo, 
#in questo caso il sistema BCM
GPIO.setmode(GPIO. BCM)
#Configurare il pin GPIO 4 come uscita
GPIO.setup(4, GPIO. FUORI)
#Si accende il led
GPIO.output(4, GPIO. ALTA)
#!usr/bin/env/ python
## apaga.py
#Importiamo la libreria e cambiare il suo nome a GPIO
importazione RPi.GPIO come GPIO
#Stabiliamo il sistema di numerazione che vogliamo, 
#in questo caso il sistema BCM
GPIO.setmode(GPIO. BCM)
#Configurare il pin GPIO 4 come uscita
GPIO.setup(4, GPIO. FUORI)
#Disattivare il led
GPIO.output(4, GPIO. BASSO)
#E liberiamo il GPIO
GPIO.cleanup()
#!usr/bin/env/ python
## parpadea.py
#Importiamo la libreria e cambiare il suo nome a GPIO
importazione RPi.GPIO come GPIO

#Necessario per i ritardi
momento dell'importazione

#Stabiliamo il sistema di numerazione che vogliamo, 
#in questo caso il sistema BCM
GPIO.setmode(GPIO. BCM)

#Configurare il pin GPIO 4 come uscita
GPIO.setup(4, GPIO. FUORI)

#Accendere e spegnere il led 5 volte
per i in gamma(0,5):

        GPIO.output(4, GPIO. ALTA)
        Time.Sleep(1)(1)
        GPIO.output(4, GPIO. BASSO)
        Time.Sleep(1)(1)

#E liberiamo il GPIO
GPIO.cleanup()

Ora è il momento di creare la nostra home page in HTML e PHP, contiene i pulsanti che si premerà per eseguire gli script Python da un'interfaccia web, più avanti vedremo come la gerarchia 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

?>

Ho raggruppato e tutto sulla stessa pagina come se la creazione di una pagina in PHP per ogni opzione, per eseguirlo, mi è stato inviato alla pagina script (una pagina vuota); Ora eseguire il codice e rimane sulla stessa pagina.

Finalmente Dobbiamo realizzare la seguente gerarchia all'interno di sottodirectory del server web /var/www.

Screenshot di 2014-10-05 00:06:52Se si desidera è possibile seguire su Twitter, Facebook, Google +, LinkedIn, o condividerlo con i pulsanti sotto questa pubblicazione, Se avete domande o suggerimenti, non esitate a commentare.

Aiutaci a raggiungere più lettori Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

74 Thoughts on"Raspberry PI e GPIO pins: Controllare il LED da un'interfaccia web

  1. Buona, Dopo guardando domotica di soluzioni Internet, Ho deciso di sistema, sembra ben esposto.
    Anche così e perché la mia esperienza zero in morbido. dubita di me, Vorrei che si potrebbe risolvere loro, Ho fatto molti test e niente, Non capisco….:)
    eseguire tutti i passaggi che spiegano e gestire il gpio da terminale con putty, ma dal momento che il web non è possibile attivare lo script python.
    Ho bisogno di fare una pagina su /val/www con html (index. html) Servitela così ho apache. Inserendo il tuo sito web qui, se mi lasciano i pulsanti, ma non viene eseguito lo script php. Nella pagina index. php, non essere messo dentro.
    Ci scusiamo per l'inconveniente e vi ringraziamo.

      • Grazie per aver risposto così in fretta, Sì ho fatto passo per assegnare autorizzazioni nel file che hai messo, Sono confuso con la pagina index. php, Appendete la directory GPiO, visualizzare solo i pulsanti sul web se ho messo in /val/www….in html!…index. html, ma non viene eseguito lo script PHP. Che dovrebbe mettere l'index. php che appendono directory GPIO?

        • Se si guarda da vicino, index. php /var/www/leds 🙂 si blocca se ancora non funziona, commentare questo articolo e guardare.

          Se /var/www/ www/index.php cuelgas vedrà in questa direzione, ma non funziona nulla:

          http://ipdelapi

          Se il blocco di /var/www/leds/will funziona correttamente, ma poiché questa rotta:

          http://ipdelapi/leds

          Spero che questo risolve i tuoi dubbi e che è possibile spostare in questo mondo così eccitante.

          • Buona, Ho lo stesso problema come il tizio qui sopra.

            Il mio index. php pende dal /var/www/html/index.html
            , Se ottengo il mio indice html da lì non mostrato, ma non ho alcun problema ad avere questa ci, Il mio problema arriva quando impulsi pulsante ed eseguire non me la bisaccia.

            PD: Gli ho dato tutto e permessi

            Grazie per la risposta.
            Un saluto

            RANMA.

  2. Buona, il vostro lavoro è mi serve molto, Tu sei una macchina!
    Sto cercando di rendere il sistema di automazione per controllo LED multipli dal web, ma ho un problema che non è possibile alleviare.
    Il tema è che ho attivato il GPIO ho bisogno, Ho attivarli e disattivare dal terminal, Collegare un altro PC collegato alla stessa rete a 192.168.X.X/leds/ e il sito sembra buono, il menu per il controllo della casa sembra perfetto, ma i LED non rispondono, Ho provato di attivo e passivo, qualcosa che sto facendo sbagliato…
    L'unica cosa che posso dire è che si visualizzando il codice sorgente della pagina e Mostra solo il codice html, php non viene visualizzato, non essere se dovrebbe o non.
    Penso che potrebbe essere qualcosa di PHP, ma io non sono molto convinto, perché ho provato un test PHP e lo fa bene, Io sono disperato lol

    • Ciao Giovanni,

      Me alegro tanto che può essere di utilità 🙂 miei articoli sono sempre benvenuti i commenti positivi.

      Tutto il codice PHP nel browser viene visualizzato come HTML, Poiché la funzione PHP è al momento e in modo dinamico, creare pagine web che sono serviti nel browser.

      Esecuzione di script Python direttamente se i LED sono accesi? la cosa giusta sarebbe inizio test da qui e andare avanti.

  3. Grazie per la risposta rapidamente!
    Infine formattare di nuovo il lampone, Ho seguito tutti i passaggi di nuovo e tutto funziona a meraviglia, non essere che potrebbe non riuscire.
    Comunque grazie per l'attenzione.
    Un saluto

    • Grazie per condividere i tuoi dubbi, Sono contento che ha finalmente ha organizzato.

      Si hanno cambiato qualcosa nel vostro lampone, nonché il formato, come per esempio il trasformatore microUSB?

      • Sì, Quando l'ho comprato ho messo un lavandino al micro per velocità che lui fino e così funzionerà più velocemente, ma non è molto evidente cambiamento.
        Che era l'unica cosa che cambia è la raspa.

        • Ciao Giovanni, Sono contento di leggere di nuovo qui.

          In linea di principio non ha che influenzano l'Overclock in questo aspetto, ma potrebbe essere stato qualsiasi configurazione; Ora che stai lavorando con una pulizia Raspbian torna a dare problemi dopo essere stato in produzione, Ora, se che consiglierei di trovare la radice del problema.

          Cambiare in Overclock si noterà che nel secondo Compiti specifici che hanno bisogno di molta potenza di calcolo, ma alcuni fattori come la porta Ethernet continuerà secondo collo di bottiglia che utilizza.

          Potete vedere la recensione che ho fatto dei modelli Raspberry PI B, B + e B2 nel seguente link, con test completo delle prestazioni:

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

          Spero che vi sarà utile, Arrivederci a presto 🙂

  4. Ciao, Ho una piccola domanda/problema. Vorrei collegare un buzzer invece di un led, ma voglio provare prima con un led da imparare. È necessario fare un index. html e altri. php?
    Ho il led collegato al gpio4, e io ho uno script di on.py e altri off.py all'interno della cartella 4. Console di lavoro perfettamente.
    e non riesco a mettere l'index. html perché non permette di me, ma solo per funzionalità del led 4.

    Spero che tu mi possa aiutare, Ho visitato il tuo profilo di facebook e spero che un giorno entrambi Raspberry Pi come sapete. Un saluto e grazie.

  5. Un sito web in PHP può contenere HTML di cui solo bisogno di un index. php

    Se metti i comandi PHP per eseguire gli script in python in un file HTML, non verrà eseguito.

    Ora che il terminale funziona, si potrebbe semplicemente copiare l'index. php di questo tutorial, eliminando altri GPIO e lasciando solo la 4 che è quello che si utilizza; e dovrebbe funzionare.

    Se non è possibile modificare i file in/var/www sicuramente sarà di autorizzazione, in questo tutorial è la soluzione e dovrebbe funzionare, Se esso non commenta e cercherò di darvi una mano.

  6. Ciao, Ho intenzione di adottare per porre un'altra domanda qui, Se voi o qualcuno può portarmi un cavo. Ho questo script e desideri eliminare la cartella con la data una volta riavviata, e quello che mi interessa, so come fare che quando si tratta di un importo di x-dimensioni delle catture, tutti cancellati o si riavvia il RPi. Grazie un saluto.

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

    # Alcune cose che sempre eseguire
    #tocco /var/lock/motionStartup
    Logger - s “Script chiamato motionStartup”

    # Svolgere funzioni specifiche quando viene chiesto di dal sistema
    caso “$1” in
    Inizio)
    Logger - s “Script motionStartup iniziato”
    TIMESTAMP = $(Date + %m %d %h %m %s e % | Di SED / / / g') # Senza spazi
    Logger - s “MotionStartup script $TIMESTAMP”
    sudo mkdir/motiontmp / $TIMESTAMP || Logger - s “Mkdir avviare errore”
    trovare/motiontmp/movimento /. -tipo f - dimensioni 0 -print0 - Elimina
    trovare/motiontmp/movimento /. -MaxDepth 1 -tipo f | \
    XARGS - I '{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    fermata)
    Logger - s “Script motionStartup arrestato”
    ;;
    *)
    Eco “Utilizzo: /etc/init.d/motionStartup {Inizio|fermata}”
    uscita 1
    ;;
    ESAC

    uscita 0

  7. Se si aggiunge questa riga all'inizio dello script, ogni volta che si esegue lo script prima di fare qualsiasi cancellerà tutte le cartelle all'interno/motiontmp /

    sudo rm - rf/motiontmp / *

    Per quanto riguarda i file di eliminazione quando si raggiunge una certa dimensione, si potrebbe provare concatenando il comando df - h che mostra un utilizzo del disco directory, o una partizione:

    df - h /motiontmp

    Con un altro comando come wc o sed in modo che solo legge la frase fa riferimento alla MB o GB usato, Infine con se è possibile programmare la parte che, se il risultato è maggiore di N, eseguire il comando descritto in precedenza rm.

    • Elimina cartelle perfetto, ma poi…
      Ci dispiace ma io sono un po' nuovo e mi sono perso, come sarebbe per esempio per quando raggiunge il movimento/motiontmp/directory / 5 Gigas? Grazie saluti.

  8. Ci scusiamo per così molti post seguita ma come mi sto trovando aggiornamento. Qualcosa di simile potrebbe funzionare?

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

    dimensioni = du - sh /motiontmp

    leggere “dimensioni”

    Se [ “$dimensioni” > “2048000K” ]; quindi

    sudo rm - rf/motiontmp / *

    altro

    Logger - s “Script chiamato motionStartup”

    # Svolgere funzioni specifiche quando viene chiesto di dal sistema
    caso “$1” in
    Inizio)
    Logger - s “Script motionStartup iniziato”
    TIMESTAMP = $(Date + %m %d %h %m %s e % | Di SED / / / g') # Senza spazi
    Logger - s “MotionStartup script $TIMESTAMP”
    sudo mkdir/motiontmp / $TIMESTAMP || Logger - s “Mkdir avviare errore”
    trovare/motiontmp/movimento /. -tipo f - dimensioni 0 -print0 - Elimina
    trovare/motiontmp/movimento /. -MaxDepth 1 -tipo f | \
    XARGS - I '{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    fermata)
    Logger - s “Script motionStartup arrestato”
    ;;
    *)
    Eco “Utilizzo: /etc/init.d/motionStartup {Inizio|fermata}”
    uscita 1
    ;;
    ESAC

    uscita 0

    Fi

  9. Ciao che un amico, Siamo spiacenti, seguire il tuo esempio e il led è acceso, non c'è nessun problema, ma quando si fa clic sul pulsante Disattiva, il led lampeggia, controllare i codici e tutto ciò che è già corretto :/ avete qualche idea che potrebbe fare male?

    • Ciao Fco, Grazie per il tuo commento.

      Sul web, Ci sono tre pulsanti:

      Accendere, Spegni, e lampeggiante.

      Se è possibile, Incolla qui il codice che hai assegnato al pulsante spegnere, così il commento è possibile quel pulsante Disattiva l'esecuzione dello script che deve essere associato il tasto lampeggiante.

      A presto.

  10. Ciao di nuovo a tutti, un altro dubbio più aggiungere lol.

    Prima ho messo in background, È di attivare un segnale acustico (cicalino) Dovrebbe essere un ciclo che mettere il pin per 1 e un 0 costantemente, non come un led che, mentre 1 Esso ancora.
    Il problema è come fermare questo ciclo per utilizzarlo in un web php, Perché console aggiungendo alla fine della chiamata script un & Esso viene eseguito in background e lasciare che il console gratis chiamare lo script che si conclude, esempio:

    sudo python sonar.py &

    Queste sono due script, che rende il suono e assicurandosi che si smette di squillare:

    momento dell'importazione
    importazione RPi.GPIO come gpio

    GPIO.SetWarnings(False)
    GPI.setMode(GPIO. PENSIONE)
    GPIO.Setup(7,GPIO. FUORI)

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

    e dello spegnimento:

    momento dell'importazione
    importazione RPi.GPIO come gpio

    GPIO.SetWarnings(False)
    GPI.setMode(GPIO. PENSIONE)
    GPIO.Setup(7,GPIO. FUORI)

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

    ma semplicemente di perturbare la prima lavorato. Grazie un saluto.

  11. È possibile concatenare diversi comandi, per quello basato sul nome del tuo script, il terminale Guarda il PID e successivamente uccidere sua esecuzione con Kill.

    Una volta trovato il comando, modificare la funzione destinata a chiudere con Ctrl + C, da uno invece, ronzio N volte Matt automaticamente con questo comando.

  12. Se con Ctrl + C chiude in console, ma cerco di attuarlo tramite PHP come il tuo post LED, quindi dovrà essere un altro modo di dire.

  13. Ciao.
    Grazie per il tutorial.

    Ho un problema, non eseguire lo script, Se li si esegue dalla console, ma dato che la pagina non, Non so che può essere. Ho fatto quello che voi commento di
    “Scriviamo sudo visudo al terminal e alla fine del file aggiungere su www-data come sudoer, Deve essere così.”

    Ma niente. Cos'altro posso guardare?

    Migliori saluti.

  14. Ciao, Buongiorno,
    A nulla, Grazie.

    Permette una domanda, tutto funziona perfettamente, ora, Mi piacerebbe essere in grado di aggiungere una schermata che indica quando il LED è acceso o spento, Ho trovato alcuni articoli anche con immagini che mostrano il colore a seconda se cambiando lampade funzionino o non, cercare di capire il funzionamento ma non riesce a farlo funzionare, Arrivare a web con comandi ma niente è attivato, Spero di non perdere tempo con questo e un altro sguardo, Grazie per la vostra gentilezza incredibile.

    Ignacio da Belgio

    • Ciao Ignacio, La ringrazio molto per il tuo commento.

      Credo che si sta utilizzando Javascript per fare questo, integrando le funzioni PHP che attivare lo script Python per, gestire i potere-apparecchi.

      JavaScript non domino, Da allora io non sono uno sviluppatore web, ma forse è possibile orientarsi un po' meglio, o qualche altro lettore può aiutarti a ottenere quello che vuoi; ma per farlo avrebbe bisogno di vedere il codice, o il tutorial che hai seguito per cercare di individuare dove si trova il bug.

      A presto, e ci sono un sacco di incoraggiamento!

  15. Ciao a tutti molte grazie, Ho imparato molto.
    Ho seguito tutti i passaggi esposti, Posso accendere i LED dal locale terminal, caricare la patch di php come da istruzioni ullu, concedere autorizzazioni anche un 775—-ecc. Caricare la pagina con i tasti dopo condotto/gpio ma niente. Sto usando lampone pi 2…..sarà qualcosa con questa scheda?. Apprezzo la vostra collaborazione.

    • Ciao Rafael, Grazie per il commento.

      È possibile che la soluzione è nei commenti dei tutorial precedenti di questa serie dedicata alla domotica accessibile basato su Raspberry PI.

      I passi da seguire sono compatibili con tutte le versioni di IP, Mi viene in mente che è Impossibile modificare l'esecuzione dello script in python sul sito Web con il seguente comando che crea un file nella home directory del vostro lampone:

      sudo touch /home/pi/funciona

      Se tutto funziona bene, Questo file deve essere creato.

      • Grazie per la risposta rapida. Ho fatto i cambiamenti, come ha detto a me, in index. html rimuovendo la parte di python e immissione in cambio: sudo touch /home/pi/funciona , ma purtroppo il file non viene creato nel mio lampone. Penso che è un ottimo banco di prova e il risultato credo che concentra il problema nell'area del web. Cercherò di saperne di più in altri tutorial. Grazie per il vostro aiuto. Tieniti in contatto.

        • Ciao Rafael, allora si potrebbe fare lo stesso test modificando leggermente il percorso del file per verificare se il problema si trova con le autorizzazioni della directory/var/www.

          sudo touch /var/www/funciona

  16. Ciao, Potrei dire un modo per mettere un tag con LED di stato dall'interfaccia web PHP
    tale modifica automaticamente per dare cliccando detto pulsante neanche per accendere, Spegni, lampeggiante… hanno un'etichetta che indica lo stato. Grazie per il vostro contributo spero tu mi possa aiutare..

    • Ciao Chaka, La ringrazio molto per il tuo commento.

      Penso che si potrebbe fare con PHP e JavaScript se volete dare un altro effetto visivo, o apportare modifiche al pulsante.

      Se si desidera aggiungere una didascalia di testo secondo la pressione del pulsante, Si devono solo estendere le funzioni associate a ciascun ingresso; Allego un elenco delle funzioni disponibili in PHP:

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

    • Ciao Jameson,

      Non capisco bene la domanda, ma per trovare l'IP di un dispositivo è possibile utilizzare NMAP.

      Hai anche strumenti con interfaccia grafica come ZenMap basati su NMAP e Fing per dispositivi Android.

    • Ciao Jameson,

      L'IP che devi digitare nel browser è infatti quella di Raspberry PI, poiché questo è che agisce come un server web, anche se il tuo file php non elencato come index. php sarà necessario aggiungere il nome del tuo file separato da uno dopo il pi “/”.

      Nel mio caso l'IP è nella gamma 10.42.0.0 Dal momento che è un IP del tipo NAT fornito da un'interfaccia di rete virtuale.

  17. Per favore ho bisogno di aiuto. Il problema è che ho tutto come tale che spiegarlo a voi, ma non funzionano negli script PHP.

    Grazie mille

    • Ciao Sergio,

      Credo che ti riferisci agli script in Python, gli altri avevano lo stesso problema e ci sono diverse soluzioni nei commenti precedenti; Se dopo i test li persiste il fallimento se si mettono più dati forse altri lettori o io potrei aiutarti.

      A presto.

    • Ciao Roberto, Benvenuto.

      Io non sono un esperto in php, e in quei momenti che visto un tutorial eseguire ordini nell'interprete bash da php e l'ho trovato così.

      Sarebbe più opportuno utilizzare per = exec anziché?- Exec?

      La ringrazio molto per il tuo commento, A presto.

  18. Se non si lavorano sul web ma se gli script, Presto farò un articolo così si può risolvere il problema; Grazie alle informazioni ho raccolto vari utenti che non ha funzionato.

    Se scappi ti sbrighi per risolvere il problema, È possibile verificare se la directory var esiste nella tua raspberry, e in questo caso è necessario spostare tutti i file in tale percorso e sostituire negli script “/var/www” da “/var/www/html” da questo momento
    Questo è il percorso del server web predefinito.

    È anche possibile che non hai eliminato l'indice per impostazione predefinita, “index. html” o mi manchi per cambiarlo da “index. php”.

    Spero di essere di aiuto, A presto.

  19. Ciao Antonio,
    Mi chiedevo se un server web può essere montato a montare un sistema di automazione domestica e provare il twitter api per accendere luci ecc… (Ho visto che può essere fatto anche da python con alcune librerie e facile da seguire tutorial… ma si potrebbe fare come ho detto e con php? vale a dire, il lampone è il server web con twitter e porte gpio accendono LED
    Grazie in anticipo.

    • Ciao nano,

      Dal web in php è possibile eseguire qualsiasi comando nel comando interprete BASH, che include gli script in Python.

      È possibile utilizzare la libreria o le API di Twitter in modo che quando si invia un tweet citando del nome utente dell'account bot, spegnere o accendere la luce o apparecchio associato al messaggio in particolare.

      Io vedo un problema, ed è che chiunque poteva girare su di voi e accendere luci ed elettrodomestici; a meno che si può limitare a seconda dell'utente che ha inviato il tweet.

      Sarebbe interessante se stai commentando ciò che si trova a questo proposito.

      Grazie per il commento, A presto.

  20. Buon pomeriggio,
    Ho seguito il tutorial, Copiare il codice del web, salvarlo come. php, nella cartella che mi ha creato il server var , perché se ho messo l'index. php dalla cartella html non mi trovi il file, ma buona, Sembra che tutto sia OK. Sto solo testando con il GPIO 17, Poi ho creato due. py, per accendere e spegnere, Li ho situato nella stessa cartella come il file index. php. Ho aperto il browser, inserito nell'indice, ma non mi funziona il led. Se ho ssh accesso archivio si infiamma ed eseguirlo tramite console se funziona. non essere dove essere fallendo. Naturalmente cambiare il percorso per gli script php, Dal momento che è diverso dal tuo tutoraggio.
    Spero che mi potete dare una mano, Sono catturati.
    Un saluto.

    Grazie mille.

  21. Ciao peatonet, Sto cercando di fare un'invenzione per attivare un modulo di 4 relè da web per accendere o spegnere le luci di un locale che ho, il problema è che nel test, LED con redistencia inizia e si ferma a volontà dal web, ma quando collego il pin40 (quale è quale ho configurato) rimuovendo la resistenza e ha portato, si spegne la luce rossa del modulo relè e non acceso o spento devo testare la lampadina.

    Please help me perché non è più se questo è sbagliato il modulo relè (maledetto aliexchinapress) ma in nessuno della 2 moduli che ho funziona o è che la raspberrypi non inviato abbastanza tensione al relè (come VCC ho ti dal pin3)

    Ci scusiamo per la filippica e grazie in anticipo

    Saluti amici

    • Ciao, autorespondo me io gli amici, il problema fosse che nel pin20 (nel mio caso) dovuto mettere una resistenza, Ho messo in 330 la messa a terra.
      Suppongo che è perché quando si passa condotto alla resistenza Rimuovi relè

      Grazie di tutto ?

      • Ciao Gesù, Molte grazie a voi per condividere la soluzione con noi.

        Scusate se non ho potuto rispondere prima ma mi cattura con febbre, nell'ultima settimana di corsi di preparazione esami, e il lavoro (il Freelance non dispone dell'autorizzazione per ottenere ammalato).

        Per quanto riguarda il pin che hai collegato il VCC, nel mio caso collegare al pin 2 o per la 4 in mancanza di alimentazione elettrica 5V già che richiedono.

        Se si desidera si possono dare più dettagli della prova di concetto, quindi si utilizza LED invece prese 220V AC?

        Grazie per il tuo commento.

  22. Ciao, Io sto facendo un progetto per la scuola e mi chiedevo se c'è il modo che è possibile emulare questo sistema da un'applicazione android, vale a dire, Come gestire i perni del lampone in questo modo che sembra 100 volte più facile rispetto a un'applicazione android, Mi chiedo se creazione di un'applicazione potrebbe in qualche modo dirigere me a questo tipo di sistema automatico per evitare di dover imparare da zero per programmare una cosa del genere in android. Purtroppo sono costretto a consegnare il progetto come un'applicazione mobile, non di web form.
    Spero che la tua risposta

  23. Ciao e grazie di tutto, Ripeto la mia domanda, Qual è la differenza per loro lavorare in lampone pi 3, in anticipo,

    Grazie

    • Ciao Ignacio, Grazie per il commento.

      Questo tutorial è sviluppato su un Raspberry PI 3 così dovrebbe funzionare senza complicazioni.

      Se ancora si può non farlo funzionare, È possibile condividere tali errori o problemi che avete trovato.

  24. Ciao colleghi, Bisogno del vostro aiuto perché sono immersi in un progetto tra 3 specialità, elettrico, elettronica e computer, Io domino la parte di energia elettrica, ma non sono specialista nei due rimanenti. Les ha spiegato, è necessario collegare uno scanner di rete M2DL2 a un Raspberry pi con l'obiettivo di registro dati del consumo di corrente e di trasmetterli al lampone e che questo per il vostro tempo del registro e visualizzati in una tabella di dati. So che il segnale che rende lo scanner è RS485 e RS232 che dovrebbe entrare il lampone è quello che ho bisogno di un convertitore di un segnale a un altro, Quello che non so è come fare l'interconnessione tra l'analizzatore, il convertitore e il lampone. Si sa niente di questo o mi può guidare dove trovare informazioni?
    Migliori saluti.
    Ramon.

  25. Ciao come sei?
    Se mi piacerebbe verificare lo stato di un gpio, tramite php, Allora dimmi se presente sulle / FUORI poiché sono remoto. Come dovrebbe essere?

    Forse c'è qualche modo di che la raspa restituiscono il valore che questo gpio.

    Ma la lepre in un db inserendo 1 o 0 alla stampa quei pulsanti, ma vedere che esso rustico medio

    • Hola Juani, Grazie per il commento.

      Sottosistema di GPIO è finalmente e all'interno parte di the/sys di GNU/Linux file system, e in realtà gestita modificando i valori di ogni file mappati in porta GPIO.

      È possibile controllare se un GPIO è attiva o inattiva la lettura del file che contiene il valore, un esempio in PHP per il GPIO 18:

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

      Se il valore è “1” è attivo il GPIO, il contrario se il valore è “0” è inattivo.

      A presto.

  26. Ciao, Innanzitutto vi ringrazio per il fastidio di condividere le tue conoscenze con cui abbiamo preoccupazioni simili.

    Mi piacerebbe fare una query (Spero che non sia molto stupido), mesi fa che ho stato a rimuginando il problema della creazione di interfacce web per i raspi. Il tuo commento l'argomento dare autorizzazioni su www-data, ma che, Sarebbe bello come un commento per l'accesso da ambienti locali o per il test. Vorrei che consiglia di soluzioni per ambienti più sicuri?

    Un saluto e grazie ancora

    • Ciao Gon, Grazie per il tuo commento; Cerco solo di documentare come sto imparando ogni giorno su questo mondo affascinante, modulo online in modo che possiamo imparare insieme.

      Vorrei ricordare a tutti i lettori che pur essendo funzionale questo pannello non è affatto perfetto, è un esempio di cosa può fare davvero base e più imparo più che mi rendo conto quanto che potrebbe essere migliorata; Quest'anno sto cercando di migliorare le mie competenze come programmatore dato che ho passato sempre più a sistemi e sicurezza, e non l'ha fatto solo nozioni sulle strutture di codice, metodologie di progettazione o algoritmi; Spero a breve prendere tempo per migliorare il pannello web e condividere una versione successiva di cui già non mi fare così tanto averguence.

      In linea di principio dalla versione 3 il Web è sufficiente aggiungere utente www-data al gruppo GPIO per gestire lo stato dei perni evitando di dare sudoer autorizzazioni; Questo può essere fatto utilizzando il seguente comando:

      sudo usermod - a - G gpio www-data

      Comunque penso che la tua domanda è più incentrata sulla limitazione dell'accesso al pannello per mezzo di autenticazione, e questo può essere fatto con il modulo mod_auth per Apache2; Si consiglia inoltre di utilizzare mod_ssl sia con un certificato autofirmato.

      Se avete intenzione di accesso dall'esterno sempre è possibile aggiungere uno strato di protezione mediante la configurazione di una VPN, a cui è possibile proteggere l'accesso con certificati x. 509, username e password, e sistemi di prevenzione quali fail2ban tra gli altri.

      Spero di che aver chiarito un po' tuoi dubbi, Grazie per il vostro interesse nell'articolo.

      • Ciao Antonio! Prima di tutto grazie per aver risposto così in fretta e.

        Un mi me va un all'indietro, Sono sviluppatore web cercando di assorbire il mondo dei sistemi e sicurezza. È un piacere che le persone ci sono come te che investono il loro tempo che documentano i loro progetti, così gli altri possono imparare un po' di più ogni giorno.

        Dirvi che ho aiutato un sacco. Ho un piccolo progetto collegato ai raspi, e ci sono voluti mesi girando l'interfaccia e senza molto da fare ha deciso di me ( Se php, che se cylon.js, digitare mydevice già creato servizi e simili…) e ho sempre trovato gli stessi dubbi: autorizzazioni, Sicurezza, …ecc. Il tuo articolo (Io credo che leggere molti) è di pochi che andare un po' più come perforare il cavo GPIO, Quindi che ti chiede.

        Grazie ancora, si hanno chiarito molti dubbi.

        Andrò test ed esecuzione secondo hanno tempo libero, e se ti interessa ho citato risultati.

        Un saluto

  27. Ciao che le applicazioni sono utilizzabili in auto
    Potrebbe quel milrrolling di lavoro
    Qualcuno gettare qualsiasi progetto su questo argomento
    Saúde

  28. stimato se desidera farlo con ingresso tipo radio e nessun pulsante di invio, Questo potrebbe essere chiamato da un js ? AJAX? Vorrei che mi consigliate grazie

  29. Buona,
    Ho cercato di fare ciò che si propone e non sono riuscito. Ho seguito tutti i passaggi e niente. Il problema è il file php. Ho creato un file di testo che ho copiato tutto su che mettete in, senza cambiare nulla, che tale, e che ho salvato come php. Io ho situato entro i LED di cartella e non c'è nessun modo che corre. Non so qual è il problema.
    Grazie e saluti

Lasciare una risposta