Mündəricat:

Wifi Tasker, Ifttt İnteqrasiyası ilə Raspberry Pi istifadə edərək 12v Led Şeridi İdarə edir .: 15 Addım (Şəkillərlə)
Wifi Tasker, Ifttt İnteqrasiyası ilə Raspberry Pi istifadə edərək 12v Led Şeridi İdarə edir .: 15 Addım (Şəkillərlə)

Video: Wifi Tasker, Ifttt İnteqrasiyası ilə Raspberry Pi istifadə edərək 12v Led Şeridi İdarə edir .: 15 Addım (Şəkillərlə)

Video: Wifi Tasker, Ifttt İnteqrasiyası ilə Raspberry Pi istifadə edərək 12v Led Şeridi İdarə edir .: 15 Addım (Şəkillərlə)
Video: Как автоматизировать работу с интернет-сервисами с помощью IFTTT 2024, Noyabr
Anonim
Wifi Tasker, Ifttt İnteqrasiyası ilə Raspberry Pi istifadə edərək 12v Led Şeridi idarə edir
Wifi Tasker, Ifttt İnteqrasiyası ilə Raspberry Pi istifadə edərək 12v Led Şeridi idarə edir
Wifi Tasker, Ifttt İnteqrasiyası ilə Raspberry Pi istifadə edərək 12v Led Şeridi idarə edir
Wifi Tasker, Ifttt İnteqrasiyası ilə Raspberry Pi istifadə edərək 12v Led Şeridi idarə edir

Bu proyektdə sizə moruq pi istifadə edərək wifi üzərindən sadə 12v analoq lentin necə idarə olunacağını göstərəcəyəm.

Bu layihə üçün sizə lazım olacaq:

  • 1x Raspberry Pi (Raspberry Pi 1 Model B+istifadə edirəm)
  • 1x RGB 12v Led Şeridi [Ebay Avstraliya]
  • 3x IRFZ44N N-Kanal Mosfet-in [Ebay Australia]
  • 1x Qadın DC elektrik prizi Adapteri [Ebay Australia]
  • Bəzi Tellər
  • Ekran, Klaviatura (Yalnız Quraşdırma Üçün)

Addım 1: Windows istifadə edərək Raspbian OS qurun

Windows istifadə edərək Raspbian OS qurun
Windows istifadə edərək Raspbian OS qurun
Windows istifadə edərək Raspbian OS qurun
Windows istifadə edərək Raspbian OS qurun
Windows istifadə edərək Raspbian OS qurun
Windows istifadə edərək Raspbian OS qurun

Windows ilə Raspbian qurmaq üçün sizə lazım olacaq:

  • Win32 Disk Görüntüleyicisi: [Yüklə]
  • Raspbian OS Lite: [Zip], [Torrent]

** Vacibdir səhv etsəniz bütün məlumatlarınızı itirə bilərsiniz, davam etməzdən əvvəl məlumatlarınızı ehtiyat nüsxəyə salın **

  1. SD kartınızı Kart Oxuyucusuna qoşun və Kompüterimi açın
  2. Sürücü məktubunu axtarın
  3. Win32DiskImager düyməsini sağ vurun və "Administrator olaraq işə salın" düyməsini basın.
  4. Sonra kiçik mavi qovluğa vurun və RaspbianOS görüntüsünə baxın
  5. Ayrıca Cihazın altındakı açılan qutuyu vurun və SD Kartın Sürücü Məktubuna dəyişdirin
  6. Sonra "Yaz" düyməsini basın
  7. Bəli düyməsinə basmadan əvvəl bir informasiya qutusu açılacaq və hədəf cihazın doğru olduğunu yoxlayın
  8. Sonra SD Kartı çıxarın və pi -yə daxil edin

Addım 2: Mac OS X istifadə edərək Raspbian OS qurun

Mac OS X istifadə edərək Raspbian OS qurun
Mac OS X istifadə edərək Raspbian OS qurun
Mac OS X istifadə edərək Raspbian OS qurun
Mac OS X istifadə edərək Raspbian OS qurun
Mac OS X istifadə edərək Raspbian OS qurun
Mac OS X istifadə edərək Raspbian OS qurun
Mac OS X istifadə edərək Raspbian OS qurun
Mac OS X istifadə edərək Raspbian OS qurun

