Wi-Fi aracılığıyla çoklu prizleri (ışıkları) kontrol etmenin en ucuz yolu


41

Görmek istediğim, Raspberry Pi'imi kullanarak ışıklarımı kontrol etmenin en ucuz yolu.

Onu kontrol etmek için ne hayal ediyorum

Akıllı telefonumda Raspberry Pi'ime komutlar gönderebileceğim bir arayüz yapıyorum. Ahududu Pi daha sonra prizime koyabileceğim bir şeye bir paket (veya başka bir şey) gönderirdi (göremiyorum). Bu şeyin Wi-Fi aracılığıyla bağlanması gerektiğini unutmayın (bu mesajı Raspberry Pi'mden başka nasıl alabilir?).

Bir düzine ışık bağlamayı planladığımdan , bu şey nedir ve mümkün olan en ucuz yol nedir?


Bir kısmı yaklaşık 20 $ (ahududu pi dahil değil) için yapılan bir wifi kontrollü çıkış var ProvoTronics.com
Ty Jones

Yanıtlar:


22

Bu öğeleri kullanıyorum:

Kutudan alıcı cihaza bir sinyal gönderen ve açıp kapatan bir uzaktan kumandaya sahipsiniz.

Benim durumumda, bu durumu yarattım:

  • Ahududu Pi'mde bir HTML sitesi oluşturdum ( /switch.html)
  • Akıllı telefonumdaki o sayfayı ararım
  • Sayfada dört düğme var (dört cihazı / ışığı kontrol ediyorum)
  • Bir düğmeyi tıklattığımda, eşzamansız bir çağrı /switch.phpbaşlatıyor (.php, Ahududu Pi’de)
  • switch.phpBir çağırır switch.py433 MHz gönderen kontrol programı (aşağıya bakınız)
  • 433 MHz gönderen, uzaktan kumandadan çıkan ile aynı şeyi yapar.

Bu, gönderen, yani standart uzaktan kumandanın yerine geçer: Arduino için 433 MHz Kablosuz Verici Modülünün Süper Üretimi

Ayrıca ev dışında kullanım için bir senaryo oluşturdum.

Raspberry Pi'mi ana bilgisayarım aracılığıyla doğrudan Internet'e bağlamak istemedim, bu yüzden kendime Raspberry Pi'yi doğrudan kontrol etmeyen başka bir web sayfası (kendi etki alanımda) kurdum, ben) e-posta ( Gmail ) adresi.

Ahududu Pi, herhangi bir e-posta olup olmadığını görmek için her 10 dakikada bir bu e-posta hesabını kontrol eder. Bu e-postada örneğin A açık veya B kapalı.

Eve geç geldiğimizde ve ışıklar söndüğü zaman, cep telefonumdaki siteye gidildi (planlar bir Android uygulaması yapmayı planlıyoruz), düğmeyi tıklayın, sayfa yayınlandı ve sunucuda bir e-posta gönderildi; sonraki 0-10 dakika içinde Ahududu Pi e-postayı kontrol eder, dört yeni e-posta görür (A açık, B açık, C açık ve D açık) ve ışıkları açar.

Nasıl başlanır

Yani, başlamak için, bunlar çalışmasını sağlamak için yaptığım şeyler. Benim durumumda, 433 MHz göndericinin kontrolünü Python'da programladım (zaten nasıl programlayacağınızı biliyorsanız kolay bir dildir).

İlk önce rpi.gpiokütüphaneyi kurun .

Bu kütüphane, Raspberry Pi'nizdeki küçük iğneleri Python komut dosyanızdan kontrol etmek için kullanılır. Bkz . RPi.GPIO Python Kütüphanesini Kurma .

Daha sonra isteğe bağlı olarak makaleyi okuyabilirsiniz Öğretici: Raspberry Pi'nizi bir Arduino gibi nasıl kullanabilirsinizrpi.gpio , örneğin yanıp sönen LED'ler gibi kütüphane ile neler yapabileceğiniz hakkında .

Bununla birlikte, Elro lambasının değiştirilmesi zorunlu değildir.

Ardından, HeikoHeiko'nun http://pastebin.com/aRipYrZ6 adresindeki Elro komutları için harika kodu alırsınız . Bu kodu ' switchelro.py' adlı bir dosyaya yapıştırın .

Daha sonra, 94. satırdaki ipi kendi jumper ayarlarınızla değiştirirsiniz (uzaktan kumandadaki ve walloutlet cihazında belirlediğiniz gibi. Raspberry Pi ile denemeden önce uzaktan walloutlet cihaz kombinasyonunun çalışıp çalışmadığını kontrol edin. standart bileşenlerde, muhtemelen Ahududu Pi ile de başarısız olur).

Daha sonra göndericinizin 97 numaralı hatta bağlı olduğu pin numarasını değiştirirsiniz.

Pin numarası RPi Düşük seviye çevre birimlerinden ve Dosya: RPi P1 header.png'den alınabilir .

GPIO34, GPIO24 vb. (Yeşil görüntü) değil 1..26 sayısını (siyah görüntü) kullanmanız gerekir.

Sonra komut istemine şunu yazın:

sudo python switchelro.py 2 1

bu, 'B'yi aç' anlamına gelir (bu şemayı izleyerek: A = 1, B = 2, C = 4, D = 8, E = 16ilk sayı için ve 1 = açık, 0 = ikinci için kapalı).

Değiştim repeat = 10üzerinde line 30hiç repeat = 20başından (Neden hatırlamıyorum) ve bu eserlerde. '10' ayarı ile hiç denemedim.


1
oh, ve fiyat .. burada, Hollanda'da bir dizi 3 walloutlet alıcısı (walloutlet'i tıklattığınız ve ışığın alıcıya girdiği) uzaktan kumanda masrafı 15 euro. 5 $ yaklaşık 433 Mhz gönderen maliyetleri
Michel

Bu tam olarak aradığım şey! Bana proje dosyalarını gönderebilir misiniz? (Switch.html, switch.php ve switch.py) E-postam yukarıdaki cevabında. Ayrıca, on-off2 alıcısını Hollanda'da nereden satın alabilirim? Sağladığınız web sitesi fiyat sağlamıyor.
Rick Hoving

Mükemmel gönderi- Seri olarak gönderdiğiniz komutların kaynağını nerede bulduğunuzu ekleyebilir misiniz? Bir kütüphaneyi imzalıyor musunuz? Cihazları nasıl hedefliyorsunuz? +1
Piotr Kula

1
@Nitin Sistemimdeki alıcıyı (5 açma / kapama anahtarlayıcıları) ve 5 harfleri (A .. E) dipswitch'i ayarlayabilirsiniz. Yani kod ile default_key = [1,0,0,0,1]gelen pastebin.com/aRipYrZ6 kodu size DIP switch'leri kontrol etmek ve birlikte pinmülkiyet def __init__(self, device, key=[1,1,1,1,1], pin=4):kodu size A kontrol .. E (a = 1 .. e = 16)
Michel

1
@Nitin C # ile nasıl kontrol edileceğini bilmiyorum. Bunu da bekliyorum, çünkü en son PI Win10'u çalıştıracak ve umarım C # da çalışacaktır. Bu, ben bir C # programcısı iken, Python kolay bir
Michel

6

Şey denir X10 , bu kontrol ışıkları dahil çoğu ev otomasyonu görevleri için bir endüstri standardı bu. Kontrol sinyali, cihazlarınızın bağlı olduğu aynı güç hattı üzerinden gönderilir.

Her şeyi bilgisayardan kontrol edebilmek için , OpenRemote web sitesinden X10 Bilgisayar Arayüzleri hakkında okumak isteyebilirsiniz . Muhtemelen peşinde olduğunuz model, Linux destekli USB arabirimli CM15A'dır.

Ayrıca, X10 özellikli duvar prizleri ve lamba modüllerinin vidaları için ebay'ı kontrol etmek iyi bir fikir olabilir, bunlar 10-20 $ aralığında oldukça ucuza satın alınabilir.


6

Aradığın bir Katı Hal Rölesi veya mekanik Röle . Buradaki fikir, düşük bir voltajda (RPI'niz gibi) az miktarda bir akımın, daha yüksek bir voltajda (lamba gibi) daha büyük miktarda akımın akışını tetiklemek için kullanılabileceğidir.

Arduino Raspberry Pi için 12 $ SainSmart 8 Kanal DC 5V Röle Modülü tavsiye ederim . Mekanik rölelerin tetiklenmesi için gereken ekstra akımı sağlamak için FET'lerde inşa edilmiştir. Aynı şirketten, çok çeşitli düzen / röle numaralarında farklı panolar vardır. Gönderdiğim kanal 8 kanal, 16 kanal sürümü mevcut olmasına rağmen ihtiyaçlarınız için yeterli olmayabilir . Genellikle birden fazla rölenin ayrı olarak satın alınmasından daha ucuzdur ve onlara takılmayı kolaylaştırır.

4 bağlantı gerekli:

  • RPI'ye bağlanan ortak bir zemin (tüm rölelerle paylaşılır)
  • Bağımsız RPi GPIO hatları tarafından beslenen ayrı girişler (röleleri tetiklemek için)
  • Yüksek voltaj girişi
  • Yüksek voltaj çıkışı

Yüksek voltaj giriş / çıkışları, röleler tarafından giriş hatlarına uygun olarak yapılan veya kesilen bağlantılardır.

GPIO pinlerini SSH üzerinden uzaktan değiştirmek için zaten bir AWESOME C programım var. İsterseniz size kaynak kodunu verebilir, hatta nasıl çalıştığını açıklayabilirim.


Bir AWESOME programına nasıl hayır diyebilirim. C, dil repertuarımda olmasa da, en azından zamanla koda bakabilirim.
Rick Hoving

Rickhoving7@hotmail.com adresine gönderebilir misiniz? Şimdiden teşekkürler!
Rick Hoving

Sorunuz cevaplandıysa, lütfen oylama oklarının altındaki onay işaretini tıklayın.
Alexander,

@ XAleXOwnZX bu Awesome kodunu da görebilir miyim? Belki de "GPIO pinlerini SSH üzerinden uzaktan değiştirmek için AWESOME C programı olan var mı?" Sorusunu cevaplamalısınız.
puk

E-posta adresinize ihtiyacım olacak, göndereceğim ve soruyu göndereceğim + yarın cevap
Alexander

2

sistemim ucuz: EUR 43.- (alıcı + verici) aşağıya bakın.

ev otomasyonu için RPI'ye 3.3V uyumlu 868,35MHz FS20 vericiyi takıyorum:

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

bu verici doğrudan (yalnızca 4 kablo ile) RPI'nin GPIO portlarına (3.3V, GND, TXD, RXD) arayüzlenir ve seri hat arayüzü üzerinden kolayca kontrol edilir.

Artık anahtarlar, açma / kapama düğmeleri, karartıcılar, zamanlayıcılar, radyolar gibi çok çeşitli FS20 cihazlarını kontrol edebilirsiniz. RPI'nin UART seri konsol arayüzü üzerinden bazı baytlar ileterek çok kanallı alıcılar vs.

FS20 sistemine genel bakış:

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

(maalesef web sitesi yalnızca Almanca olarak mevcuttur)

Ev aygıtlarımı kontrol etmek için şahsen sade CLI'yi tercih ediyorum. Biraz GUI tercih ederseniz burada bir göz atabilirsiniz:

http://fhem.de/fhem.html

neyse ki ingilizce :-)

Çok esnek olmasına rağmen, FS20 sistemi çok ucuz. Basit bir açma / kapama düğmesi için örnek maliyetler:

anahtarın kendisi: http://www.elv.de/elv-funk-schaltsteckdose-fs20-st.html EUR 22,95

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

RPI'nın kendisini kablosuz bir klavye ile kontrol etmenizi öneririm. Bunun için isteğe bağlı olarak bu ustaca küçük şeyi satın alabilirsiniz:

RT-MWK03 [Kablosuz 2.4 GHz] ( http://www.riitek.com/en/product-detail-428.html )



0

Tam olarak ucuz olmasa da, işte benim çözümüm:

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

Temel olarak, Philips Hue'yu (wifi kumandalı, programlanabilir çok renkli LED ışıklar) bir RPi ve dokunmatik yüzeyle birlikte kullanıyorsunuz. USB dokunmatik yüzey, renk ve parlaklık boyutlarına etki ederken fare düğmeleri ışıkları açıp kapatıyor. Maliyet RPI + Wifi dongle ($ 11) + ucuz USB dokunmatik yüzey ($ 15) + Philips Ton seti (köprü için 200 $ ve 3 ışık, sonra 60 $ / ışık).


0

Farklı bir yaklaşımım var: Busware'in CUL USB dongle'ını kullanıyorum (FS20 + HMS + FHT + diğer protokolleri ve aygıtları destekliyorum) ve aygıtları soyutlamak ve bir Java uygulaması aracılığıyla kolay otomasyona izin vermek için kendi Java API'mı kullandım.

Biri benim küçük projemle ilgilenirse diye: http://www.paulo-lima.org/hans

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.