Cara termurah untuk mengendalikan beberapa soket daya (lampu) melalui Wi-Fi

41

Yang ingin saya lihat adalah cara termurah untuk mengendalikan lampu saya menggunakan Raspberry Pi saya.

Apa yang saya bayangkan mengendalikannya

Saya membangun antarmuka pada ponsel cerdas saya dimana saya dapat mengirim perintah ke Raspberry Pi saya. Raspberry Pi kemudian akan mengirim paket (atau sesuatu yang lain) ke benda yang bisa saya masukkan ke dalam soket listrik saya (jadi saya tidak melihatnya). Perhatikan bahwa hal ini harus terhubung melalui Wi-Fi (bagaimana lagi akan menerima pesan dari Raspberry Pi saya?).

Apa hal ini dan apa cara termurah yang mungkin, karena saya berencana untuk menghubungkan selusin lampu?

Rick Hoving
sumber
Ada outlet wifi yang dikendalikan seseorang yang dibuat untuk sekitar $ 20 di bagian (tidak termasuk raspberry pi) ProvoTronics.com
Ty Jones

Jawaban:

22

Saya menggunakan barang-barang ini:

  • Receiver ON-OFF untuk mengontrol lampu saya (Anda biasanya meletakkan perangkat di walloutlet atau bukan walloutlet). Mereka bekerja di pita 433 MHz (ISM).

Di luar kotak Anda memiliki kendali jarak jauh yang mengirim sinyal ke perangkat penerima dan menghidupkan atau mematikannya.

Dalam kasus saya, saya menciptakan situasi ini:

  • Membuat situs HTML di Raspberry Pi saya ( /switch.html)
  • Saya memanggil halaman itu di ponsel cerdas saya
  • Pada halaman ada empat tombol (saya mengontrol empat perangkat / lampu)
  • Ketika saya mengklik tombol, itu secara serempak mengeluarkan panggilan ke /switch.php(.php ada di Raspberry Pi)
  • The switch.phppanggilan switch.pyProgram yang mengontrol pengirim 433 MHz (lihat di bawah)
  • Pengirim 433 MHz melakukan hal yang sama dengan remote control di luar kotak.

Ini pengirimnya, yaitu pengganti remote control standar: 433 MHz Superregeneration Modul Pemancar Nirkabel untuk Arduino

Saya juga membuat skenario untuk penggunaan di luar rumah.

Saya tidak ingin menghubungkan Raspberry Pi saya melalui homerouter saya langsung ke Internet, jadi saya membuat sendiri halaman web lain (di domain saya sendiri) yang tidak mengontrol Raspberry Pi secara langsung, tetapi mengirimkan email ke (diketahui hanya untuk saya) alamat email ( Gmail ).

Raspberry Pi memeriksa akun email itu setiap 10 menit untuk melihat apakah ada email. Dalam email itu saya misalnya mengatakan A on atau B off.

Jadi ketika kami pulang terlambat dan lampu sudah mati, kami menavigasi ke situs di ponsel saya (rencananya akan menjadikannya aplikasi Android), klik tombolnya, halaman diposting dan di server email dikirim, dan dalam 0-10 menit berikutnya Raspberry Pi memeriksa email, melihat empat email baru (A on, B on, C on dan D on) dan menyalakan lampu.

Bagaimana cara memulai

Jadi, untuk memulai, ini adalah hal-hal yang telah saya lakukan untuk membuatnya bekerja. Dalam kasus saya, saya memprogram kontrol pengirim 433 MHz dengan Python (yang merupakan bahasa yang mudah jika Anda sudah tahu cara memprogram).

Pertama Anda menginstal rpi.gpioperpustakaan.

Perpustakaan ini digunakan untuk mengontrol pin kecil pada Raspberry Pi Anda dari skrip Python Anda. Lihat Menginstal Perpustakaan Python RPi.GPIO .

Kemudian Anda bisa membaca artikel Tutorial: Cara menggunakan Raspberry Pi Anda seperti Arduino , ini tentang apa yang dapat Anda lakukan dengan rpi.gpioperpustakaan, misalnya LED yang berkedip .

Namun tidak wajib untuk peralihan lampu Elro.

Kemudian Anda mendapatkan kode yang luar biasa untuk perintah Elro oleh HeikoHeiko, di http://pastebin.com/aRipYrZ6 . Anda menempelkan kode itu dalam file bernama ' switchelro.py'.

Anda kemudian mengubah string pada baris 94 ke pengaturan jumper Anda sendiri (seperti yang telah Anda atur di remote control dan perangkat walloutlet. Periksa apakah perangkat remote-walloutlet kombinasi berfungsi sebelum mencobanya dengan Raspberry Pi. Jika tidak bekerja dengan komponen standar, mungkin akan gagal dengan Raspberry Pi juga).

Anda kemudian mengubah jumlah pin yang dilampirkan pengirim Anda pada saluran 97.

Nomor pin dapat diperoleh dari periferal level rendah RPi dan dalam File: RPi P1 header.png .

Anda harus menggunakan hitungan 1..26 (gambar hitam), bukan GPIO34, GPIO24, dll. (Gambar hijau).

Kemudian Anda mengetik ini pada prompt perintah:

sudo python switchelro.py 2 1

yang berarti 'nyalakan B' (mengikuti skema ini: A = 1, B = 2, C = 4, D = 8, E = 16untuk angka pertama, dan 1 = aktif, 0 = mati untuk yang kedua).

Saya mengubah repeat = 10pada line 30ke repeat = 20dalam awal (saya tidak ingat mengapa) dan bahwa karya. Saya tidak pernah mencoba ulang dengan pengaturan '10'.

Michel
sumber
1
oh, dan harganya .. di sini di Belanda satu set 3 penerima walloutlet (yang Anda klik di walloutlet, dan lampu masuk ke penerima) dengan remote control biaya 15 euro. Pengirim 433 Mhz berharga sekitar $ 5
Michel
Itu terdengar persis seperti apa yang saya cari! Bisakah Anda mengirimkan saya file proyek? (Switch.html, switch.php dan, switch.py) Email saya ada di jawaban di atas. Juga, di mana saya dapat membeli receiver on-off2 di Belanda? Situs web yang Anda berikan tidak memberikan harga apa pun.
Rick Hoving
Pos luar biasa - Bisakah Anda menambahkan sumber sumber untuk perintah yang Anda kirim melalui serial? Apakah Anda menggunakan perpustakaan? Bagaimana Anda menargetkan perangkat? +1
Piotr Kula
1
@Nitin Di sistem saya, Anda dapat mengatur dipswitch pada receiver (5 on / off switchers) dan 5 huruf (A .. E). Jadi dengan kode default_key = [1,0,0,0,1]dari kode pastebin.com/aRipYrZ6 Anda mengontrol dipswitch dan dengan pinproperti dalam def __init__(self, device, key=[1,1,1,1,1], pin=4):kode Anda mengontrol A .. E (a = 1 .. e = 16)
Michel
1
@Nitin Tidak tahu cara mengendalikannya dengan C #. Menantikan itu juga, karena PI terbaru akan menjalankan Win10 dan mudah-mudahan itu akan menjalankan C # juga. Yang mengatakan, sementara saya seorang programmer C #, Python adalah pembelajaran yang mudah
Michel
6

The Hal ini disebut X10 , ini merupakan standar industri untuk sebagian besar tugas otomatisasi rumah, termasuk lampu mengendalikan. Sinyal kontrol dikirim melalui saluran listrik yang sama dengan peralatan Anda.

Untuk dapat mengontrol semuanya dari komputer, Anda mungkin ingin membaca tentang X10 Computer Interfaces dari situs web OpenRemote. Model yang paling Anda cari adalah CM15A dengan antarmuka USB, yang memiliki dukungan Linux.

Juga, mungkin ide yang baik untuk memeriksa ebay untuk soket dinding yang diaktifkan X10 dan memasang modul lampu, ini dapat dibeli dengan cukup murah, dalam kisaran $ 10-20.

lenik
sumber
6

Apa yang Anda cari adalah Solid State Relay atau Relay mekanis . Idenya adalah bahwa sejumlah kecil arus pada tegangan rendah (seperti dari RPi Anda) dapat digunakan untuk memicu aliran sejumlah besar arus pada tegangan yang lebih tinggi (seperti lampu).

Saya akan merekomendasikan $ 12 SainSmart 8 Channel DC 5V Relay Module untuk Arduino Raspberry Pi , karena sudah dibuat menjadi papan dengan terminal sekrup siap pakai. Itu telah membangun FET untuk sumber arus tambahan yang diperlukan untuk relay mekanik yang akan dipicu. Ada papan yang berbeda dari perusahaan yang sama, dalam berbagai tata letak / jumlah relay. Yang saya kirim adalah 8 saluran, jadi mungkin tidak cukup untuk kebutuhan Anda, walaupun ada 16 versi saluran yang tersedia . Mereka umumnya lebih murah daripada membeli beberapa relay secara terpisah, dan membuat menghubungkannya dengan mudah.

Diperlukan 4 koneksi:

  • Pijakan yang sama (yang dibagikan ke semua relay) yang terhubung ke RPi
  • Pisahkan input yang diberdayakan oleh masing-masing jalur RPi GPIO (untuk memicu relay)
  • Input tegangan tinggi
  • Output tegangan tinggi

Input / output tegangan tinggi adalah koneksi yang dibuat atau diputus oleh relay sesuai dengan jalur input mereka.

Saya sudah memiliki program C yang MENGAGUMKAN untuk mengganti pin GPIO dari jarak jauh melalui SSH. Jika Anda mau, saya bisa memberi Anda kode sumber, atau bahkan menjelaskan cara kerjanya.

Alexander
sumber
Bagaimana saya bisa mengatakan tidak kepada program AWESOME. Meskipun C tidak ada dalam daftar bahasa saya, setidaknya saya bisa melihat kode dari waktu ke waktu.
Rick Hoving
Bisakah Anda mengirimnya [email protected]? Terima kasih sebelumnya!
Rick Hoving
Jika pertanyaan Anda telah dijawab, silakan klik tanda centang di bawah tanda panah pemilihan.
Alexander
@XAleXOwnZX dapatkah saya melihat kode Luar Biasa ini juga? Mungkin Anda harus membuka pertanyaan "Adakah yang memiliki program C yang MENGAGUMKAN untuk mengalihkan pin GPIO dari jarak jauh ke SSH" lalu jawab.
puk
Aku akan membutuhkan alamat e-mail Anda, saya akan mengirimkannya dan posting pertanyaan + jawaban besok
Alexander
2

sistem saya murah: EUR 43.- (penerima + pemancar) lihat di bawah.

untuk otomatisasi rumah, saya cukup memasang pemancar FS20 868,35MHz 3.3V yang kompatibel ke RPI:

http://www.elv.de/elv-fs20-uart-sender-fs20-us-komplettbausatz.html

pemancar ini berinteraksi langsung (hanya dengan 4 kabel) ke port GPIO RPI (3.3V, GND, TXD, RXD) dan hanya dikontrol melalui antarmuka saluran serial.

Anda sekarang dapat mengontrol sejumlah besar perangkat FS20 seperti sakelar, sakelar sakelar, dimmer, timer, radio. multi-channel-receiver dll. dengan mentransmisikan beberapa byte melalui antarmuka konsol serial UART RPI.

Ikhtisar sistem FS20:

http://www.elv.de/fs20-funkschaltsystem.html

(sayangnya situs web hanya tersedia dalam bahasa Jerman)

Saya pribadi lebih suka CLI biasa untuk mengendalikan perangkat rumah saya. Jika Anda lebih suka GUI, Anda bisa melihatnya di sini:

http://fhem.de/fhem.html

untungnya dalam bahasa Inggris :-)

Meskipun sangat fleksibel, sistem FS20 sangat murah. Biaya sampel untuk sakelar hidup / mati sederhana:

beralih sendiri: http://www.elv.de/elv-funk-schaltsteckdose-fs20-st.html EUR 22,95

Pemancar UART: http://www.elv.de/elv-fs20-uart-sender-fs20-us-komplettbausatz.html EUR 19,95

Saya merekomendasikan untuk mengontrol RPI itu sendiri dengan keyboard nirkabel. Untuk ini, Anda dapat membeli hal kecil yang cerdik ini:

RT-MWK03 [Nirkabel 2,4 Ghz] ( http://www.riitek.com/en/product-detail-428.html )

sparkie
sumber
0

Meskipun tidak benar-benar murah, inilah solusi saya:

http://www.everyhue.com/?page_id=38#/discussion/707/raspberry-touchpad-some-success

Pada dasarnya, Anda menggunakan Philips Hue (lampu LED multicolor yang dapat diprogram dan dapat diprogram) bersama-sama dengan RPi dan panel sentuh. Permukaan panel sentuh USB berfungsi pada dimensi warna dan kecerahan, sementara tombol mouse mengaktifkan dan menonaktifkan lampu. Biayanya RPi + dongle Wifi ($ 11) + touchpad USB murah ($ 15) + Philips Hue set ($ 200 untuk jembatan dan 3 lampu, lalu $ 60 / lampu).

Ilya Haykinson
sumber
0

Saya memiliki pendekatan yang berbeda: Saya menggunakan dongle CUL USB Busware (mendukung FS20 + HMS + FHT + protokol dan perangkat lain), dan mengimplementasikan Java API saya sendiri untuk abstrak perangkat dan memungkinkan otomatisasi mudah melalui aplikasi Java.

Jika ada yang tertarik pada proyek kecil saya: http://www.paulo-lima.org/hans

Paulo Lima
sumber