İçindekiler:

Raspberry Pi Kullanılarak Kontrol Edilen DIY Alçak Gerilim Dış Aydınlatma: 11 Adım (Resimlerle)
Raspberry Pi Kullanılarak Kontrol Edilen DIY Alçak Gerilim Dış Aydınlatma: 11 Adım (Resimlerle)

Video: Raspberry Pi Kullanılarak Kontrol Edilen DIY Alçak Gerilim Dış Aydınlatma: 11 Adım (Resimlerle)

Video: Raspberry Pi Kullanılarak Kontrol Edilen DIY Alçak Gerilim Dış Aydınlatma: 11 Adım (Resimlerle)
Video: Part 5 - Walden Audiobook by Henry David Thoreau (Chs 12-15) 2024, Temmuz
Anonim
Raspberry Pi Kullanılarak Kontrol Edilen DIY Düşük Voltajlı Dış Aydınlatma
Raspberry Pi Kullanılarak Kontrol Edilen DIY Düşük Voltajlı Dış Aydınlatma
Raspberry Pi Kullanılarak Kontrol Edilen DIY Düşük Voltajlı Dış Aydınlatma
Raspberry Pi Kullanılarak Kontrol Edilen DIY Düşük Voltajlı Dış Aydınlatma
Raspberry Pi Kullanılarak Kontrol Edilen DIY Düşük Voltajlı Dış Aydınlatma
Raspberry Pi Kullanılarak Kontrol Edilen DIY Düşük Voltajlı Dış Aydınlatma

Niye ya?

İtiraf etmeliyim ki, diğerleri gibi ben de nesnelerin internetinin (veya IoT'nin) büyük bir hayranıyım. Ayrıca hala tüm ışıklarımı, aletlerimi, ön kapımı, garaj kapımı ve açıkta kalan internete kim bilir başka neler takmaktan yoruldum. Özellikle Amazon S3 hizmetlerinin yakın zamanda çökmesi ve tutarlı güvenlik açıkları gibi olaylarla. Veya kullandığımız IoT cihazlarına sahip miyiz? İnternet sağlayıcınız hizmeti durdurursa veya kapanırsa ne olur? Benim için çok fazla başarısızlık noktası var.

Son 3 yılda, Raspberry Pi ile keşfetme ve öğrenme konusunda çok büyük bir heyecan yaşadım ve bu süre boyunca otomatik bir bahçe damlama sisteminden ağ bağlantısı ekleyerek eski lazer yazıcımı canlandırmaya kadar her şeyi yapma fırsatım oldu. bazı tatlı retro oyunlarda (Arduino hala ilk aşkım olmasına rağmen…).

Geçen yıl boyunca kapalı bir arka sundurma eklemek ve arka bahçemi geliştirmek için çalışıyorum. Biraz dış mekan aydınlatması istediğimi biliyordum ama sistemlerden ve bağlantı eksikliğinden çok etkilenmedim. Web'den ilham alarak, düşük voltajlı bir dış mekan aydınlatma sistemi çalıştırmak, bağlantıyı yerel ağınızdan izole etmek (isterseniz ortaya çıkabilir) ve genişletip özelleştirecek kadar esnek olmak için uygun bir sistemi bir araya getirdim. kalbin içeriği.

Teşekkür:

TheFreeElectron - Raspberry Pi'niz için Basit ve Sezgisel Web Arayüzü - web tarafında takılırsanız, buraya bakın, sunucu tarafı için ilham kaynağı

CodePen - CSS ilhamı ve öğrenimi için harika bir kaynak

Code Academy - Ben biraz. NET ve C# içeren eski bir HTML adamıyım. Python, CSS, Javascript, PHP - hepsi Code Academy'nin yardımıyla kullanılabilir/hacklenebilir bir düzeye yükseltildi.

Temel Genel Bakış:

Tek bir ATX güç kaynağından sağlanan düşük voltajlı güç (12V ışıklar/röleler ve 5V RPi/röleler)

Apache (web sunucusu), GPIO durumunu izlemek ve ana web sayfası için ilgili bilgileri görüntülemek için Javascript (kullanıcı tarafı) ve Python (komut dosyaları) ile PHP (sunucu tarafı) ana sayfasını kullanan WiringPi (GPIO yönetimi) ile Raspberry Pi kurulumu. Işıkları kontrol eden röleleri kontrol eden GPIO pinlerini kontrol etmek için kullanılan onay kutuları (kılık değiştirmiş)! Temelde sihirdir.

Yol boyunca, altyapı resimleri (kanal, bağlantı kutuları, vb.) göreceksiniz - bu talimatın kapsamının biraz dışında. Bir sistemin elektronik bağırsaklarına odaklanacağım. Hava koşullarına dayanıklı (gerekirse) veya güzel (gerekirse) veya her ikisini (arzu edilirse) yapmak size kalmış.

Paylaşmaktan heyecan duyuyorum ve bu topluluğun geri bildirimlerini dört gözle bekliyorum. Hadi başlayalım - bitirmeye başlayın.

Adım 1: Donanım, Parçalar ve Araçlar

Donanım, Parçalar ve Araçlar
Donanım, Parçalar ve Araçlar

Kullanılacak daha iyi parçalar var mı? Evet.

Sistemimin bu parçalarla yeterince çalışmasını sağladım mı? Evet.

Biraz farklı bir şey denemeli misin? Neden olmasın?!Donanım/Yazılım

  1. RaspberryPi - ne kadar temizse o kadar iyi ve RPi3 harika çünkü wifi'ye ihtiyacınız olacak

    • Varsayalım: Taze bir Rasbian yükünüz var
    • Varsayalım: Varsayılan şifreyi değiştirdiniz ve SSH'yi etkinleştirdiniz (ekranlı)
    • Veya ekransız (bkz. Adım 1)
  2. ATX Güç kaynağı - geri dönüştürülmüş en iyisi, benimkini eski oyun teçhizatından aldım - kaç ışık istediğinizi hesaplarken watt'a dikkat edin ve ideal olarak [email protected]+Amp güç rayı arayın - bu mor kablo ve tüm güç emme sistemini çalıştırmak zorunda kalmadan RPi'ye güç sağlar
  3. Dış Mekan Işıkları (12v) - bunlar harika: düşük voltaj, yeterli çıktı, uygun fiyat
  4. 5v ve/veya 12v Röle Modülleri
  5. Bir tür muhafaza - 8X8X4 PVC Bağlantı Kutusu kullandım
  6. Notepad++ w/ NppFTP - RPi dosyalarını hızlı bir şekilde yüklemek ve düzenlemek için kullanılır
  7. Putty - RPi'ye birkaç ekstra paket yüklemek için kullanılır

Parçalar

  1. Açık hava anma 12v güç kablosu
  2. Tel zımba
  3. 1/2" PVC ve bazı dik açılı bağlantılar - Koşmayı planladığınız her bir ayrı hat için 2 fit ve 2 dik açı
  4. Bazı ethernet kablosu
  5. Tel köprüler - çeşitli erkek/dişi kombinasyonları
  6. Kendi Molex konektörlerinizi yapın
  7. Isıyla daralan makaron
  8. Elektrik bandı
  9. Mikro USB Kablosu
  10. İsteğe bağlı: Bu kablo konektörleri harikadır - bunları her zaman kullanın (çocuklar için elektrikli araçlar, akıllı bahçe (solenoid konektörler) ve ATX'i RPi'ye bağlayan USB güç kablosu)

Aletler

  1. İyi tel kesici çifti - daha küçük tarafta
  2. Yıldız tornavida
  3. Küçük bir çift kargaburun
  4. Opsiyonel: Süreklilik test cihazı ile voltmetre - çok sayıda kablo ve sorunları teşhis etmek için çok yardımcı…
  5. Bazen

Adım 2: Güç Kaynağınızı Tanıyın

Güç Kaynağınızı Tanıyın
Güç Kaynağınızı Tanıyın
Güç Kaynağınızı Tanıyın
Güç Kaynağınızı Tanıyın

ATX güç kaynağınızdan çıkan tüm kablo karmaşasına bir göz atın. Yaşınıza bağlı olarak, bir ana mobo konektörünüz (20-22 pin - resimdeki pin çıkışı) artı her türlü diğer şeyler için güç - sürücüler, grafik kartları, yardımcı güç vb.

  • +5VSB (Bekleme) hattı mor. Bu, RPI'nize adanacak - her zaman güç
  • PS_ON satırı yeşildir. Bu toprağa bağlandığında, kırmızı ve sarı kaynakları açacaktır.
  • +5V hatları kırmızıdır. Bir hat 2-3 5v röleye güç sağlayabilir
  • +12V hatları sarıdır. Dış aydınlatmaya güç sağlamak için 3-4'e ihtiyacınız olacak
  • ZEMİN/ORTAK çizgileri siyahtır. Diğer renklerin her biri için bunlardan birkaçına ihtiyacınız olacak.
  • Bu proje için diğer tüm renkler kullanılmayacaktır.

Adım 3: Güç Kaynağını Hazırlayın

İlk olarak, küçük bir sorumluluk reddi beyanı yapıyorum:

Hat gücüyle uğraşıyorsunuz, ne yaptığınızı bilmiyorsanız/veya saygı duyuyorsanız - gerçekten kendinize zarar verebilirsiniz veya daha kötüsü… Devam etmeden önce, bu sefer ve HER ZAMAN, fişe takılı olmayan bir ATX gücüyle çalıştığınızdan emin olun. tedarik edin ve açmadan önce boşalması için zaman verin. Sizi güvende tutmak için bazı basit kurallara saygı göstermemeniz ve bunlara uymamanızdan sorumlu değilim.

TAMAM! Hareketli!

  1. Güç kaynağını fişten çekin ve kapasitörlerin boşalması için 10-15 dakika bekleyin
  2. Yıldız tornavida kullanın ve güç kaynağı kasasındaki vidaları çıkarın (Bilginize göre, garanti geçersizdir - ileri dönüşüm için iyi bir neden)
  3. Tüm Molex/konektörleri kesin, böylece bir sürü boş kablonuz olur
  4. Mor, yeşil, sarı, kırmızı ve siyah kabloları ayırın ve düzenleyin
  5. Kasanın içindeki diğer tüm kabloları dikkatlice kesin - bunlara ihtiyacınız olmayacak ve bu yerden tasarruf sağlayacaktır
  6. Kesilen tellerin uçlarını biraz elektrik bandıyla kapatın
  7. Bu kasayı yalnızca kaynaktan ihtiyacınız olan kablolarla yedekleyin, kabloların soğutucu veya fanların yakınında olmadığından emin olun

Adım 4: Pi'ye Güç Verin

Pi'ye güç verin!
Pi'ye güç verin!
Pi'ye güç verin!
Pi'ye güç verin!
Pi'ye güç verin!
Pi'ye güç verin!

Röleleri kontrol etmeye başlamadan önce, tüm RPI'ları çalıştıralım.

Unutmayın, RPi'nin ilk kurulumunu almanın temellerini ele almıyorum (İşletim sistemini SD karta yükleme, yeni bir parola belirleme ve SSH'yi etkinleştirme) - harika bağlantılara bağlantılar için donanım/yazılım bölümüne (2. adım) tekrar bakın Bu şeyler.

