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?
wifi
home-automation
Rick Hoving
sumber
sumber
Jawaban:
Saya menggunakan barang-barang ini:
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:
/switch.html
)/switch.php
(.php ada di Raspberry Pi)switch.php
panggilanswitch.py
Program yang mengontrol pengirim 433 MHz (lihat di bawah)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.gpio
perpustakaan.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.gpio
perpustakaan, 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:
yang berarti 'nyalakan B' (mengikuti skema ini:
A = 1, B = 2, C = 4, D = 8, E = 16
untuk angka pertama, dan 1 = aktif, 0 = mati untuk yang kedua).Saya mengubah
repeat = 10
padaline 30
kerepeat = 20
dalam awal (saya tidak ingat mengapa) dan bahwa karya. Saya tidak pernah mencoba ulang dengan pengaturan '10'.sumber
default_key = [1,0,0,0,1]
dari kode pastebin.com/aRipYrZ6 Anda mengontrol dipswitch dan denganpin
properti dalamdef __init__(self, device, key=[1,1,1,1,1], pin=4):
kode Anda mengontrol A .. E (a = 1 .. e = 16)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.
sumber
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:
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.
sumber
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 )
sumber
Saya menulis posting blog terperinci tentang cara mengontrol outlet secara nirkabel menggunakan raspberry pi. Lihat: http://timleland.com/wireless-power-outlets/
sumber
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).
sumber
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
sumber