Agulles de PI gerd i GPIO: Controlar el portat d'una interfície web

En els últims missatges d'aquesta sèrie, Vam veure són els pins GPIO i servir, i Com controlar el poder de leds des de la terminal; abans de començar Hem instal·lat les llibreries GPIO per Python, i la circuit electrònic acoblades i treball.
Aplicació web en HTML + PHP + Python per manejar alguns Leds a través de la GPIO.

En aquesta ocasió anem a instal lar el servidor web Apache, i aprèn a escriure el codi HTML i PHP controlar el mateix LED, o diverses, des d'una interfície web.

gpioprogramar0pngEl primer que hem de fer és instal·lar el servidor de web de llum, Així que escrigui les comandes següents en 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

Ara afegirem com sudoer a l'usuari www-dades, No és una opció més segura, però recordeu que estem fent una prova en un ambient controlat; per a un entorn en producció hem de buscar una altra manera d'executar scripts en python com sudoer.

Per editar aquests permisos, va escriure sudo visudo a la terminal i al final de l'arxiu Afegir al www-dades com sudoer, Ha de ser així.

# 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 cada pin GPIO Hem de crear un subdirectori i tres scripts en Python; a engegar, un altre per girar-se, i un guió final per fer nostre LED intermitent, Heus aquí un exemple amb la PIN 4.

#!usr/bin/env/ python
## enciende.py
#Importamos la libreria y le cambiamos el nombre a GPIO
importació RPi.GPIO com GPIO
#Podem establir el sistema de numeració que volem, 
#en aquest cas el sistema BCM
GPIO.setmode(GPIO. BCM)
#Configurar el pin GPIO 4 com una sortida
GPIO.setup(4, GPIO. TERME)
#Girem en el liderat
GPIO.output(4, GPIO. ALTA)
#!usr/bin/env/ python
## apaga.py
#Ens importa la biblioteca i canviar el seu nom a GPIO
importació RPi.GPIO com GPIO
#Podem establir el sistema de numeració que volem, 
#en aquest cas el sistema BCM
GPIO.setmode(GPIO. BCM)
#Configurar el pin GPIO 4 com una sortida
GPIO.setup(4, GPIO. TERME)
#Apagar dirigits
GPIO.output(4, GPIO. BAIXA)
#I podem alliberar l'GPIO
GPIO.cleanup()
#!usr/bin/env/ python
## parpadea.py
#Ens importa la biblioteca i canviar el seu nom a GPIO
importació RPi.GPIO com GPIO

#Necessari que els retards
temps de la importació

#Podem establir el sistema de numeració que volem, 
#en aquest cas el sistema BCM
GPIO.setmode(GPIO. BCM)

#Configurar el pin GPIO 4 com una sortida
GPIO.setup(4, GPIO. TERME)

#Engegar i apagar el liderat 5 vegades
perquè en gamma(0,5):

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

#I podem alliberar l'GPIO
GPIO.cleanup()

Ara és el moment per crear la nostra pàgina web en HTML i PHP, conté botons que premerem d'executar els scripts Python des d'una interfície web, més endavant veurem com la jerarquia final.

<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

?>

He agrupat els es tot a la mateixa pàgina com si la creació d'una pàgina en PHP de cada opció, a executar-lo, em va enviar a la pàgina d'escriptura (una pàgina en blanc); Ara executi el codi i es queda en la mateixa pàgina.

En l'últim Hem d'aconseguir la jerarquia següent dins el subdirectori del servidor web /var/www.

Captura de pantalla 2014-10-05 00:06:52Si us agrada podeu segueix-me a Refilar, Facebook, Google +, LinkedIn, o compartir-lo amb els botons sota aquesta publicació, Si vostè té alguna pregunta o suggeriment no dubtis a comentar.

Ajuda'ns a arribar a més lectors Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

