Aveņu PI un GPIO adatas: Kontrolējot LED no web interfeisa

Šīs sērijas jaunāko posts, Mēs redzējām tie ir GPIO adatas un kalpot, un Kā kontrolēt gaismas diodes no termināla jauda; pirms sākat Mums ir uzstādītas GPIO bibliotēkas Python, un samontēti elektroniskos komponentus un darba.
HTML Web lietojumprogrammā + PHP + Apstrādāt dažas gaismas diodes caur GPIO Python.

Šajā gadījumā mēs uzstādīsim Apache web serveri, un uzziniet, kā rakstīt HTML un PHP kodu lai vadītu pats LED, vai vairākiem, no web interfeisa.

gpioprogramar0pngPirmā lieta, kas mums ir jādara, ir LAMPU web serveri instalēt, tāpēc ievadiet šādas komandas termināls:

#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

Tagad mēs pievienot kā sudoer lietotājam www-data, Tas nav variants vairāk nodrošināt, bet atcerieties, ka mēs to darām testa kontrolētā vidē; vide ražošanā, mums vajadzētu meklēt citu veidu, kā skriptus palaist Python, sudoer.

Lai rediģētu šīs atļaujas, wrote sudo visudo termināla un faila beigās Pievienot kā sudoer www-data, Tai jābūt.

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

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

Katram kontaktam GPIO Mums ir jāizveido apakšdirektorijā un trīs Python skriptu; viens, lai ieslēgtu, citā, lai izslēgtu, un gala skriptu padarīt mūsu LED mirgo, Šeit ir piemērs ar PIN KODU 4.

#!usr/bin/env/ python
## enciende.py
#Importamos la libreria y le cambiamos el nombre a GPIO
importēt kā GPIO RPi.GPIO
#Mēs veidojam numerācijas sistēma, ko mēs gribam, lai, 
#Šajā gadījumā sistēma BCM
GPIO.setmode(GPIO. BUSINESS CONTACT MANAGER)
#Konfigurēt GPIO pin 4 kā izvadi
GPIO.setup(4, GPIO. ĀRĀ)
#Mēs savukārt par bars
GPIO.output(4, GPIO. AUGSTA)
#!usr/bin/env/ python
## apaga.py
#Mēs bibliotēka importa un mainīt savu nosaukumu uz GPIO
importēt kā GPIO RPi.GPIO
#Mēs veidojam numerācijas sistēma, ko mēs gribam, lai, 
#Šajā gadījumā sistēma BCM
GPIO.setmode(GPIO. BUSINESS CONTACT MANAGER)
#Konfigurēt GPIO pin 4 kā izvadi
GPIO.setup(4, GPIO. ĀRĀ)
#Izslēgtu veda
GPIO.output(4, GPIO. ZEMA)
#Un mēs atbrīvot GPIO
GPIO.cleanup()
#!usr/bin/env/ python
## parpadea.py
#Mēs bibliotēka importa un mainīt savu nosaukumu uz GPIO
importēt kā GPIO RPi.GPIO

#Nepieciešami, lai segtu kavējumus
importēšanas laikā

#Mēs veidojam numerācijas sistēma, ko mēs gribam, lai, 
#Šajā gadījumā sistēma BCM
GPIO.setmode(GPIO. BUSINESS CONTACT MANAGER)

#Konfigurēt GPIO pin 4 kā izvadi
GPIO.setup(4, GPIO. ĀRĀ)

#Ieslēgt un izslēgt bars 5 reizes
Es šajā diapazonā(0,5):

        GPIO.output(4, GPIO. AUGSTA)
        Time.Sleep(1)(1)
        GPIO.output(4, GPIO. ZEMA)
        Time.Sleep(1)(1)

#Un mēs atbrīvot GPIO
GPIO.cleanup()

Tagad ir laiks, lai radītu mūsu mājas lapā HTML un PHP, ir iekļautas pogas, kuras mēs uzstās, lai palaistu skriptus Python no web interfeisa, vēlāk mēs redzēsim kā galīgo hierarhija.

<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

?>

Man ir grupēti visi par vienu un to pašu lapu kā tad, ja lapas izveide PHP katrai opcijai, palaišanai, tika nosūtīts skriptu lappusei (tukšu lappusi); Tagad palaist kodu un paliek tajā pašā lappusē.

beidzot Mums ir jāpanāk Šī hierarhija atrodas web servera apakšdirektorijā /var/www.

Screenshot 2014-10-05 00:06:52Ja jums patīk jūs varat sekot mani uz Čivināt, Facebook, Google +, LinkedIn, vai dalīties tajā ar pogām zem šīs publikācijas, Ja jums ir kādi jautājumi vai ierosinājumi, lūdzu, nekautrējieties komentēt.

