Ahududu Pi ve IFTTT ile Işık Algılama Akıllı Anahtar Nasıl Yapılır

  • Mark Lucas
  • 0
  • 3330
  • 390
reklâm

Alacakaranlık şafağı anahtarları ve zamanlayıcı anahtarları, ışıklarınızı otomatikleştirmek için kullanışlı bir yöntemdir. Gerçekten akıllı bir aydınlatma sistemi için ikisini birleştirebilirseniz veya hatta internete bağlamanız harika olmaz mıydı??

Bir Ahududu Pi, bir röle, bir ışık sensörü ve bir kod satırı, bir ayakkabıyla bu otomatik aydınlatma nirvana'sını elde etmek için tek ihtiyacınız olan şey.

Neye İhtiyacınız Var?

Işığı algılayan akıllı anahtarınız için bileşenlerin kaynağı kolaydır. İhtiyacın olacak:

  • Herhangi bir model Raspberry Pi çalışan Raspbian.
  • Amazon'da kolayca bulunan bir röle kartı.
  • Bir Adafruit TSL2561 parlaklık sensörü.
  • Jumper telleri.
  • Otomatikleştirmek için bazı ışıklar!

Işığa Duyarlı Akıllı Anahtar Nasıl Çalışır?

Otomatik garaj kapısı açıcı projemizdeki gibi bir röle kullanarak IFTTT ve Ahududu Pi ile Garaj Kapınızı Nasıl Otomatikleştirin IFTTT ve Ahududu Pi ile Garaj Kapınızı Nasıl Otomatikleştirin Bu eğitimde, size nasıl otomatikleştirileceğini göstereceğiz Ahududu Pi ve IFTTT'den başka bir şey kullanmayan garaj kapısı. , Ahududu Pi’yi bir aydınlatma devresini belirli zamanlarda açıp kapatmak için programlayabilirsiniz. Karışıma bir parlaklık sensörü eklemek, Pi'nin ortamın ışık seviyesini algılayabileceği ve sadece gerçekten ihtiyaç duyulduğunda ışıkları açmayı seçtiği anlamına gelir.

Pi bir ağa bağlanabilen küçük bir bilgisayar olduğundan, internet üzerinden de kontrol edilmesini sağlayabilirsiniz. Akıllı ışıklarınız ne zaman yanacaklarını belirlemek için üç girişe sahip olacaktır:

  1. Programlanmış bir program.
  2. Ortam ışık seviyesi.
  3. Ağ üzerinden gönderilen geçersiz kılma sinyali.

Adım 1: Ahududu Pi'yi Röleye Bağlayın

GPIO'yu kullanmakta yeniyseniz, Ahududu Pi GPIO Pimleri Hakkında Bilmeniz Gereken Her Şey'i okuyarak başlayın.

Öncelikle, röle kartınızın VCC ve JD-VCC pinlerini birbirine bağlayan bir bağlantı teli olup olmadığını kontrol edin. Varsa, çıkarın.

Her şey kapalıyken, röle kartını Pi'nize aşağıdaki şekilde bağlayın:

  • Pi Pin 2 (5v), röle panosundaki JD-VCC'ye.
  • Pi Pin 6 (GND) - GND - Röle kartı.
  • Pi Pin 15 (GPIO 22) - röle kartı üzerindeki IN1
  • Pi Pin 17 (3.3v) - röle kartı üzerindeki VCC.

Adım 2: Parlaklık Sensörünü Bağlayın

TSL2561, kızılötesi, tam spektrum ve insan tarafından görülebilir ışığı algılayabilen bir ışık sensörüdür. Ahududu Pi'ye çok hassas bir dijital okuma gönderebilir. Sensör, ışık seviyesini 0,1 (ışıksız) ila 40,000 (parlak güneş) arasında bildirir..

TSL2561 kartı, i2c protokolünü kullanarak Ahududu Pi ile konuşuyor. I2C sadece iki bağlantıya ihtiyaç duyar, biri iki cihazı senkronize tutmak için bir saat, biri transfer edilen veriler için. Tabii ki, lüks sensör de bir miktar güce ihtiyaç duyuyor, bu yüzden tamamen yapmak için dört bağlantı var:

  • Pi Pin 1'i (3.3v) lux sensördeki Vin'e (veya VCC) bağlayın.
  • Pi Pin 3'ü (SDA) lux sensördeki SDA'ya bağlayın
  • Pi Pin 5'i (SCL) lüks sensördeki SCL'ye bağlayın
  • Pi Pin 9'u (GND) lux sensöründeki GND'ye bağlayın