71 Reflexions sobre la"Agulles de PI gerd i GPIO: Controlar el portat d'una interfície web

  1. Bona, Després de mirar la domòtica solucions Internet, Em vaig decidir pel seu sistema, sembla ben exposades.
    Tot i això i per la meva experiència nul en suau. dubtes em, Desitjo que podria resoldre'ls, He estat fent moltes proves i res, No ho entenc….:)
    realitzar tots els passos que expliquen i aconsegueixo la gpio de terminal amb massilla, però ja que la web no es pot activar la seqüència de comandaments python.
    He de fer una pàgina sobre /val/www amb html (index. html) per servir-lo jo apatxe. Posant el seu lloc web aquí si els botons de deixar-me, però no executa el script php. A la pàgina index. php, no posar dins.
    Disculpin les molèsties i gràcies.

      • Gràcies per respondre tan ràpidament, Sí jo pas per donar els permisos del fitxer que es posa, Estic confós amb la pàgina index. php, pengi el directori GPiO, només veure els botons a la web si poso en /val/www….en html!…index. html, però no executa el script PHP. Que ha de posar el index. php que pengen el directori GPIO?

        • Si et fixes, index. php /var/www/leds 🙂 penja si encara no funciona, Comentari aquest article i mirar-ho.

          Si /var/ www/index.php cuelgas veurà en aquesta direcció, però no funciona res:

          http://ipdelapi

          Si la caiguda de /var/www/leds/will funciona correctament, però des d'aquesta ruta:

          http://ipdelapi/leds

          Espero que això resol els teus dubtes i que pot moure en aquest món tan apassionant.

          • Bona, Tinc el mateix problema com el company de dalt.

            Meva index. php penja del /var/www/html/index.html
            , Si aconsegueixo el meu html índex d'allà no es Mostra, però no tinc cap problema en que hi, El meu problema ve quan botó d'impulsos i no em corren la scrip.

            PD: Li vaig donar tot i permisos

            Gràcies per la teva resposta.
            Una salutació

            J.G.

  2. Bona, el seu treball està servint mi molt, Ets una màquina!
    Estic intentant fer el sistema d'automatització per controlar diversos leds des de la web, però tinc un problema que no pot alleujar.
    El tema és que he activat la GPIO necessito, Activar i desactivar des de la terminal, Puc connectar un altre PC connectat a la mateixa xarxa a 192.168.X.X/leds/ i el lloc web es veu bé, el menú per al control de la casa es veu perfecte, però els leds no responen, He intentat per activa i passiva, una cosa que estic fent malament…
    L'únic que puc dir és que vostè mostrar el codi font de la pàgina i només Mostra el codi html, php no apareix, no ser si ho havia o no.
    Crec que pot ser una cosa PHP, però no estic molt convençut perquè intentava una prova PHP i ho fa bé, Estic desesperada lol

    • Hola John,

      Me alegro molt que pot ser d'utilitat meu 🙂 articles sempre són benvinguts els comentaris positius.

      Tot el codi PHP en el navegador es mostra com a HTML, Ja que la funció PHP és en el moment i dinàmicament crear pàgines web que serveixen al navegador.

      Executar scripts en Python directament si els leds s'encenen? el correcte seria començar provant des d'aquí i seguir endavant.

  3. Gràcies per contestar ràpidament!
    Finalment formatar gerds, Seguia tots els passos una altra vegada i tot funciona molt bé, no ser que falle.
    De tota manera gràcies a l'atenció.
    Una salutació

    • Gràcies per compartir els teus dubtes, M'alegro que finalment ho ha arreglat.

      Ha canviat alguna cosa en el seu gerds així com format de, com per exemple la microUSB transformador?

      • Sí, Quan el vaig comprar vaig posar una pica que microlloc per accelerar-lo cap amunt i ho treballaran més ràpid, però tampoc no és molt notable canvi.
        Allò era l'única cosa que canvia per la raspa.

        • Hola John, M'alegra llegir una altra vegada aquí.

          En principi no té que influeixen en aquest aspecte l'Overclock, però podria haver estat qualsevol configuració; ara que està treballant amb una neteja Raspbian torna a donar problemes després d'estar en la producció, Ara si que recomanaria a trobar l'arrel del problema.

          Canvi en l'Overclock que se n'adonarà en acord amb tasques específiques que necessita molta potència de càlcul, però alguns factors com el port d'Ethernet a seguir segons coll d'ampolla que utilitza.

          Podeu veure l'examen que vaig fer de models de gerds PI B, B + i B2 en el següent enllaç, amb proves de rendiment total:

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

          Espero que us serà útil, fins aviat 🙂

  4. Hola, Tinc una mica pregunta o problema. M'agradaria connectar un timbre en comptes d'un dirigits, però vull tastar primer amb un dirigits per aprendre. És necessari fer un index. html i altres. php?
    Tinc el liderat connectat a la gpio4, i tinc un guió de on.py i altres off.py dins de la carpeta 4. Perfectament la consola de treball.
    i no pot posar el index perquè no em deixarà, però només per portat funcionalitat 4.

    Espero que vostè em pot ajudar, He visitat el teu perfil de facebook i espero que algun dia tant de Lleida com sabeu. Una salutació i gràcies.

  5. Una web en PHP poden contenir HTML per que només necessiten un index. php

    Si poses les comandes PHP d'executar els scripts en python en un fitxer HTML, no s'executarà.

    Ara que el terminal treballa, vostè només ha pogut copiar el index. php d'aquest tutorial, eliminant el altre GPIO i deixant només el 4 que és què utilitza; i hauria de treballar.

    Si no pots editar fitxers a/var/www segurament serà amb permís, en aquest tutorial és la solució i hauria de treballar, Si això no fa comentaris, i intentaré donar-li una mà.

  6. Hola, Vaig a prendre per posar aquí una altra pregunta, Si vostè o algú em pot portar un cable. Jo aquest script i voldria suprimir la carpeta amb la data un cop reiniciat, i què m'interessa, saber fer que quan es tracta d'una mida de x quantitat de captures, tots s'esborrarà o reprèn l'IPC. Gràcies una salutació.

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

    # Algunes coses que sempre s'executi
    #Tacte /var/lock/motionStartup
    Fuster - s “Script anomenat motionStartup”

    # Dur a terme funcions específiques quan demanava pel sistema
    cas “$1” en
    Inici)
    Fuster - s “MotionStartup d'escriptura va començar”
    TIMESTAMP = $(data + %m %%H %m %s d i % | De SED / / / g') # Sense espais
    Fuster - s “Guió motionStartup $TIMESTAMP”
    sudo mkdir/motiontmp / $TIMESTAMP || Fuster - s “Error de començament de mkdir”
    trobar moviment/motiontmp / /. -tipus f - mida 0 -print0 - suprimir
    trobar moviment/motiontmp / /. -MaxDepth 1 -tipus f | \
    XARGS - M '{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    parada)
    Fuster - s “Guió motionStartup aturat”
    ;;
    *)
    Eco “L'ús: /etc/init.d/motionStartup {Inici|parada}”
    sortida 1
    ;;
    ESAC

    sortida 0

  7. Si afegiu aquesta línia al començament del seu guió, cada vegada que executar l'escriptura abans de fer res s'esborrarà totes les carpetes interior/motiontmp /

    sudo rm - rf/motiontmp / *

    Pel que fa a les eliminar arxius en arribar a una certa mida, vostè podria intentar concatenant la comanda de df - h mostrant un ús de discs de directori, o una partició:

    DF - h /motiontmp

    Amb una altra comanda com wc o sed, així que només llegeix la frase referint-se al mbar o GB utilitzat, Finalment amb si es podria programar la part que si el resultat és superior a N, Executeu l'ordre descrit anteriorment rm.

    • A les carpetes de suprimir perfecte, però llavors…
      Ho sento, però sóc una mica nou i estic perdut, com seria per exemple per quan arriba el moviment/motiontmp/directori / 5 Gigas? Gràcies salutacions.

  8. Trist per així molts llocs seguit però com m'estic trobant fora actualització. Alguna cosa com això podria treballar?

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

    mida = du - sh /motiontmp

    llegir “mida”

    Si [ “$mida” > “2048000A” ]; llavors

    sudo rm - rf/motiontmp / *

    altra cosa

    Fuster - s “Script anomenat motionStartup”

    # Dur a terme funcions específiques quan demanava pel sistema
    cas “$1” en
    Inici)
    Fuster - s “MotionStartup d'escriptura va començar”
    TIMESTAMP = $(data + %m %%H %m %s d i % | De SED / / / g') # Sense espais
    Fuster - s “Guió motionStartup $TIMESTAMP”
    sudo mkdir/motiontmp / $TIMESTAMP || Fuster - s “Error de començament de mkdir”
    trobar moviment/motiontmp / /. -tipus f - mida 0 -print0 - suprimir
    trobar moviment/motiontmp / /. -MaxDepth 1 -tipus f | \
    XARGS - M '{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    parada)
    Fuster - s “Guió motionStartup aturat”
    ;;
    *)
    Eco “L'ús: /etc/init.d/motionStartup {Inici|parada}”
    sortida 1
    ;;
    ESAC

    sortida 0

    Fi

  9. Hola que tal un amic, Ho sentim seguir el seu exemple i el liderat s'encén, hi ha cap problema, però quan fa clic al botó d'apagar, els esclats dirigits, ja comprovar els codis i tot és correcte :/ tens alguna idea que podria estar fent malament?

    • Hola Fco, Gracias por tu comentario.

      A la web, Hi ha tres botons:

      Engegar, desviar-se, i intermitent.

      Si pots, enganxar aquí el codi que li hem assignat a la volta de botó de, Així és possible aquell botó de girar-se d'executar la seqüència que hauria de ser associat amb el botó intermitent comentari.

      ens veiem aviat.

  10. Hola una altra vegada a tots els, un altre dubte més afegir lol.

    Abans de posar en fons, És activar un so de la sirena (sirena) Hauria de ser un bucle que posar el pin 1 i un 0 constantment, no com un dirigits que, encara que 1 Encara que.
    El problema és com impedir aquest bucle per utilitzar-lo en un web php, perquè consola afegint al final de la convocatòria de l'escriptura un & Que corre en el fons i deixar que la consola lliure de trucar a l'escriptura que s'acaba, exemple:

    sudo Pitó sonar.py &

    Aquests són dos guions, que fa sonar i assegurant-se deixa de sonar:

    temps de la importació
    importació RPi.GPIO com gpio

    GPIO.SetWarnings(Fals)
    GPI.setMode(GPIO. JUNTA)
    GPIO.Setup(7,GPIO. TERME)

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

    i el tancament:

    temps de la importació
    importació RPi.GPIO com gpio

    GPIO.SetWarnings(Fals)
    GPI.setMode(GPIO. JUNTA)
    GPIO.Setup(7,GPIO. TERME)

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

    però simplement per interrompre el primer treballat. Gràcies una salutació.

  11. Es poden concatenar diversos comandaments, per això basat en el seu nom d'escriptura, la terminal de mirar el seu PID i posteriorment matar la seva execució amb matar.

    Una vegada trobat l'ordre, canviar la funció pretén tancar amb control + C, per un en canvi, Ambien vegades Matt automàticament amb aquesta comanda.

  12. Si amb control + C es tanca en consola, però intento implementar-ho mitjançant PHP com el seu lloc de leds, llavors haurà de ser d'una altra manera, dic.

  13. Hola.
    Gràcies per la classe.

    Tinc un problema, no executar l'escriptura, Si arribes des de consola, però des de la pàgina no, No sé que pot ser. He fet el comentari de
    “Podem escriure sudo visudo a la terminal i al final del fitxer afegir www-dades com sudoer, Ha de ser així.”

    Però res. Què més pot mirar?

    Salutacions.

  14. Hola, Bon dia,
    Al res, Gràcies.

    Permet una pregunta, tot funciona perfectament, ara, M'agradaria ser capaç d'afegir una pantalla que indica quan els leds són canviats damunt o fora, He trobat alguns articles fins i tot amb imatges que mostren el color en funció de si les llums canviants estan funcionant o no, tractar d'entendre l'operació però no ho aconsegueix perquè funcioni, Arribo a la web, amb comandes però res s'activa, Espero no molestar amb aquesta i una altra mirada, Gràcies per la seva amabilitat sorprenent.

    Ignacio de Bèlgica

    • Hola Ignasi, Moltes gràcies pel teu comentari.

      Suposo que està utilitzant Javascript per fer-ho, integrant les funcions PHP que activen el script de Python per a, gestionar els poder-lluminàries.

      JavaScript no dòmino, Ja no sóc un desenvolupador web però potser vostè pot orientar-se una mica millor, o algun altre lector pot ajudar a aconseguir el que vols; però per fer-ho caldria veure el codi, o els tutorials que seguia per intentar detectar on l'error és.

      ens veiem aviat, i un munt d'alè!

  15. Hola a tots, moltes gràcies, Vaig aprendre molt.
    He seguit tots els passos exposats, Que es pot convertir els leds des del local terminal, carregar la parcel·la php com instruït per ullu, concedir permisos 775 fins i tot un—-etc.. Carregui la pàgina amb els botons portat/gpio però res. Estic utilitzant Gerd pi 2…..serà alguna cosa amb aquesta targeta?. Li agraeixo la seva cooperació.

    • Hola Rafael, Gràcies pel comentari.

      És possible que la solució és en els comentaris de les anteriors classes en aquesta sèrie dedicada a l'automatització de casa assequible basat en Lleida.

      Els passos a seguir són compatibles amb totes les versions d'IP, Això m'acut que podria canviar l'execució de el script en python en el lloc web per l'ordre següent que es crearà un arxiu en el directori inici de la gerds:

      sudo Tacte /home/pi/funciona

      Si tot està funcionant bé, Cal crear aquest fitxer.

      • Gràcies per la seva resposta ràpida. He fet els canvis, com li va dir a mi, en l'index traient la part de Pitó i col. locació a canvi: sudo Tacte /home/pi/funciona , però malauradament l'arxiu no es crea en meu gerds. Crec que és una excel·lent prova i el resultat crec que concentra el problema a la zona web. Em referiré a altres tutorials més informació. Gràcies per la teva ajuda. Seguirem en contacte.

        • Hola Rafael, llavors vostè podria fer la mateixa prova canviant una mica el camí de l'arxiu per comprovar si el problema és amb els permisos del directori/var/www.

          sudo Tacte /var/www/funciona

  16. Hola, Jo podria dir una manera de posar una etiqueta amb l'estatus de LED d'interfície de webs PHP
    automàticament per donar clic que el canvi va dir botó o girar-se en, desviar-se, intermitent… tenir una etiqueta que et diu l'estat. Gràcies per la vostra aportació espero que vostè em pot ajudar..

    • Hola Jameson,

      Jo no entenc bé la pregunta, però per trobar l'IP d'un dispositiu pot utilitzar NMAP.

      Vostè també té eines amb interfície gràfica com ZenMap basat en NMAP i Fing per a dispositius Android.

    • Hola Jameson,

      La IP que ha d'escriure al navegador de fet és el de Lleida ja que això és el que actua com un servidor web, també si el seu arxiu de php no apareix es com index. php heu d'afegir el nom del seu arxiu separat per un després de l'ip “/”.

      En el meu cas l'IP està en el rang 10.42.0.0 Ja que és una adreça IP del tipus NAT proporcionada per una interfície de xarxa virtual.

  17. Si us plau I necessiten ajudar. La qüestió és que tinc tot així que explicar-ho per a vostè, però no funcionen en escriptures de PHP.

    Gràcies alot

    • Hola Sergio,

      Crec que us esteu referint scripts en Python, altres tenia el mateix problema i hi ha diverses solucions en els comentaris anteriors; Si després de provar-los continua el fracàs, si teniu més dades potser altres lectors o em podria ajudar a.

      ens veiem aviat.

    • Hola Roberto, Benvingut.

      Jo no sóc un expert en php, i en aquells moments que vaig buscar un tutorial per executar les ordres a l'intèrpret de php de bash i així resultava.

      Seria més apropiat fer servir per = execució en comptes de?- executiu?

      Moltes gràcies pel teu comentari, ens veiem aviat.

  18. Si no et funciona la web però si escriptures, Aviat faré un article per arreglar-lo; Gràcies a la informació que han recollit diversos usuaris que no ha funcionat.

    Si executeu es dóna pressa per arreglar-lo, Podeu comprovar si el directori var existeix en el seu gerds, i si és així cal moure tots els arxius per aquest camí i substituir en scripts “/var/www” per “/var/www/html” partir d'ara
    Aquest és el camí de servidor de web d'omissió.

    També és possible que vostè no ha esborrat l'índex per defecte, “index. html” o falta per canviar-lo per “index. php”.

    Espero ser d'ajuda, ens veiem aviat.

  19. Hola Antonio,
    M'estava preguntant si pot muntar un servidor web per encaixar un sistema domòtic i tractar el twitter api per encendre llums etc.… (He vist que també es pot fer amb python amb algunes biblioteques i fàcil de seguir els tutorials de… però podria passar com vaig dir amb php? és a dir, el gerd és el servidor web amb twitter i ports de gpio encendre leds
    Gràcies per endavant.

    • Hola Nano,

      Des de la web en php pot executar qualsevol comanda en l'ordre d'intèrpret BASH, que inclou scripts en Python.

      Podeu utilitzar la biblioteca o API de Twitter que quan es va a enviar un tweeter citant de nom d'usuari del compte de la amp, apagar o encendre el llum o electrodomèstics associades amb aquell missatge en particular.

      Veig un problema, i és que ningú podria engegar vostè i convertirà llums i electrodomèstics; llevat que pot restringir en funció de l'usuari que ha enviat el tweet.

      Seria interessant, si vostè està comentant el que trobeu en aquest sentit.

      Gràcies pels seus comentaris, ens veiem aviat.

  20. Bona tarda,
    Seguia el tutorial, Copieu el codi de la web, Guardi'l com. php, a la carpeta que em creen el servidor var , perquè si poso el index. php fora de la carpeta d'html no trobar-me l'arxiu, però bona, Sembla que tot està bé. Només estic provant amb la GPIO 17, Llavors vaig crear dos py, engegar i apagar, Ells han situat a la mateixa carpeta com l'arxiu index. php. Vaig obrir el navegador, va entrar a l'índex, però no em funcionen el liderat. Si tinc ssh arxiu d'accés s'encén i executar-lo via consola si allò funciona. no ser on vaig estar fallant. Per descomptat canviar la ruta a les escriptures de php, Ja que és diferent de la tutoria.
    Espero que vostè em pot donar una mà, Jo estic atrapat.
    Una salutació.

    Gràcies alot.

  21. Hola peatonet, Estic intentant fer un invent per activar un mòdul de 4 relleus de la web per activar o desactivar les llums d'un local han, el problema és que en la prova, portat amb parades a voluntat i redistencia comença des del web, però quan connecti el pin40 (que és que he configurat) eliminació de la resistència i dirigit, apaga el llum vermell del mòdul relleus i no activat o desactivat he de provar la bombeta.

    Si us plau ajudar-me perquè ja no és si que està malament el mòdul de relleus (maleïda aliexchinapress) però en cap de la 2 mòduls que tenen obres o que la raspberrypi no és enviat prou tensió a la tramesa (com VCC que tinc des de la pin3)

    Ho sento per la diatriba i gràcies per endavant

    Amics de salutacions

    • Hola, autorespondo em vaig amics, tenia el problema que en la pin20 (en el meu cas) haver de posar una resistència, Vaig posar a 330 connectats a terra.
      Suposo que és perquè quan es passa va portar a la resistència de treure de relleus

      Gràcies per tot ?

      • Hola Jesús, Moltes gràcies per compartir la solució amb nosaltres.

        Ho sento si no podria respondre abans, però vaig agafar amb febre, en l'última setmana de classes de preparació d'exàmens, i treball (la independent no té permís per emmalaltir).

        Pel que fa al que ha connectat el VCC pin, en el meu cas vaig connectar a pin 2 o a la 4 fracassant que ja requereixen 5V d'alimentació.

        Si voleu podeu donar més detalls de la prova de concepte, llavors està utilitzant leds en comptes de preses de 220 v AC?

        Gràcies pel teu comentari.

  22. Hola, Estic fent un projecte d'escola i s'estava preguntant si hi ha el camí que pot emular aquest sistema des d'una aplicació per android, és a dir, Com manejar els pins de la gerds d'aquesta manera que sembla 100 vegades més més fàcil que en una aplicació android, Em pregunto si creant una aplicació podia de cap manera automàtica dirigir-me a aquest tipus de sistema per evitar haver d'aprendre de zero a programar una cosa d'android. Per desgràcia estic obligat a lliurar el projecte com una aplicació mòbil, no de formulari web.
    Espero la seva resposta

  23. Hola i gràcies per tot, Repeteixo la meva pregunta, Quina és la diferència per a treballar en pi gerd 3, d'antelació,

    Gràcies

    • Hola Ignasi, Gràcies pels seus comentaris.

      Aquest tutorial es desenvolupa en un PI de gerds 3 Així hauria de funcionar sense complicacions.

      Si encara no pot fer que funcioni, Podeu compartir qualsevol errors o problemes que he trobat.

  24. Hola companys, la necessitat de la seva ajuda perquè estic immersa en un projecte entre 3 especialitats, elèctric, Electrònica i informàtica, Va dominar la part de l'electricitat però no sóc especialista en els altres dos. Vaig explicar-los, necessiten connectar un escàner de xarxa M2DL2 a un pi de gerds amb l'objectiu de registrar dades de consum de corrent i transmetre-les a gerds i que aquest el seu temps es registra i es mostren en una taula de dades. Sé que és el senyal que pren l'analitzador RS485 i que ha d'introduir a la gerd és RS232 per què necessita un convertidor d'un senyal a un altre, el que no sé és com fer la interconnexió entre l'analitzador, el convertidor i gerds. Saber alguna cosa d'aquest o que pot dirigir on buscar informació al respecte?
    Salutacions.
    Ramon.

  25. Hola com ets?
    Si m'agradaria comprovar l'estat d'un gpio, a través de php, Així expliqui'm si aquest ON / FORA ja que sóc remot. Com que ha de fer?

    Potser hi ha alguna manera de que la raspa tornar el valor que la gpio.

    Però la llebre en un db introduint 1 o 0 prement els botons, però que veig mitjà rústic

    • Hola Juani, Gràcies pels seus comentaris.

      Subsistema de GPIO és, finalment, a part de la/sys del sistema de fitxers de GNU/Linux, i en realitat administrada editant els valors de cada arxius mapejada portuària GPIO.

      Podeu comprovar si un GPIO està activa o inactiva llegint el fitxer que conté el seu valor, un exemple en PHP per a la GPIO 18:

      $estado_gpio18 = file_get_contents(“/sys/classe/gpio/gpio18/valor”);

      Si el valor és “1” la GPIO està actiu, d'altra banda, si el valor és “0” està inactiva.

      ens veiem aviat.

  26. Hola, Això primer gràcies la molèstia de compartir el seu coneixement amb aquells que tenen inquietuds similars.

    Voldria fer una consulta (Espero que no sigui molt ximple), ja fa mesos que es va donar-li retorna al tema de la creació de web d'interfícies per la raspi. El seu comentari el tema donar permisos per www-dades, però que, Seria bonic com un comentari d'accés des d'entorns locals o per a les proves. Vols que solucions recomana per a ambients més segur?

    Una salutació i gràcies una altra vegada

    • Hola Gon, Gràcies pel teu comentari; Només intento estic aprenent cada dia sobre aquest fascinant món del document, de la forma en línia així així podem aprendre tots junts.

      Vull recordar a tots aquells lectors que, malgrat ser funcional aquest quadre no és en absolut perfecte, és un exemple molt bàsica del que es pot fer i com més aprenc més que m adono quant que podrien millorar; Aquest any estic tractant de millorar les meves habilitats com a programador des de sempre em gastat més al sistema i a la mateixa seguretat, i no hi havia només nocions sobre estructures de codi, metodologies de disseny i algoritmes; esperança en breu prengui temps per millorar la web panell i compartir una pròxima versió del qual ja no em averguence tant.

      En principi des de la versió 3 la Web és suficient afegir www-dades d'usuari al grup GPIO per gestionar l'estat dels pins evitant donar permisos de sudoer; Això pot fer-ho mitjançant l'ordre següent:

      sudo usermod-a-G gpio www-dades

      De totes maneres crec que la pregunta està més centrat per restringir l'accés a l'esmentat tauler a través d'autenticació, i això es pot fer amb el mòdul de mod_auth de l'Apache2; També és aconsellable utilitzar mod_ssl o bé amb un certificat signat automàticament.

      Si va a l'accés des de fora sempre es pot afegir una capa sobre seguretat, configurant una VPN, a la qual vostè pot protegir l'accés amb certificats x 509, nom d'usuari i contrasenya, i sistemes de prevenció com fail2ban entre d'altres.

      Espero que haver aclarit una mica teus dubtes, Gràcies pel seu interès en l'article.

      • Hola Antonio! Primer de tot gràcies per respondre tan ràpid i.

        A mi em passa una mica cap enrere, Estic tractant de prendre el món de sistemes i seguretat de desenvolupador web. És un plaer que hi ha gent com tu que invertir el seu temps a documentar els seus projectes perquè altres puguin aprendre una mica més cada dia.

        Dir-te que he ajudat alot. Tinc un petit projecte connectat a la raspi, i va prendre mesos donant-li voltes a això de la interfície i sense decidir-me molt que fer ( Si php, que si cylon.js, tipus de serveis ja creat mydevice i similars…) i sempre he trobat les mateixes dubtes: permisos, Seguretat, …etc.. El seu article (Creu-me que llegir molts) és de les poques que van una mica més com punxant el cable d'GPIO, Per tant, demanant-li.

        Gràcies una altra vegada, s'han aclarit molts dubtes.

        Vaig a ser proves i implementació que vostè té temps lliure, i si vostè està interessat en tu comentat resultats.

        Una salutació

  27. Hola que les aplicacions es poden utilitzar en el cotxe
    Va poder que milrrolling de treball
    Algú emetre qualsevol projecte sobre aquest tema
    Saúde

Deixa un comentari