Palīdz mums sasniegt vairāk lasītāju Share on LinkedIn
LinkedIn
Share on Facebook
Facebook
Tweet about this on Twitter
Čivināt
Share on Google+
Google +
Email this to someone
e-pasts

75 domas par"Aveņu PI un GPIO adatas: Kontrolējot LED no web interfeisa

  1. labs, Pēc tam apskatot interneta risinājumus mājas automatizācijas, Nolēma, ko jūsu sistēma, šķiet labi iedarbojas.
    Pat tā, un sakarā ar manu nulles pieredzi mīkstā. man ir šaubas, Es vēlos jūs varētu atrisināt tos, Esmu bijis dara daudzi testi un nekas, Nav get it….:)
    veikt visus pasākumus, kas izskaidro un pārvaldīt gpio no termināla ar tepe, bet, tā kā python skriptu nevar aktivizēt web.
    Man vajag darīt /val/www ar html lapu (index. HTML) Tātad tas kalpo man apache. Ievietojot jūsu mājas lapā, šeit, ja pogas atstāt mani, bet nevar izpildīt php skriptu. Šajā lapā index. php, nedrīkst laist iekšā.
    Atvainojamies par neērtībām un paldies.

      • Paldies par tik ātri reaģēt, Jā bija solis dotu atļaujas failu, ko ievietojat, Es esmu sajaukusi ar index. php page, jūs pakārt GPiO direktoriju, tikai redzētu pogas tīmeklī, vai likt to /val/www….HTML formātā!…index. HTML, bet nevar izpildīt PHP skriptu. Kas būtu jāliek index. php, kas karājas GPIO direktoriju?

        • Ja jūs meklējiet cieši, index. php /var/www/leds 🙂 uzkaras ja joprojām nedarbojas, komentēt šo rakstu un skatīties uz to.

          Ja /var/ www/index.php cuelgas to redzēs šajā virzienā, bet kaut kas nedarbojas:

          http://ipdelapi

          Ja hang /var/www/leds/will strādāt pareizi, bet, tā kā šis ceļš:

          http://ipdelapi/leds

          Es ceru, ka tas atrisina jūsu šaubas un var ienākt šajā tik aizraujoša pasaule.

          • labs, Man ir tāda pati problēma kā kolēģi iepriekš.

            /Var/www/html/index.html karājas manu index. php
            , Ja man manu indekss html no tur netiek parādīta, bet man nav nekādu problēmu, ņemot to tur, Mana problēma nāk, kad pulsu pogu un nevar palaist mani lūžņi.

            PD: I deva viņam viss un atļaujas

            Paldies par jūsu atbildi.
            Sveiciens

            J.G.

  2. labs, jūsu darbs mani apkalpo daudz, tu esi mašīna!
    Es cenšos padarīt automatizācijas sistēmas, lai kontrolētu vairāki indikatori no tīkla web, bet man ir problēma, jums, iespējams, nevar mazināt.
    Tēma ir, ka man ir aktivizēts GPIO, man vajag, Es aktivizētu un deaktivizētu no termināla, Izveidot savienojumu ar citu datoru savienotas vienā tīklā ar 192.168.X.X/leds/ un mājas izskatās labi, izvēlnē, lai veiktu kontroli pār mājas izskatās perfekts, bet gaismas diodes nereaģēja, Esmu mēģinājis, aktīvā un pasīvā, kaut ko es daru nepareizi…
    Vienīgais, ko varu teikt ir tas, ka jūs attēlot lappuses avota kodu un rāda tikai html kodu, PHP neparādās, nevar būt, ja tā būtu, vai ne.
    Es domāju, ka tas var būt kaut kas PHP, bet es neesmu ļoti pārliecināts, jo es mēģināju PHP tests, un tas ir labi, Es esmu izmisis lol

    • Labdien, Juan,

      Man alegro, daudz kas var būt lietderību manu rakstus 🙂 vienmēr ir laipni pozitīvas atsauksmes.

      Visi PHP kods pārlūkprogrammā tiek parādīts kā HTML, PHP funkcija ir laikā un dinamiski veidot web lapas, kas tiek pasniegti pārlūkprogrammā.

      Python skriptu izpildi tieši, ja ir apgaismoti indikatori? pareizi būtu sākt no šejienes testēšana un iet uz priekšu.

  3. Paldies, lai atbildētu ātri!
    Beidzot atkal aveņu formāts, Es sekoju visiem darbības vēlreiz un viss strādā skaisti, nevar būt, ka varētu neizdoties.
    Anyway paldies par uzmanības.
    Sveiciens

    • Paldies, ka dalīties ar jūsu šaubas, Es esmu priecīgs, ka beidzot tas ir sakārtots.

      Kaut kas ir mainījušies, aveņu, kā arī formātu, piemēram, transformatora microUSB?

      • jā, Kad es to pirkusi man izlietne Micro ātrumu viņu uz augšu, un tā darbosies ātrāk, bet neviena no tām nav ļoti ievērojamas izmaiņas.
        Tas bija vienīgais, kas jums jāmaina aslapainības.

        • Labdien, Juan, Es esmu priecīgs lasīt jums vēlreiz šeit.

          Principā nav ko ietekmēt šo aspektu Overclock, bet iespējams, ka tā ir jebkuras konfigurācijas; tagad, kad jūs strādājat ar Raspbian tīrīšanas atgriežas dot problēmas pēc tam, kad to ražošanā, Tagad, ja kas ieteiktu jums atrast saknes problēma.

          Overclock, jūs ievērosiet, to saskaņā ar īpašiem uzdevumiem, kas vajadzīgs daudz skaitļošanas jaudas izmaiņas, bet daži faktori, piemēram, Ethernet ports turpinās pēc pudeles kakla, kas izmanto.

          Jūs varat redzēt, es darīju aveņu PI B modeļu pārskats, B + un B2 šo saiti, ar pilnu veiktspējas testēšana:

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

          Es ceru, ka jums būs noderīga, redzēt jūs drīz 🙂

  4. labdien, Man ir mazs jautājums/problēma. Es gribētu, lai savienotu svilpe, nevis veda, bet es gribu mēģināt vispirms ar led, lai uzzinātu. Ir nepieciešams veikt INDEX un citas PHP?
    Man ir bars, savienota ar gpio4, un man ir on.py skriptu un citu off.py mapē 4. Konsole darbu perfekti.
    un nevaru laist index. HTML, jo tā neļaus man, bet tikai veda funkcionalitāti 4.

    Ceru, ka jūs varat man palīdzēt, Ir apmeklējuši jūsu facebook profils, un es ceru, ka kādu dienu abi aveņu Pi, kā jūs zināt. Sveicienu un paldies.

  5. PHP web var saturēt HTML, kas ir nepieciešama tikai index. php

    Ja jūs varat ievietot jūsu skriptus palaist Python HTML failā PHP komandas, netiks palaista.

    Tagad, kad termināls strādā, varētu vienkārši nokopējiet šo pamācību index. php, novēršot citi GPIO un atstājot tikai 4 tas ir, ko izmantosit; un tai ir jāstrādā.

    Ja jūs nevarat rediģēt failus, / var/www noteikti būs pēc atļaujas, Šī apmācība ir risinājums, un tai ir jāstrādā, Ja tas nav komentārs, un es centīšos jums roku.

  6. labdien, Es esmu gatavojas pieņemt šeit likt vēl vienu jautājumu, Ja jūs vai kāds cits var ņemt mani kabeli. Man ir šis skripts un vēlētos izdzēst mapi ar datumu, kad rebooted, un mani interesē, zināt, kā to darīt, ja runa ir par lielumu x nozvejas apjomu, Visi izdzēsti vai restartējas RPi. Pateicoties sveiciens.

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

    # Dažas lietas, kas vienmēr darbojas
    #Touch /var/lock/motionStartup
    Logger - s “Skriptu ar nosaukumu motionStartup”

    # Veic specifiskas funkcijas, kad tiek prasīts sistēma
    gadījumā “$1” programmā
    Sākums)
    Logger - s “Skripta motionStartup sāka”
    TIMESTAMP = $(datums + %m %d %H %M %S un % | SED ir / / / g') # Bez atstarpēm
    Logger - s “Skripta motionStartup $TIMESTAMP”
    sudo mkdir/motiontmp / $LAIKSPIEDOLS || Logger - s “Mkdir sākt kļūdu”
    atrast kustības/motiontmp / /. -f - lielums ierakstiet 0 -print0 - dzēst
    atrast kustības/motiontmp / /. -MaxDepth 1 -tips f | \
    XARGS - I "{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    apstājieties)
    Logger - s “Skripta motionStartup apstājās”
    ;;
    *)
    atbalss “Lietojums: /etc/init.d/motionStartup {Sākums|apstājieties}”
    izejiet no 1
    ;;
    ESAC

    izejiet no 0

  7. Ja pievienojat šīs rindas sākumā, jūsu skriptu, katru reizi, palaižot skriptu, pirms jūs kaut ko izdzēsīs visas mapes iekšpusē/motiontmp /

    sudo rm - rf/motiontmp / *

    Attiecībā uz Dzēst failus, kad jūs sasniedzat noteiktu lielumu, jūs varētu mēģināt konkatenācijai komandu df - h rāda direktorija diska lietojums, vai nodalījuma:

    df - h /motiontmp

    Ar citu komandu, piemēram, wc, vai tāpēc, ka tas tikai skan frāze, atsaucoties uz MB vai GB izmantot sed, Beidzot ar, ja jūs varētu programma daļa, ja rezultāts ir lielāks nekā N, izpildīt komandu, kas aprakstīts iepriekš rm.

    • Ideāls mapju dzēšana, bet pēc tam…
      Atvainojiet, bet es esmu mazliet jauns un es esmu zaudējusi, kā tas būtu, piemēram, kad sasniedz katalogs/motiontmp/kustības / 5 Gigas? Paldies, sveicieni.

  8. Atvainojiet par tik daudz amatu sekoja, bet, kā es esmu uzzināt atjauninājums. Kaut kas līdzīgs šim, iespējams, nedarbosies?

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

    lielumu = du - sh /motiontmp

    lasīt “lielums”

    Ja [ “$lielums” > “2048000K” ]; pēc tam

    sudo rm - rf/motiontmp / *

    cits

    Logger - s “Skriptu ar nosaukumu motionStartup”

    # Veic specifiskas funkcijas, kad tiek prasīts sistēma
    gadījumā “$1” programmā
    Sākums)
    Logger - s “Skripta motionStartup sāka”
    TIMESTAMP = $(datums + %m %d %H %M %S un % | SED ir / / / g') # Bez atstarpēm
    Logger - s “Skripta motionStartup $TIMESTAMP”
    sudo mkdir/motiontmp / $LAIKSPIEDOLS || Logger - s “Mkdir sākt kļūdu”
    atrast kustības/motiontmp / /. -f - lielums ierakstiet 0 -print0 - dzēst
    atrast kustības/motiontmp / /. -MaxDepth 1 -tips f | \
    XARGS - I "{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    apstājieties)
    Logger - s “Skripta motionStartup apstājās”
    ;;
    *)
    atbalss “Lietojums: /etc/init.d/motionStartup {Sākums|apstājieties}”
    izejiet no 1
    ;;
    ESAC

    izejiet no 0

    fi

  9. Labdien, tik draugs, Atvainojiet sekot jūsu piemēram un lampiņa deg, nav nekādu problēmu, bet tad, kad jūs noklikšķiniet uz pogas izslēgt, lampiņa mirgo, jau pārbaudiet kodus un viss ir pareizi :/ tev ir kaut mazākā nojausma, ko varētu darīt nepareizi?

    • Labdien, Fco, Paldies par jūsu komentārs.

      Tīklā web, Tur ir trīs pogas:

      Ieslēgt, izslēgt, un mirgojošs.

      Ja jūs varat, ielīmēt šeit kodu, kas piešķirts poga izslēgt, Tātad ir iespējams, ka poga izslēgt skripta, kas būtu saistīts ar mirgojošu pogu komentārs.

      uz drīzu redzēšanos.

  10. Sveiki atkal visiem, vēl vairāk šaubu, pievienot lol.

    Pirms man fonā, Tas ir, lai aktivizētu skaņu svilpe (svilpe) Tas būtu cilpa, kas izvirzīti pin 1 un 0 pastāvīgi, nevis, kā rezultātā, kamēr 1 Tas joprojām.
    Problēma ir tā, kā pārtraukt šīs cilpas to izmantot web PHP, jo skriptu sarunas beigās pievienojot konsoli & Tas darbojas fonā, un ļaujiet konsoles bezmaksas zvans skriptu, ar ko tas beidzas, piemērs:

    sudo python sonar.py &

    Šie ir divi skripti, kas padara skaņu un pārliecinoties, ka tā pārtrauc zvanīt:

    importēšanas laikā
    importēt kā gpio RPi.GPIO

    GPIO.SetWarnings(Viltus)
    GPI.setMode(GPIO. VALDE)
    GPIO.Setup(7,GPIO. ĀRĀ)

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

    un izslēgšanās funkciju:

    importēšanas laikā
    importēt kā gpio RPi.GPIO

    GPIO.SetWarnings(Viltus)
    GPI.setMode(GPIO. VALDE)
    GPIO.Setup(7,GPIO. ĀRĀ)

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

    bet vienkārši, lai sagraut pirmo strādāja. Pateicoties sveiciens.

  11. Varētu saķēdēt vairākas komandas, ka, pamatojoties uz skripta nosaukuma, termināla skatīties jūsu PID un vēlāk nogalināt tā izpilde ar medījumu.

    Reiz atrast komandu, mainīt funkciju paredzēts slēgt ar Ctrl + C, viena vietā, visdažādākie N reizes Matt automātiski ar šo komandu.

  12. Ja ar taustiņu Ctrl + C aizver konsoli, bet es mēģināt īstenot caur PHP kā jūsu sūtījums leds, tad būs vēl viens veids, kā es saku.

    • Iepriekš jums ir risinājums, lai nogalinātu savu procesu ar BASH, atrast jūsu PID no faila nosaukuma; jums ir tikai integrēt jūsu PHP tīmekļa vietnē ar “exec”.

  13. labdien.
    Paldies par pamācību.

    Man ir problēma, nevar izpildīt skriptu, Ja palaižat no konsoles, bet tā lapa nav, Nav zināms, ka tas var būt. Es esmu darījusi to, ko jūs komentāru par
    “Mēs rakstām sudo visudo terminālā un beigās failu pievienošana www-data, kā sudoer, Tai jābūt.”

    Bet nekas. Ko vēl es paskatos uz?

    ar sveicieniem.

  14. labdien, labrīt,
    Nekas nespēj, paldies.

    Tas ļauj jautājums, viss strādā perfekti, tagad, Es gribētu, lai varētu pievienot ekrāna, kas norāda, kad leds ir ieslēgt vai izslēgt, Es atklāju dažus pantus, pat ar attēli rāda krāsu, atkarībā no tā, vai mainīgās lampas darbību, vai ne, mēģināt saprast operācijas, bet neizdodas, lai tā darbotos, Man mājas ar komandas, bet nekas ir aktivizēta, Es ceru, ka ne apgrūtināt ar šo un citu izskatu, Paldies par jūsu pārsteidzošu laipnību.

    Ignacio no Beļģijas

    • Hello Ignacio, Liels paldies par jūsu komentārs.

      Domāju, ka jūs izmantojat Javascript, lai to izdarītu, integrējot PHP funkcijas, kuras aktivizē Python skriptu, pārvaldīt barošanas gaismekļiem.

      JavaScript nav domino, Kopš tā laika neesmu web izstrādātājs, bet varbūt var orientēt sevi mazliet labāk, vai kādu citu lasītājs var palīdzēt jums iegūt to, ko vēlaties; bet to darīt, tas būtu nepieciešams, lai redzētu kodu, vai konsultācijas, kas jāievēro, lai mēģinātu noteikt, kur bug ir.

      uz drīzu redzēšanos, un daudz iedrošinājumu!

  15. Sveiki visiem liels paldies, Es uzzinu daudz.
    Ir jāievēro visi pasākumi, kas pakļauti, Var ieslēgt gaismas diodes no vietējā termināļa, kā norādījis ullu slodze php patch, piešķirt atļaujas pat vienu 775—-u.c.. Lappusē ar pogas ielādēt pēc vadīja/gpio, bet nekas. Es lietoju aveņu pi 2…..būs kaut kas ar šo karti?. Es augstu vērtēju jūsu sadarbības.

    • Hello Rafael, Paldies par komentāru.

      Tas ir iespējams, ka risinājums ir komentārus no iepriekšējās konsultācijas šajā sērijā, kas veltīta pieejamu mājas automatizācijas pamatā aveņu PI.

      Posmus, kas jāievēro, ir saderīgi ar jebkuras versijas IP, Man šķiet, ka varētu mainīt mājas lapā Python skriptu izpildi ar šādu komandu, kas izveidos failu jūsu aveņu mājas direktorijā:

      sudo touch /home/pi/funciona

      Ja viss strādā labi, Šis fails ir izveidots.

      • Paldies par jūsu ātru atbildi. Šīs izmaiņas ir veicis, kā pastāstīja man, Index, noņemot daļu Python un novietošana atpakaļ: sudo touch /home/pi/funciona , bet diemžēl fails netika izveidots ar manu aveņu. Es domāju, ka tas ir lielisks testēšanas un rezultāts, es uzskatu, ka koncentrēts problēma interneta zonā. Es izskatīsies vairāk informāciju citas konsultācijas. Paldies par jūsu palīdzību. sazināsimies.

        • Hello Rafael, tad jūs varētu darīt vienu un to pašu testu, nedaudz mainot faila ceļa, lai pārbaudītu, ja problēma ir ar atļaujas direktorija/var/www.

          sudo touch /var/www/funciona

  16. labdien, Varētu pateikt, kā veids, kā nodot tagu ar LED statuss no PHP web interfeisu
    šīs izmaiņas automātiski piešķirt, noklikšķinot uz vai nu teica pogu ieslēgt, izslēgt, Mirgojošs… etiķete, kurā ir norādīts statuss. Paldies par jūsu ieguldījumu, es ceru, ka jūs varat man palīdzēt..

    • Labdien, Chaka, Liels paldies par jūsu komentārs.

      Domāju, ka jūs varētu darīt to ar PHP un JavaScript, ja vēlaties, lai dotu dažas vairāk vizuālo efektu, vai veikt izmaiņas pogas.

      Ja vēlaties pievienot tekstu paraksta saskaņā ar pogas spiedienu, Tikai vajadzētu paplašināt funkcijas, kas saistītas ar katru ievades; Es pievienoju PHP pieejamo funkciju sarakstu:

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

    • Labdien, Jameson,

      Nevar labi saprast jautājumu, bet, lai atrastu IP ierīce var izmantot NMAP.

      Jums ir arī instrumenti ar grafisko interfeisu, ZenMap, pamatojoties uz NMAP un Fing'rs par Android ierīces.

    • Labdien, Jameson,

      IP, kas jums ir jāraksta jūsu pārlūkprogrammā ir patiešām aveņu PI, jo tas ir tas, ka darbojas kā web serveris, arī ja php fails nav uzskaitīti kā index. php jums būs jāpievieno atsevišķā faila nosaukums pa vienam pēc izmeklēšanas laika beigām. “/”.

      Manā gadījumā IP ir diapazonā 10.42.0.0 Jo tas ir IP NAT tipa sniegto virtuālā tīkla saskarne.

  17. Lūdzu, man ir vajadzīga palīdzība. Problēma ir tā, ka man ir viss, kā tādu, kas tev to izskaidroju, taču nestrādā PHP skripti.

    liels paldies

    • Sveiki, Sergio,

      Es domāju, ka jūs atsaucaties uz Python skriptu, citi bija tāda pati problēma, un ir vairāki risinājumi iepriekšējās piezīmes; Ja pēc pārbaudes tos nevar novērst neveiksmes ja jums dot vairāk datu varbūt citiem lasītājiem, vai es varētu jums palīdzēt.

      uz drīzu redzēšanos.

    • Labdien, Roberto, laipni lūdzam.

      Es neesmu eksperts, PHP, un šādos brīžos es meklēju pamācību izpildīt pasūtījumus tulks no php bash un tādējādi atzina, ka.

      Tas būtu lietderīgāk izmantot = exec vietā?- exec?

      Liels paldies par jūsu komentārs, uz drīzu redzēšanos.

  18. Ja nedarbojas web, bet, ja skripti, Tiks drīz veikt rakstu, tāpēc to var salabot; Pateicoties informāciju esat savācis dažādus lietotājus, kas nav strādājis.

    Ja jūs darbināt pasteigties, lai to salabotu, Jūs varat pārbaudīt, ja var direktorijs pastāv jūsu aveņu, un ja tā nedrīkst pārvietot visus failus šādā ceļā un aizstāt skripti “/var/www” pēc “/var/www/html” jo tagad
    Šis ir noklusējuma web servera ceļu.

    Ir arī iespējams, ka esat izdzēsis nav indekss, pēc noklusējuma, “index. HTML” vai mainīt to, trūkst “index. php”.

    Ceru, ka palīdzība, uz drīzu redzēšanos.

  19. Labdien, Antonio,
    Bija jautājums, ja web serveris var uzmontēt uzstādīt mājas automatizācijas sistēmu un mēģiniet twitter api, lai ieslēgtu apgaismojumu uc… (Esmu redzējis, ka to var izdarīt arī ar python ar dažām bibliotēkām un viegli sekot konsultācijas… bet jūs varētu darīt, kā es saku un ar php? ti, aveņu ir web serveris, ar čivināt un gpio ostās aizdegas leds
    Paldies jau iepriekš.

    • Nano Hello,

      PHP Web var palaist jebkuru komandu, komandu interpretatora BASH, kas ietver skriptus Python.

      Var izmantot bibliotēkā vai Twitter API, lai kad jums nosūtīs čivināt citējot no bot konta lietotājvārdu, izslēgt vai ieslēgt gaismu vai ierīces, kas saistīts ar šo ziņojumu, jo īpaši.

      Es neredzu problēmu, un tas, ka kāds varētu jums ieslēgt un savukārt jums gaismas un sadzīves; ja vien tas var ierobežot atkarībā no lietotāja, kas nosūtīts čivināt.

      Tas būtu interesanti, ja jūs esat komentējot to, ko jūs atradīsiet šajā sakarā.

      Paldies par komentējot, uz drīzu redzēšanos.

  20. labdien,
    Es sekoju apmācība, nokopējiet kodu tīmekļa, saglabājiet to kā PHP, mapē, kas izveidota mani serveri var , jo, ja es izbāzt index. php html mapē nevar atrast mani failu, Bet nu, Šķiet, ka viss ir labi. Es esmu tikai testēšanas ar GPIO 17, Es tad radīja divi .py, lai ieslēgtu un izslēgtu, Es viņiem atrodas tajā pašā mapē, kur fails index. php. Es atveru pārlūku, iekļautas indeksā, bet nevar darboties mani veda. Ja man ir ssh piekļuve arhīva aizdegas un izpildīt to caur konsoli, ja tas darbojas. nebūs kur pabūt nedarot. Protams mainīt ceļu skriptus no php, Kopš tā laika tas ir atšķirīgs no jūsu apmācību.
    Es ceru, ka jūs varat aizdot man roku, Esmu nozvejotas.
    Sveiciens.

    liels paldies.

  21. Sveiki peatonet, Es cenšos darīt izgudrojums, lai aktivizētu moduli 4 releji, no interneta, lai ieslēgtu vai izslēgtu vietējo apgaismojumu, man ir, problēma ir tā, ka pārbaudes, rezultātā ar redistencia sāk un pārtrauc pēc vēlēšanās no tīkla web, bet kad es varu pieslēgt pin40 (kas ir, kas ir konfigurēts) noņemot pretestību un veda, releja modulis sarkanā lampiņa izslēdzas un nav ieslēgts, vai izslēgts, man ir pārbaudīt sīpola.

    Lūdzu, palīdziet man, jo vairs nav, ja tas ir nepareizi releju modulis (nopelt aliexchinapress) taču nevienā no 2 moduļi, ka ir darbi, vai ir tas, ka raspberrypi nav nosūtīts pietiekami spriegumu relay (kā VCC man jūs kopš pin3)

    Atvainojiet, pilnība un paldies iepriekš

    Sveicieni draugiem

    • labdien, autorespondo mani man draugi, problēma bija tā, ka pin20 (manā gadījumā) vajadzēja tikai domās nostādīt izturība, Es to atnesu 330 zemējumu.
      Pieņemsim, tas ir, jo, kad jūs ejat veda uz releja noņemt pretestība

      Paldies par visu ?

      • Labdien, Jēzus, muchas gracias a ti por compartir la solución con nosotros.

        Disculpa si no pude contestar antes pero me pillaste con fiebre, en la última semana de clases preparando exámenes, y hasta arriba de trabajo (los Freelance no tenemos permiso para ponernos enfermos).

        Respecto al pin al que tienes conectado el VCC, en mi caso lo conecto al pin 2 o al 4 en su defecto ya que requiere 5V de alimentación.

        Si quieres puedes dar más detalles de tu prueba de concepto, estás utilizando leds en lugar de tomas de 220V AC entonces?

        Gracias por tu comentario.

  22. labdien, estoy haciendo un proyecto para la facultad y quisiera saber si existe la forma que desde una aplicacion android se pueda emular este sistema, ti, como manejar los pines de la raspberry de esta forma me parece 100 reizes daudz vieglāk nekā android programmas, Brīnums, ja lietojumprogrammu izveide varētu jebkādā veidā, automātiska vadīšana man šāda veida sistēmas nevajadzēs mācīties no jauna lieta, jo android programmas. Diemžēl esmu spiests sniegt projektu kā programma lietošanai mobilajos tālruņos, ne no web formu.
    Es ceru, ka jūsu atbilde

  23. Hola y gracias por todo, repito mi pregunta, cual es la diferencia para que esto funcione en la raspberry pi 3, iepriekš,

    paldies

    • Hello Ignacio, Paldies par komentāru.

      Este tutorial está desarrollado sobre una Raspberry PI 3 por lo que debería funcionar sin complicaciones.

      Si aún así no logras hacerlo funcionar, puedes compartir los errores o problemas que has encontrado.

  24. Hola colegas, necesito de vuestra ayuda pues estoy inmerso en un proyecto entre 3 especialidades, eléctrica, electrónica e informática, yo domino la parte de electricidad pero no soy especialista en las dos restantes. Les explico, necesito conectar un analizador de red M2DL2 a una Raspberry pi con el objetivo de registrar datos de consumo de corriente y poder trasmitirlos a la raspberry y que esta a su vez lo registre y visualice en una tabla de datos. Sé que la señal que saca el analizador es RS485 y la que debe entrar a la raspberry es RS232 por lo que necesito un convertidor de una señal a otra, lo que no sé es como hacer la interconexion entre el analizador, el convertidor y la raspberry. Sabéis algo de esto o me podéis orientar donde buscar información al respecto?
    ar sveicieniem.
    Ramón.

  25. Hola como andas?
    Si quisiera consultar el estado de un gpio, a traves de php, para que me diga si esta ON / OFF ya que me encuentro remoto. Como deberia hacer?

    Quizá existe alguna manera de que la rasp devuelva el valor que esta el gpio.

    Sino lo hare en una db ingresando 1 o 0 al presionar los botones, pero eso lo veo medio rustico

    • Hola Juani, Paldies par komentāru.

      El subsistema GPIO es al fin y al cabo parte del sistema de archivos /sys de GNU/Linux, y realmente se gestiona editando los valores de los archivos asignados a cada puerto GPIO.

      Puedes consultar si un GPIO está activo o inactivo leyendo el archivo que contiene su valor, un ejemplo en PHP para el GPIO 18:

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

      Si el valor es “1” el GPIO está activo, por el contrario si el valor es “0” está inactivo.

      uz drīzu redzēšanos.

  26. labdien, lo primero agradecerte la molestia de compartir tus conocimientos con los que tenemos inquietudes similares.

    Quisiera hacerte una consulta (espero que no sea muy tonta), ya hace meses que llevo dándole vueltas al tema de la creación de interfaces web para la raspi. Tu comentas el tema de darle permisos a www-data, pero eso, estaría bien como comentas para accesos desde entornos locales o para pruebas. ¿Que soluciones aconsejarías para entornos más seguros?

    Un saludo y gracias nuevamente

    • Hola Gon, gracias a tí por tu comentario; únicamente intento documentar como voy aprendiendo día a día sobre este fascinante mundo, de forma online para que así podamos aprender todos juntos.

      Quiero recordar a todos los lectores que a pesar de ser funcional este panel no es en absoluto perfecto, es un ejemplo realmente básico de lo que puede hacerse y cuanto más aprendo más cuenta me doy de lo mucho que se podría mejorar; este año estoy tratando de mejorar mis habilidades como programador ya que siempre me dediqué más a los sistemas y a la seguridad, y no tenía apenas nociones sobre estructuras de código, metodologías de diseño ni algoritmos; espero en breves sacar tiempo para mejorar el panel web y compartir una siguiente versión de la cual ya no me averguence tanto.

      En principio desde la versión 3 de la web es suficiente con añadir el usuario www-data al grupo GPIO para gestionar el estado de los pins evitando darle permisos de sudoer; esto puede hacerse mediante la siguiente orden:

      sudo usermod -a -G gpio www-data

      De todos modos creo que tu pregunta va más enfocada a restringir el acceso a dicho panel mediante autenticación, y esto puede hacerse con el modulo mod_auth para Apache2; también es recomendable utilizar mod_ssl aunque sea con un certificado autofirmado.

      Si vas a acceder desde el exterior siempre puedes añadir una capa más de seguridad configurando una VPN, a la cual puedes proteger el acceso con certificados x509, usuario y contraseña, y sistemas de prevención como fail2ban entre otros.

      Espero haber aclarado un poco tus dudas, muchas gracias por tu interés acerca del artículo.

      • Labdien, Antonio! En primer lugar muchísimas Gracias por responder y tan rápido.

        A mi me pasa un poco al revés, soy desarrollador web intentando empaparme del mundo de los sistemas y la seguridad. Es un placer que haya personas como tu que inviertan su tiempo documentando sus proyectos para que otros podamos aprender un poquito más cada día.

        Decirte que me has ayudado mucho. Tengo un proyectito conectado a la raspi, y llevo meses dándole vueltas a lo del interfaz y sin decidirme mucho que hacer ( que si php, que si cylon.js, servicios ya creados tipo mydevice y similares…) y siempre me topé con las mismas dudas: permisos, Drošības, …u.c.. Tu artículo (créeme que leído muchos) es de los pocos que van un poco más allá de como pinchar cables en las GPIO, de ahí el preguntarte.

        Gracias nuevamente, has aclarado muchas dudas.

        Iré probando e implementando según tenga tiempo libre, y si te interesa te comento resultados.

        Sveiciens

  27. Hola Que aplicaciones se pueden utilizar en los automóviles
    Se podría que funcionara milrrolling
    Alguien a echó algún proyecto sobre este tema
    Saudos

  28. estimado y si deseo hacerlo con input type radio y sin el boton submit, este podria ser llamado desde un js ? ajax? me gustaria puedas asesorarme gracias

  29. labs,
    He estado intentando realizar lo que propones y no lo he conseguido. He seguido todos los pasos y nada. El problema es el archivo php. He creado un archivo de texto en el que he copiado todo lo que has puesto arriba, sin modificar nada, tal cuál, y lo he guardado como php. Lo he ubicado dentro de la carpeta leds y no hay manera de que se ejecute. No sé cuál es el problema.
    Gracias y un saludo

  30. Hola Amigo, para mi proyecto me pidieron madar al prender el led de la misma forma pero publicnado desde tweter,tendras algun tuto para eso?? yo tenfo un codigo pero no lo puedo hacer jalar te lo podria compartir para que lo cheques??

atstāt atbildi

E-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti *

*