İlk resme bir göz atın - mor çizgiyi ATX'ten RPi'ye götürecek hibrit kabloyu oluşturalım:

USB'den ATX'e Güç Kablosu

  1. Tel kesicilerinizi kullanarak mikro USB kablonuzu mikro USB ucundan daha USB ucuna yakın kesin.
  2. Kablonun dış manşonunu dikkatlice soyun
  3. 4 kablonuz olmalıdır (Siyah, Kırmızı, Yeşil ve Beyaz)
  4. Siyah ve kırmızının 1/2" ila 3/4"ünü bırakın ve bakırı açığa çıkarmak için bu uçları soyun
  5. Yeşil ve Beyazı tamamen kesin, bunlara ihtiyacınız olmayacak - bu sadece güç içindir, veri yok
  6. ATX güç kaynağınızdan kestiğiniz kablolardan birkaçını alın (Kırmızı & Siyah)
  7. Onları USB kablosuna bağlayın

    • Bunu yapmanın birkaç yolu - uzun ömür sırasına göre:

      • (A) Her iki ucu soyulmuş, birbirine lehimlemiş ve daha sonra biraz ısıyla büzüştürerek hepsini kullanmıştır.
      • (B) Soyulmuş iki ucu uzunlamasına bükün, ardından ısıyla daralan
      • (C) Bazı küçük tel somunlarla iki soyulmuş ucu bağlayın
      • (D) Soyulmuş iki ucu birbirine bükün ve bir miktar elektrik bandı ile sarın
  8. Konektörleri kullanıyorsanız, diğer uçları soyun ve konektöre 1/4" - 3/8" değerinde açıkta sokun (pozitif ve negatif tarafları eşleştirdiğinizden emin olun)
  9. Konektör kullanıyorsanız, ATX'ten mor kabloyu ve siyah olanı tekrar tekrar soyun, pozitif ve negatif izleyin (mordan kırmızıya ve siyahtan siyaha)
  10. Konektör kullanmıyorsanız, sadece kablo somunlarını bağlayın.

Güç kaynağına ve RPi'ye bağlandıktan sonra, etrafta dolaşan başka soyulmuş kablo olmadığından emin olmak için iki kez kontrol edin ve güç kaynağını tekrar takın. Güç kaynağını açtığınızda, çalışan bir Raspberry Pi'niz olmalıdır!

Değilse - bağlantılarınızı, pozitiflerinizi, topraklamanızı vb. iki kez kontrol edin.

Nafile? Kablonuzu kontrol etmek için voltmetrenizin süreklilik test cihazını kullanın. Her iki uca dokunulduğunda bir bip sesi duymalıdır. Ayrıca ATX güç kaynağından gelen mor çizginin +5v olduğunu kontrol edin.