Mac ilə Raspbian qurmaq üçün sizə lazım olacaq:

  • ApplePi-Baker [Yüklə]
  • Raspbian OS Lite: [Zip], [Torrent]

** Vacibdir səhv etsəniz bütün məlumatlarınızı itirə bilərsiniz, davam etməzdən əvvəl məlumatlarınızı ehtiyat nüsxəyə salın **

  1. Disk Utility proqramını açın və sol tərəfdə SD Kartınızı axtarın və üzərinə vurun
  2. Pəncərənin altındakı "Cihaz" ı axtarın, burada x -in bir rəqəm olduğu diskXsX kimi bir şey görməlisiniz
  3. "Cihaz" nömrəsini xatırlayın və ApplePi-Baker açın
  4. SD kartınızı formatlamalı olduğunuz üçün sizdən parol istəyəcək
  5. Sol tərəfdəki / dev / sonra olan "Cihaz" Nömrəsinə vurun
  6. "Geri Yükləmə-Yedəkləmə" düyməsini basın, RaspbianOS görüntüsünə baxın.
  7. SD Kartı silməyə və üzərinə Raspbian quraşdırmağa başlayacaq
  8. İş başa çatdıqda, SD Kartı çıxarıb çıxara biləcəyinizi söyləyən bir xəbərdarlıq qutusu açılacaq.

Addım 3: Pi qurmaq

Pi'yi işə salmadan əvvəl bir HDMI Ekran, Klaviatura və bir Ethernet kabeli və ya USB wifi bağlamalısınız (Bunu növbəti addımda quracağıq).

Pi'yi gücləndirin, ekranda bir dəstə mətn doldurduğunu görəcəksiniz, bu normaldır və linux kernel başlanğıcının bir hissəsidir. Görənə qədər bir az gözləyin

moruq girişi:

İstifadəçi adınız pi və şifrəniz moruqdur (ekranda yazan bir şey görməyəcəksiniz, amma hələ də daxil edilir)

Sonra daxil olanda görəcəksiniz:

pi@moruq: ~ $

Sonra daxil olmalısınız:

sudo raspi-config

Ekranınız mərkəzdə boz bir qutuda olan mavi ekranla doldurulacaq.

  1. Yuxarı və aşağı düymələrdən istifadə edərək "Fayl Sistemini Genişləndir" seçimini bir neçə saniyə sonra "kök fayl sisteminin ölçüsü dəyişdirildi" deyən bir xəbərdarlığa aparılacaqsınız və Enter düyməsini vurun.
  2. Sonra aşağı oxu vurun və Önyükleme Seçimlərinə gedin və daxil edin, sonra 'Masaüstü / CLI' seçildikdə daxil edin, sonra 'Konsol Avtomatlaşdırma' seçin və daxil edin
  3. Sonra Ətraflı seçimləri seçin və daxil edin
  4. Sonra ssh -ə gedin və daxil edin, sonra bəli seçin
  5. sonra arxa vurgulanana qədər sağ oxu basın və enter düyməsini basın
  6. Sonra yenidən alt tərəfə keçin və bitirmə düyməsini basın, sonra yenidən başlatmaq üçün bəli deyin

Yenidən başladıqdan sonra ethernet vasitəsi ilə əlaqə qurursanız, IP ünvanınızı tapmaq üçün bu əmri daxil etməlisiniz ki, pi -yə girə bilək.

IP tapın:

ev sahibi -I

Addım 4: Wifi qurun

Pi -də wifi qurmaq üçün bir faylı redaktə etməliyik

1. əmr satırına daxil olun

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

2. Faylın sonuna gedin və daxil olun

şəbəkə = {

ssid = "Your_Wifi_Name" psk = "Your_wifi_password"}

3. Sonra pi ilə yenidən başladın

sudo yenidən başladın