Adım 3: Bağımlılıkları Yapılandırma ve Kurma

Daha ileri gitmeden önce, Raspberry Pi'nizde I2C'nin etkin olduğunu kontrol etmeniz gerekir (varsayılan olarak devre dışıdır). Aşağıdakileri terminale yazın:

sudo raspi-config

seçmek Arayüz Seçenekleri> P5 I2C, sonra seç Evet.

vurmak Girmek sonra seç Bitiş yapılandırma ekranından çıkmak için. Değişikliğin geçerli olması için Pi'nizi yeniden başlatın:

sudo yeniden başlatma

Pi'nin sensör kartıyla iletişim kurabilmesi için bazı bağımlılıklar gerekir. Aşağıdaki komutları yazın:

sudo apt-olsun güncelleme sudo apt-olsun yükleme -y python-smbus sudo apt-olsun yükleme -y i2c-tools

Yazarak her şeyin çalıştığını kontrol edebilirsiniz:

sudo i2cdetect -y 1

Bağımlılıklarınız kuruluysa ve lüks sensörünüz doğru bağlanmışsa, şöyle bir cevap göreceksiniz:

Burada yardımcı program I2C adresinde bir I2C cihazı (lüks sensör) bulduğunu bildiriyor 39.

Henüz bağımlılıklardan tamamen vazgeçmediniz. Birkaç kütüphaneye de ihtiyacın olacak. Öncelikle, bu projeyle ilgili her şeyi aşağıdaki adreste tutmak için bir klasör oluşturun:

mkdir ~ / aydınlatma cd ~ / aydınlatma

Sonra, Pi'nizde basit bir web sunucusu yaratacak hafif bir çerçeve olan şişe indirin. Işıklarınızı web’den kontrol etmek için kullanacaksınız.

https://bottlepy.org/bottle.py

İhtiyacınız olan diğer kütüphaneler Github'da, bu nedenle Raspberry Pi'nizde Git yüklü değilse, şimdi ekleyin:

sudo apt-get install git

Şimdi iki kütüphaneyi kopyalayın, şunun gibi:

git klon https://github.com/adafruit/Adafruit_Python_GPIO.git git klonu https://github.com/adafruit/Adafruit_Python_PureIO.git

Son olarak, yeni bir dosya oluşturarak bir test betiği oluşturun:

nano test.py

Bu koda yapıştırın (Adafruit'in izniyle):

#! / usr / bin / env python # - * - kodlama: utf-8 - * - __future__'dan ithal absolute_import, bölme, print_function, unicode_literals tsl2561'den ithal TSL2561 eğer __name__ == "__main__": tsl = TSL2561 (eğer hata = = gerçek hata = tsL2561) ) baskı (tsl.lux ())

Basın Ctrl + X çıkmak için ekrandaki talimatları izleyerek kaydetmek.

İşiniz bittiğinde, test komut dosyasını çalıştırın:

python test.py

Her şey kuruluysa ve çalışıyorsa, bir sayı elde edersiniz. Bu sayı, sensörden gelen lüks bir okumadır. Sensörü tıkamayı veya hareket ettirmeyi deneyin, böylece daha fazla veya daha az ışık alır. Ardından test komut dosyasını tekrar çalıştırın ve sayının nasıl değiştiğini görün.

Adım 4: Otomasyon Komut Dosyalarını Oluşturma

Ahududu Pi, hava karardığında ışıkları açacak, ancak belirli zamanlarda onları da kapatacaktır. Örneğin, akşamları karanlık olunca ışıklarınızın yanmasını ve ardından elektrik tasarrufu için gece yarısı civarında sönmesini isteyebilirsiniz. Sabahın erken saatlerinde tekrar gelebilirler, sonra hava kararınca kendilerini kapatırlar..

Bunun gibi birden fazla zamanlama bölgesi olan bir zamanlamayı yönetmek için iki farklı komut dosyası vardır. Bir (onzone.py) karanlık olduğunda ışıklarınızın açık kalmasını istediğiniz zamanlar boyunca her dakika çalışacaktır. Diğer (offzone.py) ışık seviyesinden bağımsız olarak ışıkların sönmesini istediğiniz zamanlarda her dakika çalışacaktır.

Scriptler, cron işleri kullanılarak çalıştırılmak üzere programlanacak. Linux'ta Cron ve Crontab ile Görevlerin Zamanlanması Nasıl Linux'ta Cron ve Crontab ile Görevlerin Zamanlanması Nasıl Görevlerin Otomatikleştirilmesi, burada bulunan fütüristik teknolojilerden biridir. Her Linux kullanıcısı, kullanımı kolay bir arka plan hizmeti olan cron sayesinde zamanlama sisteminden ve kullanıcı görevlerinden yararlanabilir. . Her komut dosyasının hangi gün ve gecenin çalışacağını seçerek, ışıklarınızın otomatik olarak açılabileceği saatleri ayarlamak kolaylaşır. İstediğiniz kadar açık ve kapalı dönem ayarlayabilirsiniz.

Işıkları otomatik olarak kontrol etmek için kullanılan komutların yanı sıra, geçersiz kılma durumlarını yöneten üçüncü bir komut dosyası vardır. Bu, ortamdaki ışık seviyesine bakılmaksızın ışıkları uzaktan açmanıza olanak sağlar.

Senaryo 1: Açık Bölge

Bu Python betiği, karanlık olduğunda ışıkların açılmasını istediğiniz günün her dakikasında çalıştırılır. Bu komutu kopyalayıp terminale yapıştırarak komut dosyasını indirin:

https://gist.githubusercontent.com/hamishdownell/ea151d2ff7c888ac09f8a850afaab4ee/raw/10b0e9d8ec42f8577750941da46a93d16b597c05/onzone.py

Onzone.py her çalıştırıldığında, karanlık olup olmadığını görmek için sensörden lüks bir değer elde eder. Öyleyse, ışıkların açık mı kapalı mı olduğunu kontrol eder. Kapalılarsa, onları açacaktır. Karanlık değilse, senaryo ışıkların açık olup olmadığını görecektir. Eğer öyleyse, geçersiz kılınmadıkça onları kapatır.

Betik adı verilen bir değişken kullanır. lowlux hangi noktada ışıkları açmaya yetecek kadar karanlık olduğuna karar vermek. Onzone.py'nin üstündeki bu satırdaki değeri değiştirerek kendi kurulumunuza uygun bir şeyle değiştirebilirsiniz:

lowlux = 50

Senaryo 2: Kapalı Bölge

Bu senaryo, geçersiz kılmadıkça, ışıkların kapalı kalmasını istediğiniz günün her dakikasında çalıştırılır. Komut dosyasını indirin:

https://gist.githubusercontent.com/hamishdownell/fb8970909145bbfefbbef8dba5f5a00f/raw/eae5a6057a51ca4727907c7d061f0a48b07da944/offzone.py

Bu senaryo ne kadar aydınlık veya karanlık olduğu umrunda değil. Görevi açıksa ışıkları kapatmaktır (geçersiz kılınmadıkları sürece).

Script 3: Geçersiz Kılma Sunucusu

Bu komut, aşağıdaki işlemleri yapmak için komutları kabul edebilecek basit bir web servisi oluşturur:

  1. Işıkları, ortamdaki ışık seviyesinden bağımsız olarak birkaç dakika boyunca açınız..
  2. Işıkları kapat.
  3. Işıkların şu anda açık mı yoksa kapalı mı olduğunu öğrenin.
  4. Işıkların geçersiz kılındıklarında ne kadar süre açık kalacağını öğrenmek için.

Komut dosyasını indirin:

https://gist.githubusercontent.com/hamishdownell/2303bfd9fb30d42e79923bdb7e69ed4e/raw/7dcb456b81b8ae58ae48efa225adb41ba7d7f69c/lightserver.py

Bir sonraki adıma geçmeden önce, offzone.py betiğini şöyle çalıştırın:

python Instagram Hesabındaki Resim ve Videoları offzone.py

Bu, komut dosyalarının her şeyi takip etmek için kullandığı kontrol dosyalarını oluşturur..

5. Adım: Komut Dosyalarını Zamanlayın

Raspberry Pi'niz otomasyon komut dosyalarını cron ile çalıştırabilir. Zamanlamayı böyle yapın:

sudo crontab -e

Bu iki satırı metin düzenleyiciye yapıştırın:

* 7,8,9,17,18,19,20,21,22,23 * * * python /home/pi/lighting/onzone.py> NULL * 0,1,2,3,4,5,6 , 10,11,12,13,14,15,16 * * * python /home/pi/lighting/offzone.py> NULL

Not: Ahududu Pi'nize giriş yapmış olduğunuz kullanıcı adı varsayılan değilse, pi sayısı, yolu buna göre değiştir.

İlk satırda karanlık olduğunda ışıkların açılmasını istediğiniz tüm saatleri listeleyin. Işıkları kapatmak istediğiniz bütün saatler ikinci hatta.

Şimdi, Pi başlatıldığında geçersiz kılma komut dosyasını otomatik olarak çalışacak şekilde ayarlayın:

sudo nano /etc/rc.local

Bu satırı dosyanın altına yapıştırın, ardından kaydedin ve çıkın:

nohup python /home/pi/lighting/lightserver.py ve

Sonunda, Raspberry Pi'yi yeniden başlatın, böylece sunucu betiğinin olması gerektiği gibi yüklendiğini kontrol edebilirsiniz.

sudo yeniden başlatma

Adım 6: Röleyi Test Et

Işıklarınızı bağlamadan önce, geçersiz kılma işlevini kullanarak her şeyin çalıştığını test edin. IP adresini kendi Ahududu Pi adresinizle değiştirerek, Pi'nizle aynı ağdaki bir web tarayıcısına aşağıdakini yazın:

11.22.33.44:1234/overrideon/3

Her şey yolundaysa, rölenin tıklandığını duyacaksınız ve tarayıcı ışıkların üç dakika açık kaldığına yanıt verecektir..

Röle kapalıyken, diğer geçersiz kılma işlevlerini test edebilirsiniz. Bu, geçersiz kılma nedeniyle ışıkların kaç dakika açık kalacağını size söyleyecektir:

11.22.33.44:1234/getoverrideremaining

Bu size ışıkların açık olduğunu söylemelidir:

11.22.33.44:1234/lightstatus

Sonunda, onları şu şekilde tekrar kapatabilirsiniz:

11.22.33.44:1234/overrideoff

Röle açıldığında tıklayacaktır.

Adım 7: Işıklarınızı Bağlayın

Işıklarınızı röleye bağlamadan önce Ahududu Pi'nizi kapatın ve fişini çekin. Normal bir anahtar yerine röle kartındaki normalde açık (NO) konektörleri kullanın, şöyle:

Son olarak, lüks sensörünüzü ortam ışığı seviyesini yakalayacağı bir yere monte edebilirsiniz. TSL2561'in doğrudan parlak güneş ışığı ile karşılaştığında doymuş olarak rapor edeceğini, mümkünse gölgede tutmanın en iyi yol olduğunu unutmayın..

Denemeniz için Daha Fazla Ahududu Pi Projesi

Bir web tarayıcısına komutları yazarak yeni akıllı aydınlatma kurulumunuzu uzaktan geçersiz kılmak oldukça zahmetlidir. Daha iyi bir yol, işleri kolaylaştırmak için bir Amazon Yankısı gibi bir şeyi bağlamak. Alexa servisi ile Webhooks servisini IFTTT'de birleştirmek ses kontrolü eklemenin basit bir yoludur.

Başlamanıza yardımcı olması için IFTTT kullanma kılavuzumuza bakın..

Diğer bir seçenek de Siri Kısayollarını kullanmaktır. Menüleri olan tek bir kısayol, ışıkların durumunu sorgulayabilir ve onları açmak ve kapatmak için geçersiz kılma işlevlerini kullanabilir.

Bu projeden memnun kaldıysanız, bu garip Raspberry Pi projelerini izlediğinizden emin olun. 10 En Garip Ahududu Pi Projeleri 10 En Garip Ahududu Pi Projeleri Her birimizin içinde çılgın bir bilim adamı var ve Ahududu Pi, iç tezgâhınızın ortaya çıkmasına ve oynamasına izin veriyor. Bazen işler garipleşir. Gerçekten garip. daha fazla fikir için.




Henüz no comments

Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.