PIN Raspberry PI dan GPIO: Mengendalikan LED dari antarmuka web

Dalam posting terbaru dari seri ini, Kami melihat mereka adalah GPIO pin dan melayani, dan Bagaimana mengontrol kekuatan LED dari terminal; sebelum Anda mulai Kami telah menginstal GPIO perpustakaan untuk Python, dan sirkuit elektronik berkumpul dan bekerja.
Aplikasi web di HTML + PHP + Python untuk menangani beberapa LED melalui GPIO.

Pada kesempatan ini kita akan menginstal Apache web server, dan belajar untuk menulis kode dalam HTML dan PHP untuk mengontrol LED sama, atau beberapa, dari antarmuka web.

gpioprogramar0pngHal pertama yang harus kita lakukan adalah menginstal server web lampu, Jadi ketik perintah berikut dalam 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

Sekarang kami akan menambahkan sebagai sudoer untuk pengguna www-data, Ini bukanlah pilihan yang lebih aman, tapi ingat bahwa kita sedang melakukan tes dalam lingkungan yang terkendali; lingkungan dalam produksi kami harus mencari cara lain untuk menjalankan script dengan python sebagai sudoer.

Untuk mengedit izin, menulis sudo visudo di terminal dan pada akhir file Menambahkan www-data sebagai sudoer, Ini harus begitu.

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

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

Untuk setiap pin GPIO Kita perlu membuat sebuah subdirektori dan tiga skrip dengan Python; satu untuk menghidupkan, lain untuk mematikan, dan akhir script untuk membuat kami LED berkedip, Berikut adalah contoh dengan PIN 4.

#!usr/bin/env/ python
## enciende.py
#Importamos la libreria y le cambiamos el nombre a GPIO
Impor RPi.GPIO sebagai GPIO
#Kami membangun sistem penomoran bahwa kita ingin, 
#dalam hal ini sistem BCM
GPIO.setmode(GPIO. BCM)
#Mengkonfigurasi GPIO pin 4 sebagai output
GPIO.setup(4, GPIO. KELUAR)
#Kami menyalakan led
GPIO.output(4, GPIO. TINGGI)
#!usr/bin/env/ python
## apaga.py
#Kita mengimpor Perpustakaan dan mengubah namanya menjadi GPIO
Impor RPi.GPIO sebagai GPIO
#Kami membangun sistem penomoran bahwa kita ingin, 
#dalam hal ini sistem BCM
GPIO.setmode(GPIO. BCM)
#Mengkonfigurasi GPIO pin 4 sebagai output
GPIO.setup(4, GPIO. KELUAR)
#Mematikan dipimpin
GPIO.output(4, GPIO. RENDAH)
#Dan kita membebaskan GPIO
GPIO.cleanup()
#!usr/bin/env/ python
## parpadea.py
#Kita mengimpor Perpustakaan dan mengubah namanya menjadi GPIO
Impor RPi.GPIO sebagai GPIO

#Diperlukan untuk penundaan
Impor waktu

#Kami membangun sistem penomoran bahwa kita ingin, 
#dalam hal ini sistem BCM
GPIO.setmode(GPIO. BCM)

#Mengkonfigurasi GPIO pin 4 sebagai output
GPIO.setup(4, GPIO. KELUAR)

#Menghidupkan dan mematikan dipimpin 5 kali
untuk saya dalam kisaran(0,5):

        GPIO.output(4, GPIO. TINGGI)
        Time.Sleep(1)(1)
        GPIO.output(4, GPIO. RENDAH)
        Time.Sleep(1)(1)

#Dan kita membebaskan GPIO
GPIO.cleanup()

Sekarang adalah waktu untuk membuat halaman rumah kami dalam HTML dan PHP, berisi tombol-tombol yang kita akan tekan untuk menjalankan script Python dari antarmuka web, kemudian kita akan melihat bagaimana hirarki akhir.

<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

?>

Saya telah mengelompokkan itu Semua pada halaman yang sama seolah-olah membuat halaman di PHP untuk setiap pilihan, untuk menjalankannya, saya dikirim ke halaman script (sebuah halaman kosong); Sekarang menjalankan kode dan tetap pada halaman yang sama.

Akhirnya Kita harus mencapai hirarki berikut dalam subdirektori dari web server /var/www.

Screenshot dari 2014-10-05 00:06:52Jika Anda suka, Anda dapat mengikuti saya di Twitter, Facebook, Google +, LinkedIn, atau berbagi dengan tombol di bawah ini publikasi, Jika Anda memiliki pertanyaan atau saran jangan ragu untuk komentar.

Membantu kami untuk menjangkau lebih banyak pembaca Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