Pi yenidən başladıqdan sonra yazaraq IP ünvanını əldə edin

ev sahibi -I

IP ünvanınızı almalısınız, ancaq geri qaytarılmış mətn boş olarsa, pi şəbəkənizə qoşula bilməyəcək deməkdir. hərflərə həssas olduğu üçün wifi adınızı və şifrənizi düzgün daxil etdiyinizi iki dəfə yoxlayın.

Addım 5: Windows istifadə edərək Pi -yə uzaqdan qoşulun

Windows istifadə edərək Pi -yə uzaqdan qoşulun
Windows istifadə edərək Pi -yə uzaqdan qoşulun
Windows istifadə edərək Pi -yə uzaqdan qoşulun
Windows istifadə edərək Pi -yə uzaqdan qoşulun
Windows istifadə edərək Pi -yə uzaqdan qoşulun
Windows istifadə edərək Pi -yə uzaqdan qoşulun
Windows istifadə edərək Pi -yə uzaqdan qoşulun
Windows istifadə edərək Pi -yə uzaqdan qoşulun

İndi pi internetə qoşulduqda, klaviatura siçanını və ekranını silə bilərik və "ssh" istifadə edərək uzaqdan qoşula bilərik.

Windows ilə pi daxil etmək üçün yükləməlisiniz

macun: [Yüklə]

  1. Macunu açın, IP ünvanı qutusuna moruq pi ip daxil edin və sonra aç düyməsini basın
  2. şəkil 2 kimi görünən bir informasiya qutusu alacaqsınız, bəli
  3. sonra "giriş" olaraq "pi" daxil edin deyən yeni bir dialoq görəcəksiniz.
  4. sonra "moruq" daxil etmək üçün parol istəyəcək

İndi ssh üzərindəki pi -yə qoşulursunuz

Addım 6: Mac istifadə edərək Pi -yə uzaqdan qoşulun

Mac istifadə edərək Pi -yə uzaqdan qoşulun
Mac istifadə edərək Pi -yə uzaqdan qoşulun
Mac istifadə edərək Pi -yə uzaqdan qoşulun
Mac istifadə edərək Pi -yə uzaqdan qoşulun
Mac istifadə edərək Pi -yə uzaqdan qoşulun
Mac istifadə edərək Pi -yə uzaqdan qoşulun
Mac istifadə edərək Pi -yə uzaqdan qoşulun
Mac istifadə edərək Pi -yə uzaqdan qoşulun

İndi İnternetə qoşulduğumuz üçün klaviatura və siçanı çıxarıb "ssh" istifadə edərək uzaqdan qoşula bilərik.

1. "Terminal" ı açın

2. Daxil edin

ssh pi@IP_ADDRESS

3. Sonra ana düymənin saxlanılmadığını bildirən bir mesaj ala bilərsiniz, sadəcə "bəli" yazın

4. Sonra tanıdılanda "Raspberry" olan moruq pi parolunu daxil edin

İndi ssh üzərindəki pi -yə qoşulursunuz

Addım 7: Proqramın Qurulması

İndi pi -yə uzaqdan giriş əldə etdiyimiz üçün, led şeridi idarə etmək üçün bir proqram quraşdırmalıyıq

Quraşdırmalıyıq

  • pigpio (Bu, bütün GPIO pinlərini rəqəmsaldan PWM -ə çevirir)
  • balon (pigpio və veb serveri ilə danışan server tərəfindəki skript)
  • apache2 (Veb server)

Pigpio quraşdırın

1. Əvvəlcə bu əmri istifadə edərək, yığılmamış pigpio proqramını ehtiva edən bir zip qovluğunu yükləməliyik

wget

2. Daha sonra açıb qovluğa daxil olmalıyıq

pigpio.zip & cd PIGPIO -nu açın

3. indi proqramı tərtib etməli və quraşdırmalı olduğumuz qovluqda olduğumuzu

make -j4 && sudo make install

4. İndi rc.local -ı açın ki, pi -yə başlayanda pigpiodun işləməsini söyləyə bilək

sudo nano /etc/rc.local

sonra çıxış xəttindən dərhal əvvəl daxil olun

sudo pigpiod

İndi pigpio proqramını quraşdırmısınız

Şüşəni quraşdırın

Bunu etmək üçün əvvəlcə proqram siyahısını yeniləməliyik

sudo apt update && sudo apt upgrade -y

sonra pip quraşdırın

sudo apt-get python-pip quraşdırın

İndi balonu quraşdıra bilərik

sudo pip quraşdırma qabı

Apache2 quraşdırın

sudo apt -get apache2 -y quraşdırın

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

Git quraşdırın

sudo apt install git -y

Hər şey quraşdırıldıqdan sonra pi ilə bağlayın

sudo indi bağlanır

Addım 8: Gücün bağlanması

Gücü Gücləndirmək
Gücü Gücləndirmək
Gücü Gücləndirmək
Gücü Gücləndirmək
Gücü Gücləndirmək
Gücü Gücləndirmək

Əvvəlcə elektrik konnektorunu çörək lövhəsinə bağlamalıyıq

  1. Qara teli elektrik prizindəki mənfi bağlayıcıya qoşun
  2. Qırmızı teli elektrik prizindəki müsbət bağlayıcıya qoşun
  3. Qırmızı telin digər ucunu çörək taxtasının müsbət tərəfinə bağlayın
  4. Qara telin digər ucunu çörək taxtasının müsbət tərəfinə bağlayın
  5. Sonra pi -dən (şəkildə göründüyü kimi) torpaq pinini çörək lövhəsindəki mənfi pinə bağlayın

İndi ən çox şəbəkəni bağlamalıyıq.

Addım 9: Mosfetlərin çəkilməsi və Pi -yə qoşulma

Mosfetlərin tellərinin çəkilməsi və Pi -yə qoşulma
Mosfetlərin tellərinin çəkilməsi və Pi -yə qoşulma
Mosfetlərin tellərinin çəkilməsi və Pi -yə qoşulma
Mosfetlərin tellərinin çəkilməsi və Pi -yə qoşulma
Mosfetlərin tellərinin çəkilməsi və Pi -yə qoşulma
Mosfetlərin tellərinin çəkilməsi və Pi -yə qoşulma
Mosfetlərin tellərinin çəkilməsi və Pi -yə qoşulma
Mosfetlərin tellərinin çəkilməsi və Pi -yə qoşulma

Mosfet, LED işıqlarına nə qədər güc gedə biləcəyini idarə etməyə imkan verir, qırmızı, yaşıl və mavi işıqları ayrıca idarə etməyimiz lazım olduğu üçün üç mosfetə ehtiyacımız olacaq.

Mosfetin üç sancağı var, solda led işığa nə qədər güc axacağını nəzarət etmək üçün pi -yə bağlanacaq "Gate" pin var.

Mərkəzi pin "Drenaj" adlanır ki, bu da LED işığına gedəcək və qapının keçməsinə icazə verdiyi gərginliyi təmin edəcək

və sağdakı pin "Mənbə" pinidir. Bu pin çörək taxtasında yerə gedir.

Qırmızı Ledə qoşulma

  1. Çörək taxtasına bir mosfet qoyun
  2. Çörək taxtasındakı GND -dən qara teli mənbəyə bağlayın (sağ pin)
  3. sonra mosfetin üzərindəki mərkəzi pindən qırmızı şeriddəki qırmızı pinə qırmızı tel bağlayın
  4. sonra sol pindən qırmızı bir teli pi üzərindəki GPIO 17 -yə bağlayın

Yaşıl Ledə qoşulma

  1. 2 -ci mosfeti çörək taxtasına qoyun
  2. sonra çörək taxtasındakı GND -dən qara bir teli mənbəyə bağlamadan əvvəl olduğu kimi (sağ pin)
  3. daha sonra mosfetin orta pimindən yaşıl teli led zolağındakı yaşıl pinə bağlayın.
  4. sonra sol pindən yaşıl bir teli pi -də GPIO 22 -yə bağlayın

Mavi Ledə qoşulma

  1. Son mozeti çörək taxtasına qoyun
  2. Çörək lövhəsindəki GND -dən başqa bir qara teli mənbəyə bağlayın (sağ pin)
  3. sonra, mozfetin ortasındakı pindən mavi zolaqdakı mavi pinə bağlayın.
  4. sonra sol pimdən mavi bir teli pi üzərindəki GPIO 24 -ə bağlayın

Sonra ağ şeriddə ağ və ya qara rəngli bir pin olacaq, sadəcə çörək taxtasındakı pozitiv pindən bir tel bağlayın.

İşimiz bitdikdən sonra sınamağa başlaya bilərik.

Addım 10: Led Zolağını Yükləyin və Test edin

Led şeridini idarə etmək üçün Mənbə kodunu yükləmək üçün

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

Led şeridini yoxlamaq üçün test.py faylını işə salın.

python Test.py

nədənsə bəzi rənglər yanmırsa, lütfən, hər şeyin düzgün takıldığını yoxlayın.

bu skript necə işləyir?

python skriptini açsanız bunun necə işlədiyini düşünə bilərsiniz, ilk sətirdə görəcəksiniz:

idxal vaxtı

bu kiçik kitabxana, ssenariyə fasilə verməyimizə imkan verir ki, işıqları daha sürətli yandıra bilək

donuz əti idxal edin

bu kitabxana bizə led zolaqla ünsiyyət qurmağa imkan verir

pi = donuz.pi ()

pi.set_pw… pigpio.pi (). set_pw istifadə edə biləcəyimiz üçün bir dəyişən qurun.

RedPin = 17

GreenPin = 22

BluePin = 24

bunlar, skriptə nəyin bağlı olduğunu izah etməyə imkan verən dəyişənlərdir

çap ("qırmızı üçün test")

bu yalnız mətni əmr satırına çap edəcək

pi.set_PWM_dutycycle (RedPin, 255)

bu əmr pigpio libary -nin bir hissəsidir və əvvəllər təyin etdiyimiz nömrəni axtardığı və parlaqlığını maksimum "255" olaraq təyin etdiyi "RedPin" i təyin etməyi söyləyir.

vaxt.yuxu (2)

bu vaxt kitabxanasının bir hissəsidir və skripti 2 saniyə dayandıracaq

bu elastik komanda digər ledlər üçün təkrarlanacaq

pi.stop ()

LED şeridi ilə danışmağı dayandıracaq və bütün rəngləri kəsəcək.

Addım 11: Server Yan Skriptinin Proqramlaşdırılması

** Başlamadan əvvəl, piton və balon haqqında oxumağı məsləhət görürəm:

İşdə bəzi bələdçilər:

www.pythonforbeginners.com

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

flask.pocoo.org

Main.py birbaşa git -də olduğu üçün bu addım yalnız kodu izah edir.

Əvvəlcə kitabxanalarımız var

balon idxalından Şüşə, render_template, sorğu

ipdən idxal pigpio idxal start_new_thread

sonra bəzi dəyişənləri təyin etməliyik

app = Şüşə (_ adı_)

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

ilk dəyişən web serverimiz olan banka üçündir, ona zəng edəcəyik və işə salmaq daha asandır. Sonra ilk üçlükdə hansı rəngin ikisini dəyişəcəyini, digər üçündə isə əvvəlki rəngi ehtiva edəcək 6 dəyişən var.

@app.route ('/', üsullar = ['GET'])

Bu Xətt deyir ki, əgər kimsə pi -nin IP ünvanını veb brauzerə yazarsa, onun altındakı skripti işlədər, bundan başqa hər hansı bir mətn web serverə ötürüləcək. led şeridin rəngini dəyişdirmək üçün istifadə olunur.

Def Main ():

qlobal CurrentColour

def (Main) mətni, skriptin hər yerindən çağırıla bilən main adlı bir funksiya yaradacağı mənasını verir. və qlobal xətt, dəyişənin bütün skriptdə yenilənməsi deməkdir.

əgər request.args.get ('Rəng'):

CurrentColour = request.args.get ('Color') if CurrentColour == "White": FadeTORGB (255, 255, 255) elif CurrentColour == "Red": FadeTORGB (255, 0, 0) elif CurrentColour == "Green" ": FadeTORGB (0, 255, 0) elif CurrentColour ==" DarkBlue ": FadeTORGB (0, 0, 255) elif CurrentColour ==" LightBlue ": FadeTORGB (0, 255, 255) elif CurrentColour ==" Orange ": FadeTORGB (255, 15, 0) elif CurrentColour == "Pink": FadeTORGB (255, 0, 192) elif CurrentColour == "Sarı": FadeTORGB (255, 157, 0) elif CurrentColour == "Purple": FadeTORGB (123, 0, 255) elif CurrentColour == "Black": FadeTORGB (0, 0, 0) return render_template ('index.html')

Bu skript "Rəng" GET Metodundan sonra hər hansı bir ad alacaq və saxlayır. sonra bu adı yoxlayacaq və eyni zamanda qırmızı, yaşıl və mavi işığı dəyişdirmək üçün 3 digər funksiyanı yerinə yetirəcək bir funksiya çağıracaq.

def FadeTORGB (RedNum, BlueNum, GreenNum):

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

Bu, hər bir ledə gedən güc miqdarını solma effekti ilə dəyişdirəcək digər üç funksiyanı çağıracaq.

def FadeUpRed (REDUpNum):

qlobal RedColourCode əgər RedColourCode <REDUpNum: RedColourCode REDUpNum: isə RedColourCode> REDUpNum: RedColourCode -= 1 pi.set_PWM_dutycycle (RedPin, RedColourCode)

def FadeUpBlue (BlueUpNum):

BlueColourCode varsa BlueColourCode <BlueUpNum: BlueColourCode BlueUpNum: BlueColourCode> BlueUpNum: BlueColourCode -= 1 pi.set_PWM_dutycycle (BluePin, BlueColourCode)

def FadeUpGreen (GreenUpNum):

qlobal GreenColourCode əgər GreenColourCode <GreenUpNum: GreenColourCode GreenUpNum: isə GreenColourCode> GreenUpNum: GreenColourCode -= 1 pi.set_PWM_dutycycle (GreenPin, GreenColourCode)

əgər _ adı _ == "_ ana_" olarsa:

app.run (host = "0.0.0.0")

Addım 12: Veb serverinin proqramlaşdırılması

İndi bir veb sayt hazırlamaq üçün lazım olan bir serverimiz var.

Server şablonlarda və gitdəki statik qovluqlarda olduğu üçün bu addım yalnız kodu izah edir.

Html, css, javascript haqqında da oxumağı məsləhət görürəm

HTML

Əvvəlcə html proqramlaşdırmalıyıq, bütün məzmunun getdiyi yer budur ki, sonra CSS -dən istifadə olunsun

1. Baş yaratmaq (başlıq, faylları birləşdirmək,)

Wifi Led Şeridi

İlk iki etiket veb brauzerə bir veb səhifəsi olduğunu söyləyir, sonra üçüncü sətir brauzerə blokdakı hər hansı bir mətni gizlətməsini və bunun altında nişanda görünəcək başlığın olduğunu bildirir.

İOS -da veb səhifəni tam ekran etmək

Səhifəni tam ekran etmək üçün bu kodu etiketin altına daxil edin

Bundan sonra, css faylına istinadlar əlavə edəcəyik, ikincisini düzəldəcəyik, bu fərqli bir şəkildə olacaq, çünki şüşə fayl idarəetmə üsuludur.

Bundan sonra etiketi bağlamalı və bədən etiketi yaratmalısınız

Bədən etiketi, içindəki hər hansı bir etiketin veb səhifədə görünəcəyi deməkdir

İndi LED şeridi dəyişdirə biləcək rəng düymələri düzəldəcəyik.

Hər rəng üçün bir ədəd yaradıb cədvələ qoyacağıq

Bu masanın xarici çərçivəsidir

bu cədvəl üçün bir sıra yaradacaq

İndi narıncı bir düymə yaradaq

td etiketi bir hüceyrə yaradır, sonra "onClick" funksiyası ikincisini yaradacağımız bir JavaScript funksiyasını çağıracaq, "sinif" funksiyası düyməni tərtib etmək üçün istifadə olunur və üslub yalnız onu rəngləndirmək üçündür.

SendColour mətnini və üslubunu bir -birimiz üçün dəyişdirməliyik, ancaq hər 2 düymədən sonra satırı bağlayaraq yeni bir sətir yaradacağıq.

Və s…

Bütün rəngləri qoyduqdan sonra masanı bağlamalısınız

Javascript

İndi bunu etmək üçün əvvəllər istinad etdiyimiz "SendColour" funksiyasını əlavə etməliyik, əvvəlcə veb brauzerə JavaScript olduğunu bildirən bir etiket əlavə etməliyik.

sonra bir funksiya yaradın

SendColour funksiyası (ClickedColour) {

Bu funksiya, moruq pi -yə Ajax sorğusu göndərəcək ki, üzərinə tıkladığınız rəngə keçməyinizi söyləyəcək.

xhttp = yeni XMLHttpRequest ();

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

İndi javascript və html -ni bağlamalıyıq

CSS

İndi veb saytı dizayn edəcəyik

Əvvəlcə şablonlar qovluğundan cd çıxarın və statik qovluğa daxil olun

cd.. && cd statik

İndi Style.css faylını yaradın

nano Style.css

Əvvəlcə masanın bütün ekranı doldurmasını təmin edək.

. Rənglər {

eni: 100%; }

.button {

doldurma: 25 piksel 35 piksel; sərhəd radiusu: 4 piksel; }

Serverin sınanması

serveri yoxlamaq üçün veb server qovluğuna daxil olun

cd..

sonra daxil olun

python Main.py

bu serveri işə salacaq, sonra kompüterinizdə veb brauzerini açın və gedin

YOUR_PI_PI: 5000the: 5000, veb serverin işlədiyi liman olduğu üçün indiyə qədər vacibdir.

Veb səhifəniz varsa və "Daxili Server Xətası" alsanız, konsola (macun və ya terminala) baxın və bir dəstə mətn görəcəksiniz, sadəcə son sətrə baxın və olmalıdır. nə olduğunu söyləyin, cavabı google -dan tapa bilərsiniz.

ancaq ekrandakı rəngləri görürsünüzsə, birini vura bilərsiniz və o rəngli led şeridi görməlisiniz, əgər yoxsa, gücün qoşulduğunu və açıldığını yoxsa html kodunun düzgün daxil edildiyini yoxlayın..

Addım 13: Apache2 ilə işləyin

İndi sınadıqdan sonra apache ilə danışmağı bacarmalıyıq ki, başlanğıcda və 80 portunda (standart veb portu) işləyə bilsin.

1. WebServer qovluğunuzda bir wsgi faylı yaradın

nano wifiled.wsgi

Sonra faylı daxil edin

sys idxal edin

tətbiq kimi Əsas idxal tətbiqindən sys.path.insert (0, '/home/pi/Webserver/')

sonra istifadəçi pi-ni www-data adlı bir qrupa əlavə edin, bu apache-nin veb server qovluğuna baxmasına imkan verəcək

sudo usermod -a -G www -data pi

sonra standart konfiqurasiyanı silin

sudo a2dissite 000-default

sonra Apache konfiqurasiya qovluğunda bir fayl yaradın

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

və daxil olun

ServerName WifiLed ServerAdmin [email protected] WSGIScriptAlias//home/pi/Webserver/wifiled.wsgi Sifariş ver, hamıdan icazə ver Bütün verilmiş ErrorLog tələb et $ {APACHE_LOG_DIR} /error.log LogLevel CustomLog $ {APACHE_LOG_DIR} birləşdirilmiş

sonra girərək konfiqurasiyanı oxumasını apache -yə bildirin

sudo a2ensite wifiled.conf

İndi yenidən başladıqdan sonra veb brauzerinizə daxil olun

YOUR_PI_IP

Addım 14: Tasker və Ifttt və digər xidmətlərin qurulması

Bu proqramları qurmadan əvvəl, marşrutlaşdırıcınızda port fording qurmalısınız, çünki hər yönlendirici fərqlidir, burada necə oxuya bilərsiniz

Tasker

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

sonra bir hadisə ilə əlaqəli yeni bir profil yaradın, hər hansı bir tətiyi seçə bilərsiniz. "Telefon Zəngi" ni seçdim və hər kəsə "C: ANY" rəngi təyin etdim, sonra bir vəzifə seçməyinizi xahiş edəcək, "Yeni Vəzifə" düyməsini basın və hərəkətinizə söykəndi. Buna "Telefon Zəngi" deyəcəyəm, sonra "Əməliyyat əlavə et" düyməsini basın və "HTTP Başlığı" nı axtarın və Server: Limanı your_raspberry_pi_IP -ə qoyun, sonra yolun altında "/? Color = Green" ilə düz bir rəng təyin edə bilərsiniz və ya təsirini bunu növbəti addımda edəcəyik. Sonra geri və geri vurun.

IFTTT

Əvvəlcə getto ifttt və yeni bir applet yarat Hər hansı bir tətik seçin (Düyməni seçdim) və sonra hərəkət etmək üçün istehsalçı kanalını seçin və tələb edirik ki, url üçün YOUR_PUBLIC_PI/daxil edin? Rəng = Açıq Mavi, ictimaiyyətinizi bilmirsinizsə ip yalnız google -da "My Ip" yazın. Sonra metod üçün HEAD daxil edin və sonra hərəkətiniz baş verdikdə "Fəaliyyət yarat" düyməsini basın.

Digər Xidmətlər

HTTP HEAD və ya GET tələb edən digər xidmətləri də bağlaya bilərsiniz.

Addım 15: Xüsusi Efektlər Yaratmaq

Main.py -də bir idxal ifadəsi əlavə edin, idxal altına daxil edin

idxal vaxtı

bir təsir yaratmadan əvvəl GreenBeforeEffect əlavə etmənin altına bir dəyişən əlavə etməliyik

CanChangeColour = Doğrudur

sonra request.args.get ('Color') dəyişdirin:

if request.args.get ('Color') və CanChangeColour:

yalnız render_template ('Main.html') altında olan bölməni əlavə edin

@app.route ('/Effect', üsullar = ['GET'])

def təsiri ():

Sonra dəyişənləri qlobal olaraq təyin edin

x = 0

qlobal RedColourCode qlobal BlueColourCode qlobal GreenColourCode qlobal RedBeforeEffect qlobal BlueBeforeEffect qlobal GreenBeforeEffect

indi ilk effektimizi yaradaq

əgər request.args.get ('Zəng'):

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

Bu hərəkət, pi qəbul edərkən "/? Effect = Call" kimi bir istək olduqda işləyəcək və onu geri çağırmaq üçün cari rəngi saxlayacaq, sonra led şeridi qara rəngə çevirəcəyik və baş verənə qədər gözləyin.

İndi ledin qara rəngdən yaşıl rəngə, sonra yenidən qara rəngə çevrilməsini edəcəyik və bunu beş dəfə etmək istəyirəm

while x <= 5: FadeTORGB (0, 255, 0) x += 1 dəfə.yuxu (1) FadeTORGB (0, 0, 0) vaxt.yuxu (1) CanChangeColour = Əsl vaxt.yuxu (2) FadeTORGB (RedBeforeEffect), BlueBeforeEffect, GreenBeforeEffect)

Bu beşə qədər sayılacaq, ancaq hər dəfə yaşıllaşacaq, sonra bir saniyə gözləyib qara rəngə keçəcək. Sonra bitirdikləri şey rəngi dəyişməzdən əvvəl əvvəlki rənglərinə dəyişəcək.

İndi yalnız bir cavab yaratmaq üçün.

qayıt ""

Ayrıca moruq pi'yi yenidən başladın

sudo yenidən başladın

Tövsiyə: