Raspberry PI - menerapkan sistem terjangkau rumah otomatisasi [Bagian I]

Dalam posting sebelumnya dalam seri ini, Kami melihat Apa yang GPIO pin, dan bagaimana kontrol LED dengan mereka dari kami Raspberry PI oleh Bash dan Python, o dengan satu aplikasi web.

portadarelele

Pada kesempatan ini kita akan belajar untuk mengontrol kekuatan peralatan listrik; sebelum Anda mulai server kita telah menginstal LAMPU seperti kita lihat dalam pengiriman sebelumnya.

Untuk menerapkannya, akan menggunakan relay Dewan dari 5V dan delapan saluran, Itu harus optoacoplada untuk melindungi Raspberry PI; Sejak perangkat yang kita akan periksa dengan 220V, dan pin GPIO Raspberry bekerja dengan maksimal 3,3V.

placarele

Relay optoacoplados piring.

Kita harus melakukan antara relay dan Raspberry PI koneksi berikut.

Modul relay optoacoplados
Raspberry PI model, B, A +, B +
VCC
+ 5V
DALAM 8
GPIO 17
GND GND
KAMERA DIGITAL OLYMPUS

Hubungan antara PI Raspberry dan relay piring.

Sekarang kita akan menguji jika koneksi bekerja, dengan tes sederhana di Bash, pengaturan pin GPIO 17 Keluaran, dan memberikan nilai tinggi Logis.

#Exportamos el PIN deseado
usuario@maquina:~$ sudo echo 17 > /sys/class/gpio/export

#Establecemos la direccion (salida o entrada)
usuario@maquina:~$ sudo echo out > /sys/class/gpio/gpio17/direction

#Activamos la salida del rele dandole un valor de 1 al bit
usuario@maquina:~$ sudo echo 1 > /sys/class/gpio/gpio17/value

Setelah telah menyalakan led kontrol relay, karena kita dapat mematikannya dan melepaskan pin GPIO.

#Apagamos la salida del rele
usuario@maquina:~$ sudo echo 0 > /sys/class/gpio/gpio17/value

#Liberamos el PIN asociado
usuario@maquina:~$ sudo echo 17 > /sys/class/gpio/unexport

Kita sudah diuji fungsi, Jadi sekarang kita akan melihat halaman web kita perlu untuk menjadwalkan, Cukup lebih sederhana daripada tes dengan LED Kita lihat dalam pengiriman terakhir.

<html>
 <head>
                 <!--/var/www/rele/index.php-->
 </head>
 <body>
 <!--GPIO17--> 
 <form action="" method="post">
 Enchufe 0 [GPIO 17]&nbsp;<input type="submit" name="encender17" value="Encender">
 <input type="submit" name="apagar17" value="Apagar">
 <input type="submit" name="parpadear17" value="Parpadear">
 </form> 
 <br></br>
 </body>
</html>

<?php
// Funciones PHP del pin GPIO 17
 if ($_POST[encender17]) { 
 $a- exec("sudo sh /var/www/rele/gpio/17/enciende.sh");
 echo $a;
 }

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

 if ($_POST[parpadear17]) { 
 $a- exec("sudo sh /var/www/rele/gpio/17/parpadea.sh");
 echo $a;
 }
// Fin de las funciónes del pin GPIO 17
?>

Kita perlu membuat ini tiga skrip di bash untuk menghidupkan, Mematikan dan berkedip; Skrip ini ditempatkan di /var/www/relay/gpio/17 /.

#!/bin/bash
#enciende.sh

#Exportamos el PIN deseado
echo 17 > /sys/class/gpio/export

#Establecemos la direccion (salida o entrada)
echo out > /sys/class/gpio/gpio17/direction

#Activamos la salida del rele dandole un valor de 1 al bit
echo 1 > /sys/class/gpio/gpio17/value
#!/bin/bash
#apaga.sh

#Apagamos la salida del rele
echo 0 > /sys/class/gpio/gpio17/value

#Liberamos el PIN asociado
echo 17 > /sys/class/gpio/unexport
#!/bin/bash
#parpadea.sh

#Exportamos el PIN deseado
echo 17 > /sys/class/gpio/export

#Establecemos la direccion (salida o entrada)
echo out > /sys/class/gpio/gpio17/direction

#Activamos la salida del rele dandole un valor de 1 al bit, y lo desactivamos 5 veces
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value

#Liberamos el PIN asociado
echo 17 > /sys/class/gpio/unexport

Ketika kita memiliki script dan index.php pada rute mereka masing-masing, Kita harus dapat melihat hirarki berikut direktori pada web server.

Screenshot dari 2014-11-08 16:27:54Pada kesempatan ini kami juga harus membuat sudoer untuk pengguna www-data; untuk itu, jalankan sudo visudo di terminal, dan akan menambahkannya pi di bawah pengguna sehingga pengguna www-data Anda dapat mengontrol pin GPIO.

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

Sekarang kita akan menguji tiga tombol untuk Memverifikasi bahwa semuanya bekerja dengan benar. Setelah bekerja, dan menyalakan relay piring LED, Kami akan mendengar “Klik clack” bahwa Anda memancarkan ketika pembukaan dan penutupan sirkuit.

Screenshot dari 2014-11-08 13:30:46

Aplikasi web untuk kontrol relay.

Kita akan melihat bagaimana untuk menghubungkan ke lampu atau alat-alat lain untuk mengontrol dari perangkat apapun dengan web browser.

Skema untuk menghubungkan relay antara magneto-thermal switch dan plug dinding rumah kami adalah sebagai berikut; untuk skema saya telah menggunakan citra relay single-channel, dalam contoh ini Dalam saluran 8 delapan-channel piring.

rele5vmagnetotermico

Diagram koneksi di panel listrik rumah.

Untuk bukti dari konsep, Saya akan menggunakan skema berikut dengan plug yang saya harus mengubah dalam ruangan rumah, dan lampu. Berikut adalah dinding, dan di atas yang telah naik dalam tes ini untuk menghubungkan dalam lampu; Kisah relay sebagai saklar.

rele5venchufe1

Skema yang digunakan dalam tes ini.

Ada tiga port koneksi listrik untuk setiap output relay: COM, biasanya membuka dan Biasanya ditutup. Dalam COM Kami harus menghubungkan positif listrik Ini akan memberi alat, dan dalam satu dua lainnya memperluas kabel untuk positif alat. The negatif menghubungkan langsung dari konektor daya untuk alat.

PB080196

Koneksi relay.

Itu akan tergantung pada jika Anda terhubung ke biasanya membuka, atau Biasanya ditutup Jika alat atau off jika Anda menonaktifkan Raspberry.

Dalam contoh ini, relay terhubung Biasanya ditutup, Jadi jika Anda menonaktifkan Raspberry, colokan bekerja; Jika conectásemos dalam biasanya membuka, Ketika melepaskan Raspberry lampu tidak dapat memicu karena sirkuit akan terbuka; Kami akan memahami lebih baik dengan video.

Jika 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

33 Thoughts on"Raspberry PI - menerapkan sistem terjangkau rumah otomatisasi [Bagian I]

  1. Menghidupkan dan shutdown LED dari internet

    Selamat pagi, Pada apa-apa, sedikit bisa kukatakan, Terima kasih, Super
    tutorial, lain melihat, Bravo dan terima kasih.

    Pertanyaan, Saya tidak mengerti persis seperti dan mana harus menginstal script,
    Tujuan saya adalah untuk memiliki halaman WEB, Sebenarnya, tidak menjadi seperti aku bisa
    bekerja dengan PHP dan WEB, sebagai contoh, melalui PC, terhubung ke Internet
    di mana saja untuk mengaktifkan relay atau LED yang berbeda, tidak adalah bagaimana melakukannya,
    terlebih dahulu dan tentu saja, Banyak terima kasih untuk bantuan.

    Damai Ignacio dari Belgia

  2. Script dan index.php tunggal Anda perlu menyalinnya ke /var/www/rele seperti yang ditunjukkan dalam tutorial, masing-masing memiliki rute.

    index.php di /var/www/rele/index.php
    apaga.sh, enciende.sh dan parpadea.sh di /var/www/rele/gpio/17 /

    Untuk saat seperti yang bekerja untuk sebuah relay terhubung ke GPIO 17, dalam beberapa hari saya akan berakhir dengan bagian kedua untuk mengoperasikan output delapan.

    Untuk mengakses dari internet, Anda harus mengkonfigurasi router untuk meneruskan permintaan masuk oleh port 80 untuk Anda Raspberry PI. Dari Server Virtual di router dan NAT pilihan Anda bisa mengkonfigurasinya.

    Akhirnya, untuk mengakses lebih mudah Anda dapat sign up untuk NoIP dan mendapatkan domain gratis terkait dengan ip Anda umum dari jenis casa.no-ip.biz.

    PD: Pastikan Anda melindungi halaman yang sangat baik hanya Anda yang memiliki akses ke sana.

    Terima kasih banyak untuk komentar.

    • Selamat sore,

      Saya bahwa saya terima kasih, dengan nasihat-nya, dengan begitu cepat respon dan kesopanan Anda, Ini adalah kesenangan, Saya berharap Anda yang baik 2015

      Damai,

      Ignacio Rubin dari Belgia

  3. Selamat sore,

    Segala sesuatu bekerja sempurna, Meskipun hanya dengan lan atau dengan Xming melalui ssh, Tidak dapat terhubung ke remote, ' dengan PC lain melalui Internet, Saya telah noip dan dyndns, dan saya tidak dapat menjalankan, Jika Anda mempunyai ide saya berterima kasih kepada Anda terlebih dahulu,

    Pesan pembuka yang kuat dan melihat lebih banyak, Terima kasih

    Ignacio

    • Saya senang bahwa akhirnya bekerja, Tapi untuk menghubungkan dari Internet yang protokol yang Anda gunakan?

      Anda harus membuka Port layanan yang ingin Anda gunakan pada router yang memberi Anda akses ke Internet (HTTP port 80, HTTPS port 443, SSH port 22, dll) dan melakukan Port Forwarding dengan router IP Raspberry IP pribadi yang memberi Anda akses ke Internet.

      Akhirnya sekarang Anda akan hanya harus memulai koneksi dari jaringan lain yang menghadapi umum IP router Anda, Anda dapat mencoba dari ponsel 3 G.

      Apakah ini bekerja, Sekarang Anda dapat melanjutkan untuk mengkonfigurasi NoIP atau Dyn untuk akses dari nama yang mudah diingat bukan IP publik; Selain itu jika menginstal NoIP pada Raspberry, pada situs web NoIP IP umum Anda akan berubah secara otomatis setiap kali perubahan ini untuk router Anda.

      Untuk keamanan tambahan, Akan lebih baik jika Anda mengkonfigurasi VPN untuk membuat koneksi ke jaringan rumah Anda, dan saluran melalui itu semua lalu lintas.

  4. Halo, Saya punya pertanyaan saya telah dipimpin di gpio4, sudo echo 1 > /sys/kelas/gpio/gpio4/nilai ini saya Matikan dipimpin, dan dengan sudo echo 0 > /sys/kelas/gpio/gpio4/nilai, menghidupkan saya memimpin, harus revez, akan membuat sesuatu yang jahat?.
    Tempatkan file tersambung melalui web, Kalau aku tekan tombol apapun (menghidupkan, Matikan, atau berkedip) hanya mematikan dipimpin, tetapi tidak menghidupkan, maupun kerlip.
    Saya menghargai bantuan Anda dapat memberi saya.

    • Dipimpin relay adalah hanya indikator, Apakah Anda diuji dengan suatu alat listrik yang terhubung ke relay?

      Itu akan tergantung pada jika conectáis dalam biasanya buka, atau script konfigurasi yang biasanya ditutup dengan python.

      • Halo, Menariknya dipimpin bekerja sempurna, Saya menyalakannya dan matikan untuk kesenangan, Tapi relay tidak bekerja, Apakah tidak membuka atau menutup, tidak terbuat dari switch 🙁

  5. Halo, Selamat sore,

    Menginstal VNC, dalam jaringan saya semuanya bekerja, Namun melalui Internet menemukan saya mustahil, Saya tidak dapat menemukan kesalahan, Terima kasih telah menjelaskan saya

    Ignacio

    • Halo, pertama-tama terima kasih jauh lebih buruk 🙂 pertanyaan Anda

      Anda dapat mengikuti tutorial langkah demi langkah, relay ini memiliki 3 jenis pin:

      – VDC-> daya (PIN 5V RPI)
      – GND-> Pin GND RPI
      – IN-> entri, dan tergantung pada apakah negara Anda tinggi atau rendah relay akan menghidupkan atau mematikan.

      Contoh penggunaan IN8, hanya Anda harus mengubahnya dengan IN0 atau IN1 relay Anda dan sebagai disebutkan sebelumnya mengikuti tutorial 🙂

      PD: Asegurate sean optoacoplados, Los de la foto itu anak.

      Salam hormat, Saya berharap terlalu ayudado.

  6. Aku melakukan segala yang direkomendasikan seperti di atas, Saat aku menulis perintah di terminal, karya, Namun, Jika saya bisa mendapatkan file enciende.sh dan mengirim Jalankan terminal tidak bekerja dan bahkan tidak bisa melihat laman index.php

  7. Benar-benar menarik, Tampaknya kepada saya bahwa saya akan membeli dan mulai bermain.

    Aku meninggalkan Anda, sesuatu, yang mungkin membantu untuk memiliki beberapa antarmuka yang indah dan bermain dengan mereka 8 Re

    http://pihome.harkemedia.de

    Salam hormat,

    Dari Argentina! Pasti, mengganggu Anda, dengan beberapa konfigurasi elektronik! Pelukan!

  8. Pertama dan terutama, Terima kasih atas penjelasan Anda, Bagus sekali.

    Saya telah mengikuti instruksi Anda dan saya dapat menangkap ikan tangki pompa udara jarak.

    Masalahnya saya miliki hilang saya bisa memverifikasi status pin (True atau False)

    Bagaimana dapat saya lakukan untuk membawa saya data ini pada halaman yang sama saya?

    Adalah angkatan laut yang mengikuti petunjuk Anda, menyala dan mati relay dengan benar.

    • Hi Teodoro,

      Komentar ini adalah sesuatu yang banyak pembaca bertanya, dengan apa yang aku sedang mempersiapkan bagian selanjutnya dari tutorial yang mana kami akan jadwal indikator status GPIO pin di waktu luang saya bebas.

      Setelah selesai saya akan mempublikasikannya di Blog.

      Sampai jumpa lagi.

  9. Sebelum sesuatu terima kasih banyak untuk blog Anda.. spektakuler. Bagi saya saya telah membeli semua yang Anda butuhkan, Saya telah mengikuti semua tutorial, tetapi ketika Anda menjalankan piring 8 Relay, sesuatu yang tidak beres saya.

    Pertanyaannya adalah seperti jika saya memiliki octoacoplada piring?? Tampaknya bahwa tidak mencapai Anda saat ini cukup untuk mengaktifkan. Koneksi saya:

    5v-> VCC (piring)
    GND (P3) -> GND (piring)
    GPIO4-> 4 (piring)

    Ketika aktif gpio dengan script, kontrol merah yang dipimpin diaktifkan momoento, tapi tidak tinggal. Saya mengerti bahwa itu adalah karena gpio diaktifkan untuk 3,3 volt dan relay adalah 5V. Bersumpah namun memiliki sama piring sehingga Anda harus ahber cara untuk membuatnya bekerja tidak?

    Apreciaria setiap jenis komentar, relay papan adalah sebagai berikut
    (8 Relay srd modul-05VDC-SL-C)

    Terima kasih sangat banyak untuk segalanya

  10. Halo Loty,

    Sebagian besar pelat didukung relay yang dipasarkan untuk microcontrollers datang sudah opto-coupled, Anda dapat memeriksa apakah di spesifikasi atau mencari optocouplers di piring; yang mengacu pada jumlah seri yang telah Anda sebutkan jika hal itu adalah.

    Secara efektif, lempeng yang didukung dengan 5V, Tetapi output dapat diaktifkan juga dengan 3 aktuator, 3V sebagai Raspberry IP GPIO.

    Lagi pula, masalah tampaknya kurangnya daya, sehingga menggantikan transformator Raspberry dengan 2A atau pakan eksternal relay bisa membantu.

    Salam dan melihat Anda segera.

    • Halo!
      Terima kasih atas respons yang cepat. Saya telah melakukan tes langsung di relay papan (menghapus PI RASPBERRY), untuk melihat apakah itu piring yang jahat. Aku punya catu daya eksternal 5V di 2A.

      Tersambung GND kecuali pengumpan VDC untuk + pengumpan dan 4 juga +. dan di sana.. KARYA!! Klik relay dan indikator LED menyala, Saya telah melakukan tes dengan lampu 220v dan semua masih bekerja. Masalah timbul dengan RASPBERRY PI.

      Saya telah terhubung pengumpan piring eksternal “+” VDC “-” GND dan 4 saya telah terhubung RASPBERRY gpio4, dan di sana ketika saya mengaktifkan GPIO, tidak ada yang terjadi. Aku telah diukur GPIO dan memberikan 3,3 v. Saya baca di situs lain dan dikatakan bahwa itu adalah karena saya harus menghubungkan jumper VDC-JCC dari sebaliknya. Tidak akan bahwa saya salah. Ini mungkin bahwa saya mengubah gpio melalui BASH?? Hal ini diperlukan untuk membuatnya bekerja menggunakan Dewan relay GPIO python Perpustakaan??

      Terima kasih banyak untuk sumbangan

  11. Gelombang, Saya mengalami masalah untuk menghapus cahaya dengan relay, menggunakan kode dalam tutorial ini, bisa menyalakan normal, tetapi untuk menghapus tidak terhapus dan relay bersenjata, hanya melucuti ketika aku mencabut kabel dari relay raspberry. Setelah beberapa upaya saya berhasil menghapus tutorial ini dengan kode oleh kode tutorial yang dipimpin untuk menghapus. mendapatkan formulir ini bagian dari kode: Jika ($_ POSTING[apagar17]) {
    $untuk- exec(“sudo python/var/www/AcenderWebRele/apaga3.py”);
    $untuk- exec(“sudo echo 17 > /sys/kelas/gpio/ekspor”);
    $untuk- exec(“sudo echo 0 > /GPIO/sys/kelas/gpio17/nilai”);
    $untuk- exec(“sudo echo 17 > /sys/kelas/gpio/unexport”);
    echo $a;
    }

  12. Sotogrande tardes dari Meksiko, MI nombre es Enrique, Saya tertarik dalam bagian untuk menerapkan domotica con raspberry berasal dari PBB BMX Rainie escolar, Dalam tutorial Anda menyebutkan bahwa kita harus memiliki linux yang saya tidak tahu banyak, Hal ini dimungkinkan untuk mengembangkan proyek, website dan pemrograman diperlukan dalam raspberry dengan windows?, web server yang Anda sebutkan harus diinstal di raspberry sama atau di mana?, Jika jumlah perangkat yang saya ingin kontrol melebihi kapasitas raspberry 3 Apakah normal untuk ocuparia, raspberry lain atau ada sesuatu yang akan meningkatkan kapasitas?, Jika Anda berurusan dengan raspberry lain sebagai akan baik dengan aplikasi web yang sama?.

    Saya berharap, dan Anda dapat membantu saya dengan ini.

    Salam hormat.

Tinggalkan balasan