71 Thoughts on"PIN Raspberry PI dan GPIO: Mengendalikan LED dari antarmuka web

  1. Bagus, Setelah melihat Internet solusi rumah otomatisasi, Diputuskan oleh sistem Anda, tampaknya juga terkena.
    Meskipun demikian dan karena pengalaman saya nol di lembut. keraguan saya, Saya berharap Anda bisa memecahkan mereka, Saya telah melakukan banyak tes dan tidak ada, Aku tidak mengerti….:)
    melakukan semua langkah-langkah yang menjelaskan dan mengelola gpio dari terminal dengan putty, Tapi karena web tidak dapat mengaktifkan python script.
    Saya perlu melakukan halaman di /val/www dengan html (index.html) Jadi melayani saya apache. Dengan menempatkan website Anda di sini jika tombol Tinggalkan, tetapi tidak melaksanakan naskah php. Di halaman index.php, tidak akan dimasukkan dalam.
    Maaf atas ketidak-nyamannya dan terima kasih.

      • Terima kasih untuk menanggapi begitu cepat, Ya saya lakukan langkah untuk memberikan izin dalam file yang Anda masukkan, Saya bingung dengan halaman index.php, Anda menggantung direktori GPiO, hanya melihat tombol di web jika aku meletakkannya di /val/www….dalam html!…index.html, tetapi tidak melaksanakan naskah PHP. Yang harus meletakkan index.php yang menggantung direktori GPIO?

        • Jika Anda melihat dari dekat, index.php /var/www/leds 🙂 hang jika masih tidak bekerja, Komentar artikel ini dan melihat.

          Jika /var/ www/index.php cuelgas akan melihatnya dalam arah ini, tetapi itu tidak akan berhasil apapun:

          http://ipdelapi

          Jika menggantung /var/www/leds/will bekerja dengan baik tapi karena rute ini:

          http://ipdelapi/leds

          Saya harap ini memecahkan keraguan Anda dan bahwa Anda dapat pindah ke dunia ini begitu menarik.

          • Bagus, Saya memiliki masalah yang sama seperti orang di atas.

            Index.php saya menggantung dari /var/www/html/index.html
            , Jika saya mendapatkan html indeks dari sana tidak ditampilkan, tapi saya tidak punya masalah di sana, Masalah saya datang ketika pulsa tombol dan tidak berjalan saya uang kertas.

            PD: Aku memberinya segalanya dan izin

            Terima kasih atas jawaban Anda.
            Pesan pembuka

            J.G.

  2. Bagus, pekerjaan Anda adalah melayani saya banyak, Anda adalah mesin!
    Saya mencoba untuk membuat sistem otomatisasi untuk mengontrol beberapa LED dari web tetapi saya punya masalah Anda tidak dapat meringankan.
    Tema ini bahwa saya telah diaktifkan GPIO saya perlu, Saya mengaktifkan mereka dan menonaktifkan dari terminal, Menghubungkan PC yang lain terhubung pada jaringan yang sama untuk 192.168.X.X/leds/ dan situs web terlihat baik, menu untuk mengontrol rumah tampak sempurna, Tapi LED tidak merespon, Saya sudah mencoba oleh aktif dan pasif, sesuatu yang saya lakukan salah…
    Satu-satunya hal yang bisa saya katakan adalah bahwa Anda menampilkan kode sumber halaman dan hanya menampilkan kode html, PHP tidak muncul, tidak akan jika itu harus atau tidak.
    Saya pikir itu mungkin sesuatu PHP tapi aku tidak sangat yakin karena saya mencoba tes PHP dan itu baik, Aku putus asa lol

    • Hi John,

      Saya alegro banyak yang mungkin kegunaan 🙂 artikel saya selalu adalah menyambut komentar positif.

      Semua kode PHP dalam browser ditampilkan sebagai HTML, Karena fungsi PHP pada waktu dan secara dinamis membuat halaman web yang dilayani di dalam browser.

      Menjalankan skrip Python langsung jika LED menyala? hal yang benar akan mulai pengujian dari sini dan maju.

  3. Terima kasih untuk menjawab dengan cepat!
    Akhirnya format raspberry lagi, Aku mengikuti semua langkah lagi dan semuanya bekerja dengan indah, tidak menjadi yang bisa gagal.
    Anyway terima kasih untuk perhatian.
    Pesan pembuka

    • Terima kasih untuk berbagi keraguan, Saya senang bahwa itu akhirnya telah mengatur.

      Anda telah mengubah sesuatu dalam Raspberry Anda serta format, sebagai misalnya microUSB transformator?

      • Ya, Ketika saya membelinya aku meletakkan wastafel ke mikro untuk dia dan sehingga akan bekerja lebih cepat kecepatan, tetapi juga tidak ada perubahan yang sangat nyata.
        Itu adalah satu-satunya hal yang mengubah Anda untuk ditaburi parutan.

        • Hi John, Saya senang membaca Anda lagi di sini.

          Pada prinsipnya tidak memiliki yang mempengaruhi Overclock dalam aspek ini, tapi mungkin telah konfigurasi apapun; Sekarang bahwa Anda bekerja dengan pembersihan Raspbian yang kembali untuk memberikan masalah setelah produksi, Sekarang jika yang akan merekomendasikan Anda untuk menemukan akar masalah.

          Perubahan Overclock Anda akan melihat dalam sesuai dengan tugas-tugas tertentu yang membutuhkan banyak daya komputasi, tapi beberapa faktor seperti Ethernet port akan terus menurut leher botol yang menggunakan.

          Anda dapat melihat review saya lakukan Raspberry PI B model, B + dan B2 di link berikut, dengan kinerja penuh pengujian:

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

          Saya berharap Anda akan berguna, melihat Anda segera 🙂

  4. Halo, Aku punya sedikit pertanyaan/masalah. Saya ingin menghubungkan Bel bukan dipimpin, tapi saya ingin mencoba pertama dengan led untuk belajar. Hal ini diperlukan untuk membuat index.html dan .php lainnya?
    Aku punya dipimpin terhubung ke gpio4, dan aku punya script on.py dan off.py lain di dalam folder 4. Konsol bekerja sempurna.
    dan tidak dapat menempatkan index.html karena itu tidak akan membiarkan saya, tapi hanya untuk memimpin fungsi 4.

    Saya berharap bahwa Anda dapat membantu saya, Saya telah mengunjungi profil facebook Anda dan saya berharap suatu hari nanti kedua Raspberry Pi seperti yang Anda tahu. Salam dan terima kasih.

  5. Web di PHP mungkin mengandung HTML oleh yang hanya perlu index.php

    Jika Anda memasukkan perintah PHP untuk menjalankan skrip python dalam HTML file, tidak akan berjalan.

    Sekarang bahwa terminal bekerja, Anda dapat hanya menyalin index.php tutorial ini, menghilangkan GPIO lain dan hanya menyisakan 4 Itulah apa yang Anda gunakan; dan itu harus bekerja.

    Jika Anda tidak dapat mengedit file di/var/www pasti akan terjadi dengan izin, Dalam tutorial ini adalah solusi dan harus bekerja, Jika itu tidak komentar dan saya akan mencoba untuk memberikan Anda sebuah bantuan.

  6. Halo, Aku akan mengambil untuk menempatkan pertanyaan lain di sini, Jika Anda atau seseorang yang bisa membawa kabel. Aku punya script ini dan ingin untuk menghapus folder dengan tanggal sekali reboot, dan apa yang menarik minat saya, tahu bagaimana melakukan itu ketika datang ke x-ukuran jumlah hasil tangkapan, Semua dihapus atau restart RPi. Ucapan terima kasih.

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

    # Beberapa hal yang selalu menjalankan
    #sentuhan /var/lock/motionStartup
    logger - s “Script disebut motionStartup”

    # Melaksanakan fungsi-fungsi khusus bila diminta oleh sistem
    kasus “$1” dalam
    Mulai)
    logger - s “Skrip motionStartup mulai”
    TIMESTAMP = $(tanggal + %m %d %H %M %S dan % | SED's / / / g') # Tidak ada ruang
    logger - s “Skrip motionStartup $TIMESTAMP”
    sudo mkdir/motiontmp / $TIMESTAMP || logger - s “Mkdir kesalahan mulai”
    menemukan/motiontmp/gerakan /. -tipe f - ukuran 0 -print0 - menghapus
    menemukan/motiontmp/gerakan /. -MaxDepth 1 -tipe f | \
    XARGS - SAYA '{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    Stop)
    logger - s “Skrip motionStartup berhenti”
    ;;
    *)
    echo “Penggunaan: /etc/init.d/motionStartup {Mulai|Stop}”
    keluar 1
    ;;
    ESAC

    keluar 0

  7. Jika Anda tambahkan baris ini pada awal skrip, setiap kali Anda menjalankan script sebelum Anda melakukan apapun Anda akan menghapus semua folder dalam motiontmp /

    sudo rm - rf/motiontmp / *

    Berkaitan dengan menghapus file ketika Anda mencapai ukuran tertentu, Anda bisa mencoba menggabungkan perintah df - h menampilkan penggunaan disk direktori, atau partisi:

    DF - h /motiontmp

    Dengan perintah lain seperti wc atau sed sehingga itu hanya membaca kalimat mengacu MB atau GB digunakan, Akhirnya dengan jika Anda bisa program bagian bahwa jika hasilnya lebih besar dari N, Jalankan perintah yang dijelaskan di atas rm.

    • Untuk menghapus folder sempurna, Tapi kemudian…
      Maaf tapi aku agak baru dan saya hilang, karena akan misalnya untuk ketika mencapai gerakan direktori/motiontmp / / 5 Gigas? Terima kasih salam.

  8. Maaf untuk jadi diikuti banyak posting tapi seperti aku menemukan update. Sesuatu seperti ini mungkin bekerja?

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

    ukuran = du - sh /motiontmp

    membaca “ukuran”

    Jika [ “$ukuran” > “2048000K” ]; kemudian

    sudo rm - rf/motiontmp / *

    lain

    logger - s “Script disebut motionStartup”

    # Melaksanakan fungsi-fungsi khusus bila diminta oleh sistem
    kasus “$1” dalam
    Mulai)
    logger - s “Skrip motionStartup mulai”
    TIMESTAMP = $(tanggal + %m %d %H %M %S dan % | SED's / / / g') # Tidak ada ruang
    logger - s “Skrip motionStartup $TIMESTAMP”
    sudo mkdir/motiontmp / $TIMESTAMP || logger - s “Mkdir kesalahan mulai”
    menemukan/motiontmp/gerakan /. -tipe f - ukuran 0 -print0 - menghapus
    menemukan/motiontmp/gerakan /. -MaxDepth 1 -tipe f | \
    XARGS - SAYA '{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    Stop)
    logger - s “Skrip motionStartup berhenti”
    ;;
    *)
    echo “Penggunaan: /etc/init.d/motionStartup {Mulai|Stop}”
    keluar 1
    ;;
    ESAC

    keluar 0

    Fi

  9. Halo itu seperti teman, Maaf mengikuti contoh Anda dan led menyala, tidak ada masalah, tetapi ketika Anda klik pada tombol mematikan, berkedip dipimpin, sudah memeriksa kode dan segala sesuatu adalah benar :/ Anda memiliki gagasan yang bisa lakukan salah?

    • Halo Fco, Terima kasih atas komentar Anda.

      Di web, Ada tiga tombol:

      Menghidupkan, Matikan, dan berkedip.

      Jika Anda bisa, paste kode yang sudah Anda tetapkan tombol menonaktifkan di sini, Jadi komentar mungkin bahwa tombol menonaktifkan menjalankan script yang harus dikaitkan dengan tombol berkedip.

      Sampai jumpa lagi.

  10. Halo untuk semua, lain meragukan lebih untuk menambahkan lol.

    Sebelum saya dimasukkan ke dalam latar belakang, Untuk mengaktifkan suara Bel (Bel) Ini harus menjadi loop yang meletakkan pin Anda 1 dan 0 terus-menerus, bukan sebagai dipimpin bahwa sementara 1 Masih.
    Masalahnya adalah cara untuk menghentikan ini loop untuk menggunakannya dalam web php, karena konsol dengan menambahkan pada akhir panggilan script & Itu berjalan di latar belakang dan membiarkan konsol gratis untuk memanggil script yang berakhir itu, contoh:

    sudo python sonar.py &

    Berikut adalah dua skrip, yang membuat suara dan membuat yakin itu berhenti berdering:

    Impor waktu
    Impor RPi.GPIO sebagai gpio

    GPIO.SetWarnings(Palsu)
    GPI.setMode(GPIO. DEWAN)
    GPIO.Setup(7,GPIO. KELUAR)

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

    dan shutoff:

    Impor waktu
    Impor RPi.GPIO sebagai gpio

    GPIO.SetWarnings(Palsu)
    GPI.setMode(GPIO. DEWAN)
    GPIO.Setup(7,GPIO. KELUAR)

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

    tapi hanya untuk mengganggu pertama bekerja. Ucapan terima kasih.

  11. Anda dapat menggabungkan beberapa perintah, untuk itu berdasarkan nama script, terminal melihat PID Anda dan kemudian membunuh pelaksanaannya dengan membunuh.

    Setelah menemukan perintah, mengubah fungsi dimaksudkan untuk menutup dengan Ctrl + C, oleh salah satu sebaliknya, ramai N kali Matt secara otomatis dengan perintah ini.

  12. Jika dengan Ctrl + C menutup di konsol, tapi aku mencoba untuk mengimplementasikan hal ini melalui PHP sebagai LED posting Anda, maka akan harus menjadi cara lain saya mengatakan.

    • Di atas, Anda memiliki solusi untuk membunuh proses Anda dengan BASH, menemukan Anda PID dari nama file; Anda hanya perlu mengintegrasikannya ke dalam situs web PHP dengan “exec”.

  13. Halo.
    Makasih untuk tutorial.

    Saya punya masalah, tidak melaksanakan script, Jika Anda menjalankan mereka dari konsol, Tapi karena halaman tidak, Aku tidak tahu bahwa hal itu dapat. Saya telah melakukan apa komentar Anda untuk
    “Kami menulis sudo visudo di terminal dan pada akhir file menambah www-data sebagai sudoer, Ini harus begitu.”

    Tapi tidak ada. Apa lagi yang bisa saya Cari di?

    Salam hormat.

  14. Halo, Selamat pagi,
    Pada apa-apa, Terima kasih.

    Hal ini memungkinkan pertanyaan, segala sesuatu bekerja sempurna, sekarang, Saya ingin dapat menambah layar yang menunjukkan Kapan LED diaktifkan atau tidak aktif, Saya menemukan beberapa artikel bahkan dengan gambar yang memperlihatkan warna tergantung pada apakah lampu berubah berfungsi atau tidak, mencoba memahami operasi tapi gagal untuk membuatnya bekerja, Saya mendapatkan ke web dengan perintah tapi tidak diaktifkan, Saya berharap untuk tidak repot-repot dengan tampilan ini dan lain, Terima kasih atas kebaikan Anda menakjubkan.

    Ignacio dari Belgia

    • Halo Ignacio, Terima kasih banyak atas komentar Anda.

      Saya rasa Anda menggunakan Javascript untuk melakukan hal ini, mengintegrasikan fungsi PHP yang mengaktifkan skrip Python untuk, mengelola kekuatan-luminair.

      JavaScript tidak domino, Karena saya bukan seorang pengembang web tapi mungkin Anda bisa mengarahkan diri Anda sedikit lebih baik, atau beberapa pembaca lain dapat membantu Anda mendapatkan apa yang Anda inginkan; tetapi untuk melakukannya akan perlu untuk melihat kode, atau tutorial yang Anda mengikuti untuk mencoba untuk mendeteksi di mana bug.

      Sampai jumpa lagi, dan banyak dorongan!

  15. Halo semua banyak terima kasih, Saya belajar banyak.
    Saya telah mengikuti semua langkah yang terkena, Aku dapat menyalakan LED dari lokal terminal, memuat php patch seperti yang diperintahkan oleh ullu, Berikan izin bahkan satu 775—-dll. Memuat halaman dengan tombol setelah memimpin/gpio tapi tidak ada. Saya menggunakan Raspberry pi 2…..akan menjadi sesuatu yang dengan kartu?. Saya menghargai kerja sama Anda.

    • Halo Rafael, Terima kasih atas komentar.

      Dimungkinkan bahwa solusi adalah di komentar tutorial sebelumnya dalam seri ini ditujukan untuk rumah otomatisasi terjangkau berdasarkan Raspberry PI.

      Langkah-langkah untuk mengikuti kompatibel dengan apapun versi IP, Itu terjadi kepada saya bahwa Anda bisa mengubah eksekusi script python situs web dengan perintah berikut yang akan membuat file di direktori home Anda Raspberry:

      sudo touch /home/pi/funciona

      Jika semua bekerja dengan baik, File ini harus dibuat.

      • Terima kasih atas tanggapan cepat. Saya membuat perubahan, ketika ia mengatakan kepada saya, di index.html dengan menghapus bagian Python dan menempatkan kembali: sudo touch /home/pi/funciona , tetapi sayangnya file tidak dibuat di raspberry saya. Saya pikir itu adalah tes yang baik dan hasil yang saya percaya itu terkonsentrasi masalah di daerah web. Aku akan melihat informasi lebih lanjut di tutorial lainnya. Terima kasih atas bantuan Anda. Saling berhubungan.

        • Halo Rafael, maka Anda dapat melakukan pengujian yang sama dengan sedikit mengubah path file untuk memeriksa jika masalahnya terletak dengan izin direktori/var/www.

          sudo touch /var/www/funciona

  16. Halo, Aku tahu cara untuk menaruh tag dengan LED status dari antarmuka web PHP
    perubahan itu secara otomatis memberikan mengklik kata tombol baik untuk menyalakan, Matikan, berkedip… memiliki label yang memberitahukan status. Terima kasih atas masukan Anda saya harap Anda dapat membantu saya..

    • Halo Chaka, Terima kasih banyak atas komentar Anda.

      Saya berpikir bahwa Anda bisa melakukannya dengan PHP dan JavaScript jika Anda ingin memberikan beberapa efek visual, atau membuat perubahan ke tombol.

      Jika Anda hanya ingin menambahkan teks keterangan menurut tekanan tombol, Anda hanya harus memperpanjang fungsi yang terkait dengan setiap masukan; Saya sertakan daftar fungsi yang tersedia di PHP:

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

    • Halo Jameson,

      Saya juga tidak mengerti pertanyaan, Namun untuk menemukan IP perangkat Anda dapat menggunakan NMAP.

      Anda juga memiliki alat dengan antarmuka grafis sebagai ZenMap berdasarkan NMAP dan Fing untuk perangkat Android.

    • Halo Jameson,

      IP yang Anda ketik di browser Anda memang yang Raspberry PI karena ini adalah yang bertindak sebagai web server, juga jika file php Anda tidak terdaftar sebagai index.php Anda akan memiliki untuk menambahkan nama file terpisah dengan satu setelah ip “/”.

      Dalam kasus saya IP tersebut dalam kisaran 10.42.0.0 Karena IP jenis NAT yang disediakan oleh antarmuka jaringan virtual.

  17. Silahkan saya butuh bantuan. Masalahnya adalah bahwa saya memiliki segala sesuatu seperti yang menjelaskannya kepada Anda, tetapi tidak bekerja di skrip PHP.

    Terima kasih banyak

    • Hi Sergio,

      Saya kira Anda mengacu pada skrip di Python, orang lain memiliki masalah yang sama dan ada beberapa solusi dalam komentar sebelumnya; Jika setelah pengujian mereka berlanjut kegagalan jika Anda membawa lebih banyak data mungkin pembaca lainnya atau saya bisa membantu Anda.

      Sampai jumpa lagi.

  18. Mengapa? “untuk- exec…” Melainkan “untuk = exec…” ?

    Saya tidak mengerti dan saya belum menemukan formula ini di google.

    • Halo Roberto, Selamat datang.

      Saya bukan ahli di php, dan pada saat-saat yang saya mencari tutorial untuk melaksanakan amanat dalam interpreter bash dari php dan dengan demikian menemukan itu.

      Itu akan lebih tepat untuk menggunakan untuk = exec bukan?- exec?

      Terima kasih banyak atas komentar Anda, Sampai jumpa lagi.

  19. Jika tidak Anda bekerja web tetapi jika script, Aku akan segera membuat sebuah artikel sehingga Anda dapat memperbaikinya; Berkat informasi yang saya telah mengumpulkan berbagai pengguna yang belum bekerja.

    Jika Anda menjalankan Anda terburu-buru untuk memperbaikinya, Anda dapat memeriksa apakah var direktori ada di raspberry Anda, dan jika demikian Anda harus memindahkan semua file ke path tersebut dan mengganti dalam skrip “/var/www” oleh “/var/www/html” sejak sekarang
    Ini adalah default web server path.

    Hal ini juga mungkin bahwa Anda tidak menghapus indeks secara default, “index.html” atau hilang Anda mengubahnya oleh “index.php”.

    Saya berharap untuk bisa membantu, Sampai jumpa lagi.

  20. Halo Antonio,
    Aku bertanya-tanya jika web server dapat dipasang untuk menyesuaikan sistem Otomasi rumah dan mencoba kericau api untuk menyalakan lampu dll… (Saya telah melihat bahwa itu dapat juga dilakukan dengan python dengan beberapa perpustakaan dan mudah untuk mengikuti tutorial… Tapi Anda bisa melakukan seperti yang saya katakan dan dengan php? yaitu, raspberry adalah web server dengan twitter dan gpio Port menyalakan LED
    Terima kasih sebelumnya.

    • Halo Nano,

      Dari web di php dapat menjalankan perintah dalam perintah penerjemah BASH, itu termasuk script dengan Python.

      Anda dapat menggunakan perpustakaan atau Twitter API sehingga ketika Anda akan mengirim menciak mengutip nama pengguna akun bot, menonaktifkan atau mengaktifkan lampu atau peralatan terkait dengan pesan itu khususnya.

      Saya melihat sebuah masalah, dan itu adalah bahwa siapa pun bisa menghidupkan Anda dan mengubah Anda lampu dan peralatan rumah; kecuali bahwa hal itu dapat membatasi tergantung pada user yang mengirim menciak.

      Akan menarik jika komentar Anda pada apa yang Anda temukan dalam hal ini.

      Terima kasih atas komentar, Sampai jumpa lagi.

  21. Selamat sore,
    Saya mengikuti tutorial, Salin kode web, Simpan sebagai .php, dalam folder yang menciptakan aku server var , karena jika saya meletakkan index.php dari html folder tidak menemukan saya file, tapi baik, Tampaknya bahwa segala sesuatu adalah OK. Saya hanya menguji dengan GPIO 17, Saya kemudian membuat dua .py, untuk menghidupkan dan mematikan, Saya telah terletak mereka dalam folder yang sama sebagai file index.php. Aku membuka browser, dimasukkan dalam indeks, tapi akan beroperasi saya dipimpin. Jika saya memiliki ssh akses Arsip menyatu dan menjalankannya melalui konsol jika yang bekerja. tidak akan di mana saya akan gagal. Tentu saja mengubah path ke script dari php, Karena itu berbeda dari Les Anda.
    Saya berharap Anda dapat meminjamkan tangan, Aku 'm menangkap.
    Pesan pembuka.

    Terima kasih banyak.

  22. Halo peatonet, Saya mencoba untuk melakukan sebuah penemuan untuk mengaktifkan modul 4 Relay dari web untuk menghidupkan atau mematikan lampu lokal saya memiliki, Masalahnya adalah bahwa dalam ujian, memimpin dengan berhenti di akan dan redistencia mulai dari web, Tapi ketika saya menghubungkan pin40 (Itulah yang saya telah mengkonfigurasi) menghilangkan hambatan dan memimpin, menutup lampu merah modul relay dan tidak dihidupkan atau dimatikan untuk menguji bohlam.

    Tolong bantu saya karena tidak lagi adalah jika itulah salah modul relay (sialan aliexchinapress) tapi tidak ada 2 modul yang saya telah bekerja atau adalah bahwa raspberrypi tidak dikirim tegangan cukup ke relay (sebagai VCC aku punya Anda sejak pin3)

    Maaf untuk omelan dan terima kasih sebelumnya

    Salam teman-teman

    • Halo, autorespondo saya saya teman, masalah itu yang di pin20 (dalam kasus saya) harus menempatkan perlawanan, Aku meletakkannya 330 dibumikan.
      Saya kira itu karena ketika Anda melewati menyebabkan relay Hapus perlawanan

      Terima kasih untuk segalanya ?

      • Halo Yesus, Banyak terima kasih kepada Anda untuk berbagi solusi dengan kami.

        Maaf jika saya tidak dapat menjawab sebelumnya tapi aku menangkap dengan demam, dalam minggu terakhir kelas mempersiapkan ujian, dan pekerjaan (Lepas tidak memiliki izin untuk mendapatkan sakit).

        Sehubungan dengan pin yang bahwa Anda telah terhubung VCC, dalam kasus saya saya terhubung ke pin 2 atau 4 gagal sudah memerlukan catu daya 5V.

        Jika Anda ingin Anda dapat memberikan rincian lebih lanjut dari Anda bukti dari konsep, Anda kemudian menggunakan LED bukan 220V AC outlet?

        Terima kasih atas komentar Anda.

  23. Halo, Saya lakukan sebuah proyek untuk sekolah dan bertanya-tanya apakah ada cara bahwa Anda bisa meniru sistem ini dari aplikasi android, yaitu, Bagaimana menangani pin dari raspberry cara ini tampaknya 100 kali lebih mudah daripada dalam aplikasi android, Aku bertanya-tanya jika membuat aplikasi bisa dengan cara apapun otomatis mengarahkan saya untuk jenis sistem untuk menghindari keharusan untuk belajar dari awal program hal dalam android. Sayangnya saya berkewajiban untuk memberikan proyek sebagai aplikasi mobile, bukan dari formulir web.
    Saya berharap jawaban Anda

  24. Halo teman terima kasih!! penjelasan yang sangat baik!! Jayalah OpenSource. Terima kasih atas masukan Anda.

  25. Halo dan terima kasih untuk segalanya, Saya ulangi pertanyaan saya, What is the perbedaan bagi mereka untuk bekerja di raspberry pi 3, terlebih dahulu,

    Terima kasih

    • Halo Ignacio, Terima kasih atas komentar.

      Tutorial ini dikembangkan pada Raspberry PI 3 oleh apa harus menjalankan tanpa komplikasi.

      Jika masih tidak bisa bekerja, Anda dapat berbagi semua kesalahan atau masalah yang Anda telah menemukan.

  26. Halo kolega, Saya perlu bantuan Anda karena aku sedang tenggelam dalam sebuah proyek antara 3 spesialisasi, listrik, Elektronik dan ilmu komputer, Saya domino bagian listrik tapi tidak aku spesialis dalam dua yang tersisa. Saya menjelaskan kepada mereka, Saya membutuhkan dulu penganalisa jaringan M2DL2 Raspberry pi untuk merekam data dari konsumsi saat ini dan untuk mengirim mereka untuk raspberry dan mendaftar dan ditampilkan dalam tabel data yang pada gilirannya. Aku tahu bahwa sinyal yang membuat pemindai RS485 dan RS232 yang harus memasukkan raspberry adalah apa yang saya butuhkan Konverter satu sinyal ke lain, apa yang saya tidak tahu adalah bagaimana membuat antara Analyzer, Konverter dan raspberry. Tahu sesuatu ini atau saya dapat langsung mana mencari informasi untuk menghormati?
    Salam hormat.
    Ramon.

  27. Halo seperti Anda?
    Jika Anda ingin memeriksa status gpio, melalui php, Jadi katakan padaku jika ini ON / OFF karena saya terpencil. Sebagaimana mestinya?

    Mungkin ada beberapa cara yang ditaburi parutan mengembalikan nilai yang gpio.

    Tapi kelinci di db dengan memasukkan 1 o 0 dengan menekan tombol, tapi yang saya lihat menengah pedesaan

    • Hola Juani, Terima kasih atas komentar.

      GPIO subsistem adalah akhirnya dan dalam bagian dari the/sys file sistem GNU/Linux, dan benar-benar dikelola oleh mengedit nilai setiap GPIO port-mapping file.

      Anda dapat memeriksa apakah GPIO aktif atau membaca file yang berisi nilai Anda, contoh di PHP untuk GPIO 18:

      $estado_gpio18 = file_get_contents(“/sys/kelas/gpio/gpio18/nilai”);

      Jika nilai “1” GPIO aktif, di sisi lain, jika nilai “0” idle.

      Sampai jumpa lagi.

  28. Halo, pertama terima kasih atas kerumitan dari berbagi pengetahuan yang kita memiliki kekhawatiran yang sama.

    Saya ingin membuat query (Saya berharap hal ini tidak sangat konyol), bulan lalu bahwa saya sudah merenungkan atas masalah penciptaan antarmuka web untuk raspi. Komentar Anda topik memberikan izin ke www-data, Tapi itu, Akan lebih baik sebagai komentar untuk akses dari lingkungan setempat atau untuk pengujian. Yang akan merekomendasikan solusi untuk lingkungan yang lebih aman?

    Salam dan terima kasih lagi

    • Halo Gon, Terima kasih atas komentar Anda; Saya hanya mencoba untuk mendokumentasikan karena saya belajar setiap hari tentang dunia ini menarik, formulir online sehingga kami dapat belajar bersama-sama.

      Saya ingin mengingatkan semua pembaca bahwa meskipun fungsional panel ini sama sekali tidak sempurna, contoh yang benar-benar dasar dari apa yang dapat dilakukan dan semakin aku belajar lebih aku menyadari berapa banyak yang dapat ditingkatkan; Tahun ini saya mencoba untuk meningkatkan kemampuan saya sebagai programmer sejak selalu menghabiskan lebih banyak untuk sistem dan keamanan, dan ia tidak hanya gagasan tentang struktur kode, metodologi desain atau algoritma; Saya harap dalam waktu singkat mengambil untuk memperbaiki web panel dan berbagi versi berikutnya sudah lakukan bukan aku begitu banyak averguence.

      Pada prinsipnya dari versi 3 Web cukup untuk menambahkan www-data pengguna ke grup GPIO untuk mengelola keadaan pin menghindari memberikan sudoer izin; Ini dapat dilakukan menggunakan perintah berikut:

      sudo Ubuntu - a - G gpio www-data

      Anyway, saya pikir bahwa pertanyaan Anda lebih terfokus pada membatasi akses ke panel dengan otentikasi, dan ini dapat dilakukan dengan modul mod_auth untuk Apache2; Hal ini juga dianjurkan untuk menggunakan mod_ssl baik dengan sertifikat yang ditandatangani sendiri.

      Jika Anda ingin akses dari luar biasa Anda dapat menambahkan satu lapisan keamanan dengan mengkonfigurasi VPN, yang Anda dapat melindungi akses dengan x 509 sertifikat, username dan password, dan sistem pencegahan seperti fail2ban antara lain.

      Saya berharap saya telah menjelaskan sedikit keraguan, Terima kasih atas minat Anda dalam artikel.

      • Halo Antonio! Pertama dari semua terima kasih untuk menanggapi begitu cepat dan.

        Mi saya berjalan agak mundur, Saya pengembang web yang berusaha untuk menyerap dunia sistem dan keamanan. Senang bahwa orang tidak seperti Anda yang menginvestasikan waktu mendokumentasikan proyek-proyek mereka sehingga orang lain dapat belajar sedikit lebih setiap hari.

        Memberitahu Anda bahwa saya telah membantu banyak. Aku punya proyek kecil terhubung ke raspi, dan itu butuh waktu bulan yang berputar-putar antarmuka dan tanpa banyak melakukan memutuskan saya ( Jika php, Jika cylon.js, jenis layanan mydevice yang sudah dibuat dan sejenisnya…) dan saya selalu menemukan keraguan yang sama: izin, Keamanan, …dll. Artikel Anda (Percayalah bahwa membaca banyak) beberapa yang pergi sedikit lebih jauh sebagai menusuk kabel GPIO, Oleh karena itu meminta Anda.

        Terima kasih lagi, Anda telah menjelaskan banyak keraguan.

        Aku akan menguji dan menerapkan seperti Anda memiliki waktu luang, dan jika Anda tertarik saya menyebutkan hasil.

        Pesan pembuka

  29. Halo bahwa aplikasi dapat digunakan pada kendaraan bermotor
    Itu bisa yang bekerja milrrolling
    Seseorang untuk pemain setiap proyek topik ini
    Saúde

Tinggalkan balasan