Hala gitmek yok mu? +5v için kırmızı bir kablo deneyin, bunu kullanabilir, ancak bir sonraki adımı biraz değiştirecek ve daha fazla watt tüketecektir.

Şimdi donanıma bir ara verelim ve yumuşak becerilerimiz üzerinde çalışalım.

Adım 5: SSH'yi RPi'ye Alın ve Bazı Yazılımları Alın

SSH'yi RPI'ye Girin ve Bazı Yazılımları Alın
SSH'yi RPI'ye Girin ve Bazı Yazılımları Alın

Ah, açık kaynağın güzelliği… çok harika…

Biraz Putty ile başlayalım.

Bu küçücük ama güçlü küçük programda bir sürü harika kaynak var. SSH'yi etkinleştirdiyseniz ve varsayılan şifreniz değiştiyse, hazırsınız demektir. Hadi ateşleyelim ve bazı yeni paketler ve yazılımlar indirelim.

Açık Kaynak En İyi Kaynaktır

Tüm önemli olanlarla başlayalım:

$ sudo apt-get güncellemesi

$ sudo apt-get yükseltme

Tüm sorulara evet.

Şimdi WiringPi Kitaplığını alalım - GPIO'yu çok daha yönetilebilir hale getirir.

$ sudo apt-get install git-core

Tüm sorulara evet - şimdi inşa etmek için:

$ git klonu git://git.drogon.net/wiringPi

$ cd ~/wiringPi $./build

Son fakat en az değil - harika bir web sunucusu:

$ sudo apt-get install apache2 php5 libapache2-mod-php5

Her şey yolunda giderse, RPi'nin IP adresini yazabilmeli ve "Çalışıyor!"

Ardından kendinize erişim izni verin:

$ sudo chown pi:pi /var/www/html/ $ sudo chmod 755 /var/www/html/

IP Adresleri Üzerine Yan Not

Bu IoT tasarımını sevmemin sebeplerinden biri de benim olması. eğer istersen iIoT. 'Bulut' veya diğer hizmetler hakkında endişelenmenize gerek yok. AMA, bunun kendiniz için nasıl çalışmasını istediğinizi belirlemeniz gerekecek. Herhangi bir seçeneğin anahtarı, sağlam, sabit bir IP adresine ihtiyaç duymaktır - aksi takdirde, ışıklarınızı nereye açıp kapatacağınızı asla bilemezsiniz. Ben şahsen (C) seçeneğini kullanıyorum ama sizin aramanız.

Birkaç seçenek:

  • (A) RPi için statik IP adresi
  • (B).local alan ataması
  • (C) Yönlendiricinizin her seferinde aynısını atamasına izin verin. Yönlendiricinizin özelliklerine bağlıdır - genellikle Gelişmiş LAN ayarları altında 'Adres Rezervasyonu' adlı bir ayar arayın.

Adım 6: NotePad++ SSH Üzerinden RPi'ye Bağlanın

NotePad++ SSH ile RPi'ye Bağlanın
NotePad++ SSH ile RPi'ye Bağlanın
NotePad++ SSH ile RPi'ye Bağlanın
NotePad++ SSH ile RPi'ye Bağlanın

HTML, PHP, Python, Javascript ve CSS dosyalarını düzenlemek için Notepad++ ve bu değişiklikleri RPI'nize hızlı ve kolay bir şekilde almak için NppFTP adlı bir eklenti kullanacağım - zarif, basit ve hızlı. NppFTP, 32-bit sürümde varsayılan olarak gelir, ancak 64-bit'e geçerseniz, artık desteklenmektedir, ancak manuel olarak yüklemeniz gerekecektir.

  1. Notepadd++'ı açın
  2. Eklentiler NppFTP NppFTP Penceresini Göster (zincir bağlantı simgesi olan küçük bir klasör de seçebilirsiniz)
  3. NppFTP penceresinde COG simgesini ve 'Profil Ayarları'nı seçin
  4. Bunu hiç kullanmadıysanız, bu sizin için boş olmalıdır, 'Yeni Ekle'yi seçin.
  5. Hostname = Yerel ağınızdaki RPi IP Adresi
  6. SFTP, Bağlantı Noktası 22 (SSH) olan türdür
  7. Kullanıcı adı 'Pi' ve Şifre yeni güncellenen şifreniz… değil mi?!
  8. Ayrıca, varsayılan dizininizi '/var/www/html/' olarak ayarlayın - işleri kolaylaştıracaktır
  9. Bağlan simgesine basın ve az önce oluşturduğunuz profili seçin - sizi doğrudan yeni dizininize sıkıştırmanız gerekir

Bir dosyayı açmak, makinenize yerel bir dosya getirecektir ve onu kaydetmek, değişikliklerinizi otomatik olarak RPi'ye yükleyecektir.

index.php, gpio.php, css.css ve script.js dosyalarını Notepad++ ile açın, ardından bunları html klasörüne yükleyebilirsiniz.

RPi'nizin IP adresini girerek bir test yapın - varsayılan kontrol sayfanızın yüklendiğini görmelisiniz.

Değilse, kontrol edin ve tüm dosyaların gerçekten RPi'de olduğundan emin olun, ayrıca html klasöründe başka bir 'index' olmadığından emin olun.

Sayfanın yüklendiğini görürseniz, başarı! RPi'nize yerleştirdiğiniz dosyalar ve aydınlatmanızı kontrol etmenize nasıl yardımcı oldukları hakkında daha fazla konuşalım!

7. Adım: Arayüze Genel Bakış ve Index.php

Arayüze Genel Bakış ve Index.php
Arayüze Genel Bakış ve Index.php
Arayüze Genel Bakış ve Index.php
Arayüze Genel Bakış ve Index.php

Öncelikli hedefim, herhangi bir cihazdan yüklenebilen basit, web tabanlı bir arayüzden aydınlatmayı kontrol etmekti. Sonuç, çok sayıda özelliğe sahip bir sayfa, onu kendinize ait hale getirmeniz için çok fazla alan ve birçok renkli dildir.

İlk resimden de görebileceğiniz gibi - index.php'de bulunan Javascript, onay kutumuzun (yani switch) durumu değiştiğinde gpio.php'yi çağırmak için kullanılır. gpio.php daha sonra gpio pinlerini yazar ve okur.

Eklerdeki index.php ile başlayalım. Her seferinde bir bölüm alacağım, size yardımcı olacak alanları ve bazı özel notları göstereceğim.

İlk bağlantılar CSS stil sayfasına ve '.ico' uzantılı 32X32 bitmap olan özel bir simgeye yöneliktir.

İkincisi, biraz Javascript, biraz AM/PM ve yanıp sönen bir iki nokta üst üste eklemek için ayarlanan w3schools'tan saat ayarlı bir örnek (tam benim için nasıl gösterilmesini istedim, belki farklı ister misiniz?)

İlk olarak, biraz PHP - ilk önce bu çalışır - sadece sunucuda (sayfa yüklendikten sonra kaynakta göremez) - ayrıca neden pin durumlarını yazmak için kullanmaya devam edemez.

$nm_array = array("Anahtarınız 1", "Anahtarınız 2", vb.);

//Işıklar üzerinde ayrı kontrol olmasını istediğiniz alanları buraya ekleyeceksiniz //İstediğiniz/ihtiyacınız olduğu kadar ekleyebilirsiniz - buna göre anahtarları saymak ve oluşturmak için ayarlanmıştır

$wthr_array = dizi(); //şimdi boş, ancak bir Python betiği tarafından doldurulmuş bir veri noktasını tutar

Sonraki döngü PHP'nin 'system' ve 'exec' işlevlerini kullanarak tüm pin modlarını WiringPi (tüm çıkışlar) kullanarak ayarlayacak ve sonra bunları okuyacaktır. Değişiklik yapabilen birden fazla kaynakla, yeni sayfaların gerçek mevcut durumu göreceğinden emin olmak istedim. Bir Javascript daha sonra bunları okuyacak ve onay kutularını uygun şekilde işaretli veya işaretsiz olarak ayarlayacaktır.

Son olarak, bir veri noktası çekmek ve $wthr_array'i doldurmak için Python betiğini çalıştırmak istiyorsanız.

Sıradaki div sınıfı "başlık" - liste öğelerinin her biri, web sayfasının başlığındaki kapların içeriğini temsil eder (Zaman, Başlık ve Sıcaklık.)

$nm_array'e eklediğiniz anahtar adlarının sayısına göre döngü yapacak olan PHP döngüsü.

Burada önemli olan PIN numaralarını da sıralı olarak atamasıdır. PIN0 ile başlayarak herhangi bir sayıya kadar, ancak RPi'nizde bulunan GPIO pinlerinin sayısına bağlı olarak gerçekten sınırlı, yani 16. Bu, şeyleri kontrol etmeye başladığımızda bir sonraki adımda çok önemli olacaktır.

Diğer dosyalardan bazıları hakkında birkaç kısa not:

base.css

Sayfa için kendi renkleriniz (web, rgb, vb.) 68, 111 ve 134. satırlarda ayarlanmıştır. Bunları seçtim çünkü bunlar aynı renkler, süper bir eş yapımcım yeni arka verandayı boyamam için benim için seçti, bu yüzden arayüzü, arayüzün tipik olarak yürütüldüğü yere bağlamaya yardımcı olur.

194 satırından başlayarak, geçiş anahtarlarının görünümünü ve hissini değiştirebileceğiniz yer burasıdır.

gettemp.py

Bu süper basit Python betiği, hava yeraltından kendi API anahtarınızı alır almaz kullanıma hazırdır ve ayrıca size sayfanızın kullanımıyla ilgili bazı istatistikler gösterir (sayfa her yüklendiğinde bir çağrı yapılır - böylece bazı verileri görebilirsiniz))

Adım 8: Öğeleri 12V ile Kontrol Edin

12V ile Kontrol Malzemesi
12V ile Kontrol Malzemesi
12V ile Kontrol Malzemesi
12V ile Kontrol Malzemesi
12V ile Kontrol Malzemesi
12V ile Kontrol Malzemesi

Muhtemelen güç kaynağınızın pek ses çıkarmadığını fark etmişsinizdir. Fan çalışmıyor, sarı veya kırmızı çizgilerde voltaj yok, vs.

Bunun nedeni, ana gücü gerçekten açmak için YEŞİL (PS_ON) bir toprağa bağlamamız gerekecek.

Şu rölelerden birini çıkaralım.

  1. YEŞİL kabloyu soyun ve röle terminallerinden birine bağlayın
  2. SİYAH kabloyu soyun ve yeşil olanın yanındaki röle terminallerinden birine bağlayın

Tamam, şimdi jumper kablolarınızdan birkaçını alın - bir tarafta KIRMIZI & SİYAH hem dişi hem HER RENK dişi ve diğer tarafta erkek.

  1. Bir dişi tarafı bırakarak KIRMIZI VE SİYAH'ın bir ucunu soyun ve bir tel somunla KIRMIZI ile MOR'u (RPi'nizin bağlı olduğu ile aynı) ve SİYAH'ı SİYAH'a bağlayın
  2. Bunların dişi tarafı KIRMIZI röleye pozitif, SİYAH ise negatif röleye gidecektir.
  3. Seçtiğiniz RENK, GPIO'ya erkek gidecektir (resme bakın - WiringPi PIN 0 ile gideceğiz)

    NOT: GPIO'yu bağlamak için bir şerit kablo kullanıyorum, ancak doğrudan RPi'nin başlığına gidebilirsiniz

  4. Dişi taraf, rölenin "sinyaline" veya S pinine gidecektir.

Ana sayfanıza geri dönün (RPi'nizin IP adresi) - ilk anahtar, belki de tek anahtar, şimdi ATX PS'yi bekleme modundan çıkarmalı, fanı çalıştırmalı ve tüm 12V, 5V ve 3.3'e meyve suyu göndermeye başlamalıdır. V telleri.

Güzel olan, burada durabilmen. Aydınlatmanızı birkaç 12V hatta bağlayın ve kontrol etmek için basit, dijital bir anahtarınız olur.

Ama eğlence bunun neresinde? Sırada, aydınlatma kablolarından ve aydınlatmanız üzerinde daha fazla anahtar ve daha fazla kontrol eklemek için bir yöntemden bahsedeceğim.

9. Adım: Ethernet Üzerinden Güç (ve Veri) İle Daha Fazla Kontrol (P(&D)oE)

Ethernet Üzerinden Güç (ve Veri) İle Daha Fazla Kontrol (P(&D)oE)
Ethernet Üzerinden Güç (ve Veri) İle Daha Fazla Kontrol (P(&D)oE)
Ethernet Üzerinden Güç (ve Veri) İle Daha Fazla Kontrol (P(&D)oE)
Ethernet Üzerinden Güç (ve Veri) İle Daha Fazla Kontrol (P(&D)oE)
Ethernet Üzerinden Güç (ve Veri) İle Daha Fazla Kontrol (P(&D)oE)
Ethernet Üzerinden Güç (ve Veri) İle Daha Fazla Kontrol (P(&D)oE)

Tedarik listesine eklediğim tüm bu ethernet kablosunun ne olduğunu merak ediyor olabilirsiniz.

Ethernet kullanarak, aydınlatma sistemimiz üzerindeki kontrolü daha da artırmak için bir GPIO sinyaliyle birlikte diğer röle bağlantılarına 5V gönderebiliriz. Belki de bahçenin belirli alanlarının ayrı kontrolünü istiyorsunuz? Yoksa ön ve arka kısımlar mı? Bu, bunu sağlayacaktır.

Konsepti ve bazı en iyi uygulamaları ortaya koyacağım ve siz de bunu ihtiyaçlarınıza göre özelleştirebilirsiniz.

Birinci ve ikinci resme bir göz atın. Güç kaynağımızdan + 5V'luk bir hat alarak, bunu bir dizi bükülmüş ethernet kablosuna gönderiyorum.

  1. Ethernet kablosunun dış kılıfını dikkatlice soyun - 24-23 AWG kablolarına zarar vermek istemezsiniz
  2. İki renk seti seçin ve bunları dikkatlice açın - biri voltaj, diğeri ise toprak olacaktır.

    NOT: Diğer tarafı bağladığınızda hangi rengin ne için olduğunu belgelemek çok iyi bir fikir

  3. Her iki kablonun uçlarını soyun ve güç kaynağınızda KIRMIZI (+5v) ve SİYAH bir toprağa kadar kablolayın (resim 2)
  4. Aynısını başka bir kablo rengi için yapın, ancak bunun yerine bir GPIO Pininden bir jumper bağlayın

Sarf malzemeleri bölümünde bağladığım Molex konektörleri burada gerçekten işe yarıyor. 3 çift bükümlü çifti alın, 3 uçlu konektör ile birlikte dişi Molex konektörlerine kıvırın ve bunlar doğrudan röleye bağlanacaktır. (resim 3). Sıralamayı izlediğinizden emin olun, rölemin +, - & S'de olmaları gerekiyordu. Bu sırada olmayan bir Molex kablosu yaparsanız, onları yeniden düzenlemek zor olabilir.

Ethernet güç rayını rölenize "bağlarsanız", bu hattı istediğiniz yerde çalıştırabilir ve çeşitli konumlarda ona dokunabilirsiniz.

Bunu, sınırlı voltaj düşüşü ve bükümlü çift nedeniyle nispeten kararlı ve parazitten korunan iyi bir GPIO sinyali ile 100ft'den fazla ethernet ile test ettim.

Adım 10: O Avluyu Aydınlatın

Avluyu Aydınlatın!
Avluyu Aydınlatın!
Avluyu Aydınlatın!
Avluyu Aydınlatın!
Avluyu Aydınlatın!
Avluyu Aydınlatın!

Bunu yapabileceğiniz ÇOK fazla yol var. Sisteminizin çalışır durumda ve güvenli olduğundan emin olmak için bazı genel kavramları ve adımları ele alacağım.

Bunun için kablo gömeceğinizi unutmayın. Bağlantısını verdiğim kablo benim kullandığım kablodur ve yeraltında gömme için derecelendirilmiştir; bu, kablo hatlarını, internet hatlarını VEYA EN KÖTÜ DURUMDA, elektrik hatlarını kesmemeye ekstra dikkat edin anlamına gelir… emin değilseniz lütfen yerel "kazmadan önce arayın" ile iletişime geçin. Ayrıca, neyin olumlu neyin olumsuz olduğunu takip edin. Her zaman "kelimeler" (beyaz harfler) içeren kablonun negatif olduğunu ve boş satırın pozitif olduğunu biliyordum)

Bir arka verandaya ek yaptığım için, biraz ileriyi planladım ve yeni temelimin çevresine bağlantı kutuları yerleştirdim, bu da bunu gerçekten çok daha basit hale getirdi. Güvertenizin, kaldırım taşlarının vb. altından kabloları kolayca geçirebilirsiniz. Tüm kablolu bağlantıları, özellikle röleleri hava koşullarına dayanıklı bir bağlantı kutusuna koyduğunuzdan emin olun.

İlk önce 12V hatlarını bağlantı kutusundan geçirdim (resim 2).

Bu tel, altta dik açılı 1/2" PVC borudan zemine, yaklaşık 6-8" yere kadar indi. Kayalık toprağımıza dayanıklı bir hendek (kazma kullanmak zorunda kaldı) ama belki de gerçek kirle bir yerde yaşıyorsun…

Çizgi geliyor (resim 4), yine dik açılı ve 1/2 PVC ve ağaca bağlı. Telin çekilmesini önlemek için PVC'nin üstünü biraz silikonla doldurdum. çocuklar tarafından.

Bazı kurulumlar için burada durabilir ve ışığınızı ağaca doğru tutabilirsiniz. İstediğiniz görünümü elde etmek için gece test edin. Aydınlatmanın azalmasını istiyorsanız… devam edin.

Ağacın arkasına götürmek için teli delmemeye dikkat ederek tel zımba kullandım (resim 5)

Hattı aldıktan sonra, montaj braketini ağaca vidalamanız gerekecek. Sabitledikten sonra, artıyı kırmızıya ve eksiyi ışık fikstürünün mavi veya siyahına bağlamak için tel somunları kullanın. Nemi uzak tutmak için bağlantıları biraz elektrik bandına sarın.

Çalıştırmak istediğiniz kadar çok ışık için durulayın ve tekrarlayın!

Bir telefon, iPad veya bilgisayar çalıştırarak ve RPi IP adresinize giderek test edin.

Olması gereken son şey, RPi'nizin ve bağlantıların güzel ve bir bağlantı kutusunda veya başka bir düzenleme türünde rahat olduğundan emin olmaktır - yine burada kapsamın ötesinde.

Adım 11: Devam Eden İyileştirmeler ve Sonuçlandırma

Peki sırada ne var ve nasıl geliştirilir? Yardım etmek için bu topluluğu arıyorum, aynı zamanda bunu bir araya getirdiğimden beri uyguladığım veya evin etrafındaki diğer projeler arasında çalıştığım birkaç fikir.

Hava Durumu Hizmetini Güncelleme

WeatherUnderground yerine Accuweather API kullanmaya başlandı (durdurulan API hizmeti) - nasıl yapıldığını göstermek için 'gettemp.py' eklendi!

Fiziksel Düğmeler Ekleme

Ofis konferans odamızda gördüklerime benzer 4 düğmeli bir ünite aldım ve o zamandan beri ünite açıkken bir python betiği tarafından izlenen 4 GPIO'ya kadar bağladım. Şimdi bunları, hepsini bir ve bir kapatmak için başka bir yöntem olarak da kullanabilirim ve ana sayfayı programladığım şekilde, ilk önce GPIO pininin mevcut durumunun ne olduğunu kontrol edecek, böylece çakışan giriş sinyalleriniz olmasın.. touchplate.com'daki arkadaşlar, sorularıma cevap vermede çok yardımcı oldular - teşekkürler!

Weather Underground'dan Farklı Veriler

WU'dan (gün doğumu, gün batımı vb.) astrolojik verileri çekmeye başladım. Işıkların gün batımından 30 dakika önce açılıp kapanması ve belirli saatlerde de sönmesi için çalışıyorum. Bunun için bazı analog sensörler kullanabilir, ancak RPi'nin en iyi kullanımı değil, bu nedenle bir yazılım çözümü ile oynamak.

Otomatik Açma/Kapama Ekleme

Arka verandam, yaklaşık 2 yıl önce döktüğümüz 10 metrelik sağlam bir beton. Geçen yıl biraz düzensiz havamız vardı - bir gün dışarıda 35-40F, sonra ertesi gün 70-80F ve %60-80 nemli olacaktı. Bu, levha üzerinde yoğuşmaya neden olarak çok kaygan hale geldi. Bu sorunla mücadele etmek için, önceki günlerin sıcaklığını (döşeme için yaklaşık bir sıcaklık belirlemek için) aşağı çekmek için bir python komut dosyası ve koşulların verandada yoğuşma oluşturmak için doğru olup olmadığını belirlemek için çiy noktası ekledim (https://www. weatherquestions.com/What_is_condensati… Sıcaklık çiğ noktasından düşükse fanlar devreye girer, değilse kapalı kalırlar. Ayrıca fanlar manuel olarak açılmışsa ve web sayfası arayüzü biraz değişirse üzerine yazmaz. 'AI' fanları açtıysa. 4 dosya ekledim: dryout.py, auto_on.py & auto_off.py (python klasörüne yerleştirin) ve güncellenmiş bir index.php (ana klasöre yerleştirin) - sen' Weatherunderground API anahtarınızı güncellemeniz gerekecek.

Terminalde:

$ sudo crontab -e

Ardından en alta şunu ekleyin:

#her saat, fanları açmanız gerekip gerekmediğini görmek için sıcaklığı/çiy noktasını kontrol edin

0 * * * * /usr/bin/python /var/www/html/python/dryout.py

Artık her saat dryout.py çalışacak. VEYA bunu başka bir işlev için şablon olarak kullanabilir, belki başka bir tetikleyici kullanarak ışıkları açıp kapatabilirsiniz? Gün batımı/gün doğumu zamanı? VEYA dışarısı sadece sıcaksa ve sıcaklık düştüğünde fanların otomatik olarak açılmasını istiyorsanız. XX dereceye ulaşır mı?

Hareket Sensörleri Ekleme

Girişlerin yakınına birkaç hareket sensörü yerleştirmek, güç ve veri G/Ç'sini yönlendirmek için ethernet yapısını kullanmak çocuk oyuncağı olacaktır. Ardından, ışıkları açıp kapatmak için basit bir python betiği. Küçük, eğlenceli bir eklenti projesi olabilir.

Bunun en azından size ve bunun uygulanabilir olduğuna dair bir fikir vermesini umuyorum ve en fazla, bir aydan fazla bir süredir başarıyla kullandığım şeyi çoğaltabilirsiniz. Arkadaşlarınızdan ve ailenizden bir sürü harika yanıt ve oraya gidip yapmaya başlarsanız aynısını alacağınızı bilin! Benimle birlikte yürüdüğünüz için teşekkür ederiz ve lütfen tüm geri bildirimlerinizi, ince ayarlarınızı veya sorularınızı bana bildirin! - temizleyici

Önerilen: