İçindekiler:

Tasker ile Raspberry Pi Kullanan Wifi Kontrollü 12v Led Şerit, Ifttt Entegrasyonu.: 15 Adım (Resimli)
Tasker ile Raspberry Pi Kullanan Wifi Kontrollü 12v Led Şerit, Ifttt Entegrasyonu.: 15 Adım (Resimli)

Video: Tasker ile Raspberry Pi Kullanan Wifi Kontrollü 12v Led Şerit, Ifttt Entegrasyonu.: 15 Adım (Resimli)

Video: Tasker ile Raspberry Pi Kullanan Wifi Kontrollü 12v Led Şerit, Ifttt Entegrasyonu.: 15 Adım (Resimli)
Video: SMS ile Ev Otomasyonu (Akıllı Ev Sistemleri) - Arduino GSM Shield Kullanımı & Kodlar 2024, Temmuz
Anonim
Tasker, Ifttt Entegrasyonu ile Raspberry Pi Kullanan Wifi Kontrollü 12v Led Şerit
Tasker, Ifttt Entegrasyonu ile Raspberry Pi Kullanan Wifi Kontrollü 12v Led Şerit
Tasker, Ifttt Entegrasyonu ile Raspberry Pi Kullanan Wifi Kontrollü 12v Led Şerit
Tasker, Ifttt Entegrasyonu ile Raspberry Pi Kullanan Wifi Kontrollü 12v Led Şerit

Bu projede size bir ahududu pi kullanarak wifi üzerinden basit bir 12v analog led şeridi nasıl kontrol edeceğinizi göstereceğim.

Bu proje için ihtiyacınız olacak:

  • 1x Raspberry Pi (Raspberry Pi 1 Model B+ kullanıyorum)
  • 1x RGB 12v Led Şerit [Ebay Avustralya]
  • 3x IRFZ44N N-Kanal Mosfet'in [Ebay Avustralya]
  • 1x Dişi DC güç jakı Adaptörü [Ebay Türkiye]
  • Bazı Teller
  • Ekran, Klavye (Yalnızca Kurulum İçin)

Adım 1: Windows Kullanarak Raspbian İşletim Sistemini Kurun

Windows Kullanarak Raspbian İşletim Sistemini Kurun
Windows Kullanarak Raspbian İşletim Sistemini Kurun
Windows Kullanarak Raspbian İşletim Sistemini Kurun
Windows Kullanarak Raspbian İşletim Sistemini Kurun
Windows Kullanarak Raspbian İşletim Sistemini Kurun
Windows Kullanarak Raspbian İşletim Sistemini Kurun

Raspbian'ı Windows ile kurmak için ihtiyacınız olacak:

  • Win32 Disk Görüntüleyici: [İndir]
  • Raspbian OS Lite: [Zip], [Torrent]

**ÖNEMLİYanlış yaparsanız tüm verilerinizi kaybedebilirsiniz, Devam etmeden önce lütfen verilerinizi yedekleyin**

  1. SD kartınızı bir Kart Okuyucuya takın ve Bilgisayarım'ı açın
  2. Sürücü Mektubu arayın
  3. Win32DiskImager'a sağ tıklayın ve "Yönetici Olarak Çalıştır" ı tıklayın
  4. Ardından küçük mavi klasöre tıklayın ve RaspbianOS resminize göz atın.
  5. Ayrıca Aygıt altındaki açılır kutuyu tıklayın ve bunu SD Kartın Sürücü Harfi olarak değiştirin
  6. Ardından "Yaz" ı tıklayın
  7. ÖNCE bir iletişim kutusu açılacaktır Evet'e basarak hedef cihazın doğru olduğunu doğrulayın
  8. Ardından SD Kartı çıkarın ve pi'ye takın.

Adım 2: Mac OS X Kullanarak Raspbian OS'yi Kurun

Mac OS X Kullanarak Raspbian OS Kurun
Mac OS X Kullanarak Raspbian OS Kurun
Mac OS X Kullanarak Raspbian OS Kurun
Mac OS X Kullanarak Raspbian OS Kurun
Mac OS X Kullanarak Raspbian OS Kurun
Mac OS X Kullanarak Raspbian OS Kurun
Mac OS X Kullanarak Raspbian OS Kurun
Mac OS X Kullanarak Raspbian OS Kurun

Raspbian'ı Mac ile kurmak için ihtiyacınız olacak:

  • ApplePi-Baker [İndir]
  • Raspbian OS Lite: [Zip], [Torrent]

**ÖNEMLİYanlış yaparsanız tüm verilerinizi kaybedebilirsiniz, Devam etmeden önce lütfen verilerinizi yedekleyin**

  1. Disk Yardımcı Programını açın ve sol tarafta SD Kartınızı arayın ve ardından tıklayın
  2. Pencerenin altında "Aygıt"ı arayın, diskXsX gibi bir şey görmelisiniz, burada x bir sayıdır
  3. "Cihaz" Numarasını hatırlayın ve ApplePi-Baker'ı açın
  4. SD-Kartınızı biçimlendirmek zorunda olduğu için sizden şifre isteyecektir.
  5. Sol taraftaki /dev/'den Sonra olan "Aygıt" Numarasına tıklayın
  6. "Geri Yükle-Yedekle" ye tıklayın RaspbianOS resminize göz atın.
  7. SD Kartı silmeye ve üzerine Raspbian yüklemeye başlayacak
  8. Tamamlandığında, SD Kartı çıkarabileceğinizi, Çıkartabileceğinizi ve pi'nize yerleştirebileceğinizi söyleyen bir uyarı kutusu açılır.

Adım 3: Pi'yi Ayarlama

Pi'yi açmadan önce bir HDMI Ekran, Klavye ve bir ethernet kablosu veya usb wifi takmanız gerekecek (Bunu bir sonraki adımda ayarlayacağız).

Pi'yi açın, Ekranı dolduran bir sürü metin göreceksiniz, Bu normaldir ve linux çekirdeğinin başlatılmasının bir parçasıdır. görene kadar biraz bekle

ahududu giriş:

Kullanıcı adınız pi ve şifreniz ahududu (ekranda yazan bir şey görmeyeceksiniz ama hala giriliyor)

Ardından giriş yaptığınızda şunları göreceksiniz:

O zaman şunu girmelisiniz:

sudo raspi yapılandırması

Ekranınız, ortasında gri bir kutuda seçenekler bulunan mavi bir ekranla doldurulacaktır,

  1. Yukarı ve aşağı tuşlarını kullanarak, birkaç saniye sonra "Dosya Sistemini Genişlet" seçeneğini vurgulayın ve enter tuşuna basın, "kök dosya sistemi yeniden boyutlandırıldı" diyen bir uyarıya yönlendirileceksiniz, Enter'a tıklayın.
  2. Ardından aşağı oka basın ve Önyükleme Seçenekleri'ne gidin ve enter'a tıklayın, ardından 'Masaüstü / CLI' seçildiğinde enter'a tıklayın, Ardından 'Konsol Otomatik Oturum Açma'yı vurgulayın ve enter'a tıklayın
  3. Ardından Gelişmiş seçenekler'i seçin ve enter'a tıklayın
  4. Ardından ssh'ye gidin ve enter'a tıklayın, ardından evet'i seçin
  5. ardından geri vurgulanana kadar sağ oka basın ve enter tuşuna basın
  6. Sonra tekrar dibe gidin ve bitir'i tıklayın, ardından yeniden başlatmak için evet deyin

Yeniden başlatıldıktan sonra ethernet üzerinden bağlıysanız, IP adresinizi bulmak için bu komutu girmeniz gerekir, böylece pi'ye ssh yapabiliriz

ip bul:

ana bilgisayar adı -I

4. Adım: Wifi Kurulumu

Pi üzerinde wifi kurmak için bir dosyayı düzenlememiz gerekiyor

1. komut satırına girin

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

2. Dosyanın sonuna gidin ve

ağ={

ssid="Your_Wifi_Name" psk="Your_wifi_password" }

3. Ardından pi'nizi yeniden başlatın

sudo yeniden başlatma

Pi'niz yeniden başlatıldıktan sonra yazarak IP adresini alın

ana bilgisayar adı -I

IP adresinizi almalısınız Ancak geri gönderilen metin boşsa bu, pi'nin ağınıza bağlanamadığı anlamına gelir. Büyük/küçük harf duyarlı olduğundan, wifi adınızı ve şifrenizi doğru girip girmediğinizi iki kez kontrol edin.

Adım 5: Windows Kullanarak Pi'nize Uzaktan Bağlayın

Windows Kullanarak Pi'nize Uzaktan Bağlayın
Windows Kullanarak Pi'nize Uzaktan Bağlayın
Windows Kullanarak Pi'nize Uzaktan Bağlayın
Windows Kullanarak Pi'nize Uzaktan Bağlayın
Windows Kullanarak Pi'nize Uzaktan Bağlayın
Windows Kullanarak Pi'nize Uzaktan Bağlayın
Windows Kullanarak Pi'nize Uzaktan Bağlayın
Windows Kullanarak Pi'nize Uzaktan Bağlayın

Artık internete bağlı pi'ye sahip olduğumuza göre, klavye faresini ve ekranını kaldırabilir ve "ssh" kullanarak ona uzaktan bağlanabiliriz.

Windows ile pi'ye ssh yapmak için indirmeniz gerekir

macun: [İndir]

  1. Macunu açın, IP adresi kutusuna ahududu pi ipini girin ve ardından aç'a basın
  2. resim 2'ye benzeyen bir iletişim kutusu alacaksınız evet'e basın
  3. daha sonra "olarak giriş yap" yazan yeni bir iletişim kutusu göreceksiniz "pi" girin
  4. sonra bir şifre isteyecek "ahududu" girin

Artık ssh üzerinden pi'ye bağlısınız

6. Adım: Mac Kullanarak Pi'nize Uzaktan Bağlayın

Mac Kullanarak Pi'nize Uzaktan Bağlayın
Mac Kullanarak Pi'nize Uzaktan Bağlayın
Mac Kullanarak Pi'nize Uzaktan Bağlayın
Mac Kullanarak Pi'nize Uzaktan Bağlayın
Mac Kullanarak Pi'nize Uzaktan Bağlayın
Mac Kullanarak Pi'nize Uzaktan Bağlayın
Mac Kullanarak Pi'nize Uzaktan Bağlayın
Mac Kullanarak Pi'nize Uzaktan Bağlayın

Artık internete bağlı pi'ye sahip olduğumuza göre, klavyeyi ve fareyi kaldırabilir ve "ssh" kullanarak uzaktan bağlanabiliriz.

1. "Terminal"i açın

2. Yazın

ssh pi@IP_ADDRESS

3. Ardından, ana bilgisayar anahtarının kaydedilmediğini söyleyen bir mesaj alabilirsiniz, Sadece "evet" yazın.

4. Daha sonra terfi ettiğinizde "Ahududu" olan ahududu pi şifresini girin

Artık ssh üzerinden pi'ye bağlısınız

7. Adım: Yazılımı Yükleme

Artık pi'ye uzaktan erişimimiz olduğundan, led şeridi kontrol etmek için bazı yazılımlar yüklememiz gerekiyor.

yüklememiz gerekecek

  • pigpio (Bu, tüm GPIO pinlerini dijitalden PWM'ye çevirir)
  • flask (pigpio ve web sunucusuyla konuşan sunucu tarafı komut dosyası)
  • apache2 (Web sunucusu)

Pigpio'yu yükle

1. İlk önce, bu komutu kullanarak, derlenmemiş pigpio yazılımını içeren bir zip klasörü indirmemiz gerekiyor.

wget

2. Daha sonra açmamız ve dizine gitmemiz gerekiyor

unzip pigpio.zip && cd PIGPIO

3. Artık dizinde olduğumuza göre yazılımı derleyip kurmamız gerekiyor

make -j4 && sudo make install

4. Şimdi rc.local'ı açın, böylece pi'ye başlarken pigpiod'u çalıştırmasını söyleyebiliriz

sudo nano /etc/rc.local

sonra çıkış hattı girmeden hemen önce

sudo domuz

Pigpio yazılımını yüklediniz

Şişeyi yükleyin

önce bu girişi yapmak için yazılım listesini güncellememiz gerekiyor

sudo apt güncelleme && sudo apt yükseltme -y

sonra pip'i kurun

sudo apt-get install python-pip

şimdi şişeyi kurabiliriz

sudo pip yükleme şişesi

Apache2'yi yükleyin

sudo apt-get install apache2 -y

sudo apt-get install libapache2-mod-wsgi -y

git'i yükle

sudo apt kurulum git -y

Her şey kurulumu tamamladıktan sonra pi'yi kapatın

sudo şimdi kapatma

Adım 8: Gücü Kablolama

Gücü Kablolama
Gücü Kablolama
Gücü Kablolama
Gücü Kablolama
Gücü Kablolama
Gücü Kablolama

İlk önce güç konektörünü ekmek tahtasına bağlamamız gerekiyor

  1. Siyah kabloyu güç jakındaki negatif konektöre bağlayın
  2. Kırmızı kabloyu güç jakındaki pozitif konektöre bağlayın
  3. Kırmızı kablonun Diğer ucunu breadboard'un pozitif tarafına bağlayın
  4. Siyah kablonun Diğer ucunu breadboard'un pozitif tarafına bağlayın
  5. Ardından pi'den gelen topraklama pimini (resimde görüldüğü gibi) breadboard üzerindeki negatif pime bağlayın.

Şimdi Mostfet'i bağlamamız gerekiyor.

Adım 9: Mosfetleri Kablolama ve Pi'yi Bağlama

Mosfetleri Bağlamak ve Pi'yi Bağlamak
Mosfetleri Bağlamak ve Pi'yi Bağlamak
Mosfetleri Bağlamak ve Pi'yi Bağlamak
Mosfetleri Bağlamak ve Pi'yi Bağlamak
Mosfetleri Bağlamak ve Pi'yi Bağlamak
Mosfetleri Bağlamak ve Pi'yi Bağlamak
Mosfetleri Bağlamak ve Pi'yi Bağlamak
Mosfetleri Bağlamak ve Pi'yi Bağlamak

Bir Mosfet, led ışıklara ne kadar güç gidebileceğini kontrol etmenizi sağlar, kırmızı, yeşil ve mavi ışıkları ayrı ayrı kontrol etmemiz gerektiğinden üç mosfete ihtiyacımız olacak.

Mosfet'in üç pini var, solda led ışıklara ne kadar güç akabileceğini kontrol etmek için pi'ye bağlanacak "Gate" pini var.

Merkez pime "Drenaj" adı verilir ve led ışıklara gider ve kapının geçmesine izin verdiği voltajı sağlar.

ve sağdaki pin "Kaynak" pinidir. Bu pin breadboard üzerinde yere iner.

Kırmızı Ledin Bağlanması

  1. Breadboard'a bir mosfet koyun
  2. breadboard üzerindeki GND'den siyah bir kabloyu kaynağa bağlayın (sağ pin)
  3. daha sonra mosfet üzerindeki orta pimden led şerit üzerindeki kırmızı pime kırmızı bir kablo bağlayın
  4. daha sonra sol pimden kırmızı bir kabloyu pi üzerindeki GPIO 17'ye bağlayın

Yeşil Led'in Bağlanması

  1. 2. mosfet'i breadboard'a yerleştirin
  2. daha sonra, breadboard üzerindeki GND'den siyah bir kabloyu kaynağa bağlamadan önceki gibi (sağ pin)
  3. daha sonra mosfet üzerindeki merkez pimden led şerit üzerindeki yeşil pime yeşil bir kablo bağlayın.
  4. ardından sol pimden yeşil bir kabloyu pi üzerindeki GPIO 22'ye bağlayın

Mavi Led'i Bağlama

  1. Son mosfet'i breadboard'a koyun
  2. breadboard üzerindeki GND'den başka bir siyah kabloyu kaynağa bağlayın (sağ pin)
  3. daha sonra mosfet üzerindeki merkez pimden led şerit üzerindeki mavi pime mavi bir kablo bağlayın.
  4. daha sonra sol pimden mavi bir kabloyu pi üzerindeki GPIO 24'e bağlayın

Ardından, led şerit üzerinde beyaz veya siyah olacak bir pin daha olacak, sadece devre tahtasındaki pozitif pinden led şerit üzerindeki ekstra pin'e bir kablo bağlayın.

Artık işimiz bittiğine göre test etmeye başlayabiliriz.

Adım 10: Led Şeridi İndirme ve Test Etme

Led şeridi kontrol etmek için Kaynak kodunu indirmek için

git klon https://github.com/DavidMontesin/Raspberry-PI-Wifi-Led-Strip.git && cd Raspberry-PI-Wifi-Led-Strip/

Led şeridi test etmek için test.py dosyasını çalıştırın.

piton Testi.py

Herhangi bir nedenle bazı renkler yanmazsa, lütfen her şeyin doğru şekilde takılıp takılmadığını kontrol edin.

bu komut dosyası nasıl çalışır?

python betiğini açarsanız nasıl çalıştığını merak edebilirsiniz, ilk satırda şunu göreceksiniz:

ithalat zamanı

bu küçük kitaplık, ışıkları daha hızlı açık tutabilmemiz için komut dosyasını duraklatmamıza izin veriyor.

ithal domuz

bu kütüphane led şerit ile iletişim kurmamızı sağlar

pi = pigpio.pi()

bir değişken ayarlayın, böylece pi.set_pw…'yi kullanabiliriz… insted in pigpio.pi().set_pw…

KırmızıPin = 17

YeşilPin = 22

MaviPin = 24

bunlar sadece komut dosyasına hangi ledlerin bağlı olduğunu söylememize izin veren değişkenlerdir.

print("kırmızı için test")

bu sadece metni komut satırına yazdırır

pi.set_PWM_dutycycle(RedPin, 255)

bu komut, pigpio kütüphanesinin bir parçasıdır ve daha önce belirlediğimiz sayıyı aradığı "RedPin" i ayarlamamızı ve parlaklığını maksimum olan "255" olarak ayarlamamızı söylüyor.

zaman.uyku(2)

bu, zaman kitaplığının bir parçasıdır ve komut dosyasını 2 saniye duraklatır

bu esnek komut, diğer ledler için tekrarlanana kadar tekrar edecektir.

pi.dur()

bu, led şeritle konuşmayı bırakacak ve tüm renkleri kapatacaktır.

Adım 11: Sunucu Tarafı Komut Dosyasını Programlama

**Başlamadan önce python ve flask hakkında okumanızı tavsiye ederim:

İşte bazı kılavuzlar:

www.pythonforbeginners.com

docs.python-guide.org/en/latest/intro/learn…

flask.pocoo.org

Main.py doğrudan git'te olduğu için bu adım sadece kodu açıklıyor.

İlk önce kütüphanelerimiz var

şişeden içe aktarma Şişesi, render_template, istek

thread import start_new_thread'den pigpio'yu içe aktar

o zaman bazı değişkenler ayarlamamız gerekiyor

uygulama = Şişe(_name_)

CurrentColour = "Beyaz" RedColourCode = 0 BlueColourCode = 0 GreenColourCode = 0 RedBeforeEffect = 0 BlueBeforeEffect = 0 GreenBeforeEffect = 0 pi = pigpio.pi()

ilk değişken bizim web sunucumuz olan flask içindir, araması ve çalıştırması daha kolay olması için ona uygulama diyeceğiz. Ardından, ilk üçünün hangi rengin değiştirileceğini ve diğer üçünün önceki rengi içereceği 6 değişken vardır.

@app.route('/', yöntemler=['GET'])

Bu Satır, eğer birisi bir web tarayıcısına pi'nin IP adresini yazarsa, bunun altındaki betiği çalıştıracağını, ayrıca bir GET yöntemine sahip olduğunu, yani ?Colour='dan sonraki herhangi bir metnin web sunucusuna iletileceğini ve olacağını söylüyor. led şeridin rengini değiştirmek için kullanılır.

tanım Ana():

küresel CurrentColor

def Main() metni, betiğin herhangi bir yerinden çağrılabilen main adlı bir işlev oluşturacağı anlamına gelir. ve global satır, değişkeni tüm komut dosyasında güncelleyeceği anlamına gelir.

if request.args.get('Renk'):

CurrentColour=request.args.get('Colour') if CurrentColour == "Beyaz": FadeTORGB(255, 255, 255) elif CurrentColour == "Kırmızı": FadeTORGB(255, 0, 0) elif CurrentColour == "Yeşil ": FadeTORGB(0, 255, 0) elif CurrentColour == "DarkBlue": FadeTORGB(0, 0, 255) elif CurrentColour == "LightBlue": FadeTORGB(0, 255, 255) elif CurrentColour == "Turuncu": FadeTORGB(255, 15, 0) elif CurrentColour == "Pembe": FadeTORGB(255, 0, 192) elif CurrentColour == "Sarı": FadeTORGB(255, 157, 0) elif CurrentColour == "Mor": FadeTORGB(123, 0, 255) elif CurrentColour == "Siyah": FadeTORGB(0, 0, 0) return render_template('index.html')

Bu komut dosyası, GET Yöntemi "Renk" den sonra herhangi bir ad alır ve kaydeder. daha sonra bu adı kontrol edecek ve kırmızı, yeşil ve mavi ışığı aynı anda değiştirmek için diğer üç işlevi yerine getirebilecek bir işlevi çağıracaktır.

def FadeTORGB(RedNum, BlueNum, GreenNum):

start_new_thread(FadeUpRed, (RedNum,)) start_new_thread(FadeUpBlue, (BlueNum,)) start_new_thread(FadeUpGreen, (GreenNum,))

Bu, solma etkisi ile her bir led'e giden güç miktarını değiştirecek diğer üç işlevi çağıracaktır.

def FadeUpRed(REDUpNum):

global RedColourCode, RedColourCode < REDUpNum: ise RedColourCode REDUpNum: iken RedColourCode > REDUpNum: RedColourCode -=1 pi.set_PWM_dutycycle(RedPin, RedColourCode)

def FadeUpBlue(BlueUpNum):

global BlueColourCode eğer BlueColourCode < BlueUpNum: ise BlueColourCode BlueUpNum: ise BlueColourCode > BlueUpNum: BlueColourCode -=1 pi.set_PWM_dutycycle(BluePin, BlueColourCode)

def FadeUpGreen(GreenUpNum):

global GreenColourCode ise GreenColourCode < GreenUpNum: iken GreenColourCode GreenUpNum: iken GreenColourCode > GreenUpNum: GreenColourCode -=1 pi.set_PWM_dutycycle(GreenPin, GreenColourCode)

eğer _name_ == "_main_":

app.run(host="0.0.0.0")

Adım 12: Web Sunucusunun Programlanması

Artık sunucumuz olduğuna göre bir web sitesi tasarlamamız gerekiyor.

Sunucu doğrudan git içindeki şablonlarda ve statik klasörlerde olduğu için bu adım sadece kodu açıklamaktadır.

Ayrıca html, css, javascript hakkında okumanızı tavsiye ederim.

HTML

İlk önce html'yi programlamamız gerekiyor, burası tüm içeriğin gittiği ve daha sonra css kullanılarak şekillendirilebileceği yerdir.

1. Head (başlık, bağlantı dosyaları,) Oluşturma

Wifi Led Şerit

İlk iki etiket web tarayıcısına bunun bir web sayfası olduğunu söyler, Ardından üçüncü satır tarayıcıya blok içindeki herhangi bir metni gizlemesini söyler ve bunun altında sekmede görünecek başlık bulunur.

iOS'ta web sayfasını tam ekran yapma

Sayfayı tam ekran yapmak için bu kodu etiketinin altına girin

Daha sonra css dosyasına referanslar ekleyeceğiz, daha sonra yapacağımız bu, flask dosya yönetiminin bir yolu olduğu için normalden farklı bir yol olacaktır.

Bundan sonra etiketi kapatmalı ve bir gövde etiketi oluşturmalısınız.

Gövde etiketi, içindeki tüm etiketlerin web sayfasında görüneceği anlamına gelir.

Şimdi led şeridi değiştirebilecek renk butonlarını yapacağız.

Her renk için bir tane oluşturup bir tabloya koyacağız.

Bu, tablonun dış çerçevesini oluşturur

bu tablo için bir satır oluşturacaktır

Şimdi turuncu bir düğme oluşturalım

td etiketi bir hücre oluşturur, ardından "onClick" işlevi, ikincisini oluşturacağımız bir javascript işlevini çağırır, onlara "sınıf" işlevi düğmeyi stil vermek için kullanılır ve stil sadece onu renklendirmek içindir.

Sadece sendColour yazısını ve stili birbirimiz için değiştirmemiz gerekecek, ancak her 2. düğmeden sonra satırı kapatıp yeni bir satır oluşturacağız.

Vesaire…

Sonra tüm rengi koyduktan sonra masayı kapatmanız gerekir.

Javascript

Şimdi bunu yapmak için daha önce referans verdiğimiz "SendColour" fonksiyonunu eklememiz gerekiyor, önce web tarayıcısına bazı javascript olduğunu söyleyen bir etiket eklememiz gerekiyor.

sonra bir fonksiyon oluştur

function SendColour(ClickedColour) {

Bu işlev, ahududu pi'ye tıkladığınız renge değişmesini söyleyen bir Ajax isteği gönderir.

xhttp = yeni XMLHttpRequest();

xhttp.open("GET", "?Colour=" + ClickedColour, false); xhttp.send(); }

Şimdi javascript ve html'yi kapatmamız gerekiyor

CSS

Şimdi web sitesini tasarlayacağız

ilk cd şablonlar klasöründen çıkın ve statik klasöre gidin

cd.. && cd statik

şimdi Style.css dosyasını oluşturun

nano Stil.css

Önce tablonun tüm ekranı doldurmasını sağlayalım.

. Renkler {

genişlik: %100; }

.düğme {

dolgu: 25 piksel 35 piksel; sınır yarıçapı: 4 piksel; }

sunucuyu test etme

sunucuyu test etmek için web sunucusu klasörüne gidin

cd..

sonra girin

piton Ana.py

bu, sunucuyu başlatacak, ardından bilgisayarınızda web tarayıcısını açıp

YOUR_PI_PI:5000the:5000, web sunucusunun çalıştığı port olduğu için şimdilik önemlidir.

web sayfasına gidip bir "Dahili Sunucu Hatası" alırsanız, konsola (macun veya terminal) bakın ve bir sürü metin göreceksiniz, sadece son satıra bakın ve olması gerekir. sana neler olduğunu söyle, cevabı bulmak için google'a bakabilirsin, ama eğer ekranda renkleri görüyorsanız birine tıklayabilirsiniz ve led şeridin o renge gittiğini görmelisiniz, eğer olmuyorsa, gücün takılı ve açık olup olmadığını veya html kodunun doğru girilip girilmediğini kontrol edin..

Adım 13: Apache2 ile Çalışmasını Sağlama

Şimdi test ettiğimize göre, başlangıçta ve 80 numaralı bağlantı noktasında (standart web bağlantı noktası) çalışabilmesi için apache ile konuşmasını sağlamalıyız.

1. WebServer klasörünüzün içinde bir wsgi dosyası oluşturun

nano wifiled.wsgi

Sonra dosyaya girin

ithalat sistemi

Uygulama olarak Ana içe aktarma uygulamasından sys.path.insert(0, '/home/pi/Webserver/')

daha sonra pi kullanıcısını www-data adlı bir gruba ekleyin, bu apache'nin web sunucusu klasörüne bakmasına izin verecektir

sudo usermod -a -G www-veri pi

ardından varsayılan yapılandırmayı kaldırın

sudo a2dissite 000-varsayılan

sonra Apache yapılandırma klasöründe bir dosya oluşturun

sudo nano /etc/apache2/sites-available/wifiled.conf

ve girin

SunucuAdı WifiLed ServerAdmin [email protected] WSGIScriptAlias / /home/pi/Webserver/wifiled.wsgi Sipariş izin ver, reddet Tümünden izin ver Verilen tüm ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel uyar CustomLog ${APACHE_LOG_DIR}/access.log kombine

sonra apache'ye girerek yapılandırmayı okumasını söyleyin

sudo a2ensite wifiled.conf

Şimdi pi'yi yeniden başlatın, yeniden başladığında web tarayıcınıza girin

SİZİN_PI_IP'niz

Adım 14: Tasker ve Ifttt ve Diğer Hizmetleri Ayarlama

Bu programları kurmadan önce, her yönlendirici farklı olduğu için yönlendiricinize port fording kurmalısınız.

Görevli

android cihazınızda alıcıyı açın

sonra bir Etkinliğe dayalı yeni bir profil oluşturun, herhangi bir tetikleyici seçebilirsiniz. "Telefon Zil Çalıyor"u seçtim ve rengi "C:HERHANGİ" olarak ayarladım, Sonra sizden bir görev seçmenizi, "Yeni Görev"i tıklamanızı ve eyleminize göre adlandırmanızı isteyecek. Ben buna "Telefon Çağrısı" diyeceğim, ardından eyleme ekle'ye basacağım ve "HTTP Başlığı" arayacağım ve Sunucu: Bağlantı Noktasını your_raspberry_pi_IP olarak ayarlayacağım, ardından yol altında "/?Colour=Green" ile düz bir renk ayarlayabilir veya bir etkisi bunu bir sonraki adımda yapacağız. Ardından geri ve tekrar tıklayın.

IFTTT

ilk önce ifttt'ye gidin ve yeni bir uygulama oluşturun Herhangi bir tetikleyici seçin (Düğmeyi seçtim) ve ardından eylem için yapımcı kanalını seçin ve bir talepte bulunalım dedik sonra url için YOUR_PUBLIC_PI/?Colour=LightBlue yazın, eğer genelinizi tanımıyorsanız ip sadece google'da "Ip'im" girin. Ardından yöntem için HEAD girin ve ardından eyleminiz gerçekleştiğinde şimdi "Eylem Oluştur" u tıklayın, pi'nizden renk değiştirmesini isteyin.

Diğer servisler

HTTP HEAD veya GET isteğinde bulunan diğer hizmetleri de bağlayabilirsiniz.

Adım 15: Özel Efektler Oluşturma

Main.py'de bir import ifadesi ekleyin, import os altına girin

ithalat zamanı

ayrıca bir efekt yaratmadan önce GreenBeforeEffect add altına bir değişken eklememiz gerekiyor.

CanChangeColour = Doğru

sonra request.args.get('Colour') if öğesini değiştirin:

ile

request.args.get('Colour') ve CanChangeColour ise:

dönüş render_template('Main.html') altındaki bölüm ekleyin

@app.route('/Efekt', yöntemler=['GET'])

tanım Etkisi():

Ardından değişkenleri global olarak ayarlayın

x = 0

global RedColourCode global BlueColourCode global GreenColourCode global RedBeforeEffect global BlueBeforeEffect global GreenBeforeEffect

şimdi ilk efektimizi oluşturalım

eğer request.args.get('Ara'):

RedBeforeEffect = RedColourCode BlueBeforeEffect = BlueColourCode GreenBeforeEffect = GreenColourCode FadeTORGB(0, 0, 0) time.sleep(2)

Bu eylem, pi "/?Effect=Call" gibi bir istek aldığında çalışacak ve mevcut rengi kaydedecek, böylece onu geri arayabiliriz. Daha sonra led şeridi siyah yaparız ve gerçekleşene kadar bekleriz.

Şimdi led'i siyahtan yeşile sonra tekrar siyaha çevireceğiz ve bunu beş kez yapmak istiyorum

while x <= 5: FadeTORGB(0, 255, 0) x +=1 time.sleep(1) FadeTORGB(0, 0, 0) time.sleep(1) CanChangeColour = True time.sleep(2) FadeTORGB(RedBeforeEffect, BlueBeforeEffect, GreenBeforeEffect)

Bu, beşe kadar sayacak, ancak her seferinde yeşile dönecek ve ardından bir saniye bekleyip siyaha dönecek. O zaman ne bitirirse, rengi değiştirmeden önce sahip olduğunuza geri döndürür.

Şimdi sadece bir yanıt oluşturmak için.

dönüş ""

Ayrıca ahududu pi'yi yeniden başlatın

sudo yeniden başlatma

Önerilen: