INHOUDSOPGAWE:

Wifi -beheerde 12v Led Strip met Raspberry Pi Met Tasker, Ifttt -integrasie: 15 stappe (met foto's)
Wifi -beheerde 12v Led Strip met Raspberry Pi Met Tasker, Ifttt -integrasie: 15 stappe (met foto's)

Video: Wifi -beheerde 12v Led Strip met Raspberry Pi Met Tasker, Ifttt -integrasie: 15 stappe (met foto's)

Video: Wifi -beheerde 12v Led Strip met Raspberry Pi Met Tasker, Ifttt -integrasie: 15 stappe (met foto's)
Video: Wifi light bulbs 2024, November
Anonim
Wifi -beheerde 12v Led Strip met Raspberry Pi Met Tasker, Ifttt Integration
Wifi -beheerde 12v Led Strip met Raspberry Pi Met Tasker, Ifttt Integration
Wifi -beheerde 12v Led Strip met Raspberry Pi Met Tasker, Ifttt Integration
Wifi -beheerde 12v Led Strip met Raspberry Pi Met Tasker, Ifttt Integration

In hierdie projek sal ek jou wys hoe om 'n eenvoudige 12v analoog led strip oor wifi te beheer met behulp van 'n framboos pi.

Vir hierdie projek benodig u:

  • 1x Raspberry Pi (ek gebruik 'n Raspberry Pi 1 Model B+)
  • 1x RGB 12v Led Strip [Ebay Australië]
  • 3x IRFZ44N N-Channel Mosfet's [Ebay Australië]
  • 1x vroulike DC -aansluiting vir adapter [Ebay Australië]
  • 'N Paar drade
  • Skerm, sleutelbord (net vir opstelling)

Stap 1: Installeer Raspbian OS met Windows

Installeer Raspbian OS met Windows
Installeer Raspbian OS met Windows
Installeer Raspbian OS met Windows
Installeer Raspbian OS met Windows
Installeer Raspbian OS met Windows
Installeer Raspbian OS met Windows

Om Raspbian met Windows te installeer, benodig u:

  • Win32 Disk Imager: [Aflaai]
  • Raspbian OS Lite: [Zip], [Torrent]

** BELANGRIK as u verkeerd gedoen het, kan u al u data verloor. Maak 'n rugsteun van u data voordat u verder gaan **

  1. Koppel u SD -kaart in 'n kaartleser en maak My Computer oop
  2. Soek die Drive Letter
  3. Klik met die rechtermuisknop op die Win32DiskImager en klik op "Begin as administrateur"
  4. Klik dan op die klein blou vouer en blaai na u beeld van die RaspbianOS
  5. Klik ook op die keuselys onder Toestel en verander dit na die Drive Letter van die SD -kaart
  6. Klik dan op "Skryf"
  7. 'N Dialoogkassie sal oopgaan VOORDAT u op Ja druk, verifieer dat die teikenapparaat korrek is
  8. Verwyder dan die SD -kaart en plaas dit in die pi

Stap 2: Installeer Raspbian OS met Mac OS X

Installeer Raspbian OS met Mac OS X
Installeer Raspbian OS met Mac OS X
Installeer Raspbian OS met Mac OS X
Installeer Raspbian OS met Mac OS X
Installeer Raspbian OS met Mac OS X
Installeer Raspbian OS met Mac OS X
Installeer Raspbian OS met Mac OS X
Installeer Raspbian OS met Mac OS X

Om Raspbian met Mac te installeer, benodig u:

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

** BELANGRIK as u dit verkeerd doen, kan u al u data verloor; maak 'n rugsteun van u data voordat u verder gaan **

  1. Maak Skyfhulpprogram oop en soek na u SD -kaart aan die linkerkant en klik daarop
  2. Soek "Apparaat" onderaan die venster; u moet iets soos diskXsX sien waar x 'n getal is
  3. Onthou die 'Device' nommer en maak ApplePi-Baker oop
  4. Dit sal u wagwoord vra omdat u u SD-kaart moet formateer
  5. Klik op die "Toestel" nommer wat na / dev / aan die linkerkant is
  6. Klik op 'Herstel-rugsteun' Blaai na u beeld van RaspbianOS.
  7. Dit sal die SD-kaart begin uitvee en Raspbian daarop installeer
  8. As dit klaar is, verskyn 'n waarskuwingsboks wat u vertel dat u die SD-kaart kan verwyder, dit kan verwyder en in u pi kan plaas.

Stap 3: Die opstel van die Pi

Voordat u die pi aanskakel, moet u 'n HDMI -skerm, sleutelbord en 'n ethernetkabel of usb -wifi aansluit (ons sal dit in die volgende stap instel).

Skakel die pi aan, u sien 'n klomp teks wat die skerm vul, dit is normaal en is deel van die Linux kernel -opstart. Wag net 'n bietjie totdat jy sien

framboos -aanmelding:

U gebruikersnaam is pi en die wagwoord is framboos (u sal niks op die skerm sien tik nie, maar dit word steeds ingevoer)

As u dan aanmeld, sal u sien:

pi@raspberrypi: ~ $

Dan moet u invoer:

sudo raspi-config

U skerm word dan gevul met 'n blou skerm met opsies in 'n grys blokkie in die middel,

  1. Met die op- en af -sleutels, merk en druk Enter op die opsie "Brei lêersisteem uit", na 'n paar sekondes word u na 'n waarskuwing gebring wat sê dat die wortelstelsel verander is, klik op Enter
  2. Druk dan op die pyltjie omlaag, gaan na Boot -opsies en klik op enter, klik dan op enter as 'Desktop / CLI' gekies is, en merk dan 'Console Autologin' en klik op enter
  3. Kies dan Gevorderde opsies en klik op enter
  4. Blaai dan af na ssh en klik op enter en kies ja
  5. druk dan op die regterpyl totdat die agterkant gemerk is en druk op enter
  6. Gaan dan weer na onder en klik op Voltooi, en sê ja om weer te begin

Nadat dit weer begin as u via ethernet gekoppel is, moet u hierdie opdrag invoer om u IP -adres te vind sodat ons in die pi kan inskakel

Soek ip:

gasheernaam -I

Stap 4: Stel Wifi op

Om die wifi op die pi op te stel, moet ons 'n lêer wysig

1. voer die opdragreël in

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

2. Gaan na die einde van die lêer en voer in

netwerk = {

ssid = "Your_Wifi_Name" psk = "Your_wifi_password"}

3. Herlaai dan u pi met

sudo herlaai

Nadat u pi herlaai het, is dit die IP -adres deur te tik

gasheernaam -I

u moet u IP -adres kry, maar as die teks wat weer ingestel is, leeg is, beteken dit dat die pi nie kon koppel aan u netwerk nie. kyk of u die wifi -naam en wagwoord korrek ingevoer het, aangesien dit hooflettergevoelig is.

Stap 5: Verbind op afstand met u Pi met Windows

Verbind op afstand met u Pi met Windows
Verbind op afstand met u Pi met Windows
Koppel op afstand aan u Pi met behulp van Windows
Koppel op afstand aan u Pi met behulp van Windows
Verbind op afstand met u Pi met Windows
Verbind op afstand met u Pi met Windows
Koppel op afstand aan u Pi met behulp van Windows
Koppel op afstand aan u Pi met behulp van Windows

Noudat ons die pi aan die internet gekoppel het, kan ons die sleutelbordmuis en die skerm verwyder en dit op afstand verbind met 'ssh'

Om af te laai na die pi met vensters, moet u dit aflaai

stopverf: [Aflaai]

  1. Maak stopverf oop, voer die framboospi ip in die vak IP -adres in en druk dan oop
  2. u kry 'n dialoogkassie wat lyk soos prent 2, druk ja
  3. u sal dan 'n nuwe dialoog sien wat sê "login as" enter "pi"
  4. dan sal dit 'n wagwoord vra, voer "framboos" in

U is nou verbind met die pi via ssh

Stap 6: Verbind op afstand met u Pi met behulp van Mac

Koppel op afstand aan u Pi met behulp van Mac
Koppel op afstand aan u Pi met behulp van Mac
Koppel op afstand aan u Pi met behulp van Mac
Koppel op afstand aan u Pi met behulp van Mac
Koppel op afstand aan u Pi met behulp van Mac
Koppel op afstand aan u Pi met behulp van Mac
Koppel op afstand aan u Pi met behulp van Mac
Koppel op afstand aan u Pi met behulp van Mac

Noudat ons die pi aan die internet gekoppel het, kan ons die sleutelbord en die muis verwyder en op afstand daaraan koppel deur 'ssh' te gebruik

1. Maak "Terminal" oop

2. Tik in

ssh pi@IP_ADDRESS

3. Dan kan u 'n boodskap kry wat sê dat die gasheersleutel nie gestoor is nie. Tik net 'ja'

4. Voer dan die framboos Pi -wagwoord in, wat 'Framboos' is

U is nou verbind met die pi via ssh

Stap 7: Installeer die sagteware

Aangesien ons nou toegang tot die pi op afstand het, moet ons sagteware installeer om die LED -strook te beheer

Ons sal moet installeer

  • pigpio (Dit verander al die GPIO -penne van digitaal na PWM)
  • flask (bedienerskantskrif wat met pigpio en die webbediener praat)
  • apache2 (Webbediener)

Installeer pigpio

1. Eerstens moet ons 'n zip -lêergids met die ongekompileerde pigpio -sagteware met hierdie opdrag aflaai

wget

2. Ons moet dan uitpak en in die gids gaan

pak pigpio.zip && cd PIGPIO uit

3. weet dat ons in die gids is wat ons nodig het om die sagteware saam te stel en te installeer

maak -j4 && sudo maak installeer

4. Maak nou rc.local oop sodat ons vir die pi kan sê dat hy pigpiod moet begin wanneer hy begin

sudo nano /etc/rc.local

dan net voor die afritlyn ingaan

sudo pigpiod

U het nou die pigpio -sagteware geïnstalleer

Installeer die fles

Eerstens moet ons die lys sagteware bywerk om dit in te voer

sudo apt update && sudo apt upgrade -y

installeer dan pip

sudo apt-get install python-pip

nou kan ons die fles installeer

sudo pip installeer fles

Installeer Apache2

sudo apt -get install apache2 -y

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

Installeer git

sudo apt installeer git -y

Nadat alles klaar is met die installering van die sluiting, stel die pi met

sudo nou afskakel

Stap 8: Skakel die krag in

Bedrading van die krag
Bedrading van die krag
Bedrading van die krag
Bedrading van die krag
Bedrading van die krag
Bedrading van die krag

Eerstens moet ons die kragaansluiting aan die broodbord koppel

  1. Koppel die swart draad aan die negatiewe aansluiting op die kragaansluiting
  2. Koppel die Rooi draad aan die positiewe aansluiting op die kragaansluiting
  3. Koppel die ander kant van die Rooi draad aan die positiewe kant van die broodbord
  4. Koppel die ander kant van die swart draad aan die positiewe kant van die broodbord
  5. Koppel dan die grondpen van die pi (soos in die prentjie) in die negatiewe pen op die broodbord

Nou moet ons die meeste diere verbind.

Stap 9: Bedrading van die Mosfets en aansluiting van die Pi

Die bedrading van die Mosfets en die koppeling van die Pi
Die bedrading van die Mosfets en die koppeling van die Pi
Die bedrading van die Mosfets en die koppeling van die Pi
Die bedrading van die Mosfets en die koppeling van die Pi
Die bedrading van die Mosfets en die koppeling van die Pi
Die bedrading van die Mosfets en die koppeling van die Pi
Die bedrading van die Mosfets en die koppeling van die Pi
Die bedrading van die Mosfets en die koppeling van die Pi

'N Mosfet stel u in staat om te beheer hoeveel krag na die LED -ligte kan beweeg. Ons benodig drie mosfets, aangesien ons die rooi, groen en blou ligte afsonderlik moet beheer.

Die mosfet het drie penne, aan die linkerkant het die "Gate" -pen wat aan die pi gekoppel kan word om te bepaal hoeveel krag na die geleide lig kan vloei

Die middelste pen word 'Drain' genoem, wat na die ledligte gaan en die spanning wat die hek toelaat, kan voorsien

en die pen regs is die "Bron" -pen. Hierdie pen gaan op die broodbord grond toe.

Verbind die Rooi Led

  1. Sit een mosfet in die broodbord
  2. verbind 'n swart draad van GND op die broodbord met die bron (regterpen)
  3. verbind dan 'n rooi draad van die middelste pen op die mosfet met die rooi pen op die led -strook
  4. verbind dan 'n rooi draad van die linker pen na GPIO 17 op die pi

Verbind die groen led

  1. Plaas die 2de mosfet in die broodbord
  2. verbind dan net soos voorheen 'n swart draad van GND op die broodbord met die bron (regterpen)
  3. verbind dan 'n groen draad van die middelste pen op die mosfet met die groen pen op die led -strook.
  4. verbind dan 'n groen draad van die linker pen na GPIO 22 op die pi

Koppel die Blue Led

  1. Sit die laaste mosfet in die broodbord
  2. verbind 'n ander swart draad van GND op die broodbord met die bron (regterpen)
  3. verbind dan 'n blou draad van die middelste pen op die mosfet met die blou pen op die led -strook.
  4. verbind dan 'n blou draad van die linker pen na GPIO 24 op die pi

Dan sal u nog 'n pen op die led -strook hê wat wit of swart is, maar verbind 'n draad van die positiewe pen op die broodbord met die ekstra pen op die led -strook

Noudat ons klaar is, kan ons dit begin toets.

Stap 10: Laai die strook af en toets dit

Om die bronkode af te laai vir die beheer van die Led -strook

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

Voer die test.py -lêer uit om die led strip te toets.

python Test.py

As sommige van die kleure om een of ander rede nie brand nie, kyk of alles reg ingeprop is.

hoe werk hierdie skrif?

As u die python -script oopmaak, wonder u miskien hoe dit werk, op die eerste reël sien u:

invoer tyd

Met hierdie klein biblioteek kan ons die teks onderbreek sodat ons die ligte vinniger kan aanskakel

invoer pigpio

Met hierdie biblioteek kan ons met die LED -strook kommunikeer

pi = pigpio.pi ()

stel 'n veranderlike op sodat ons pi.set_pw kan gebruik … insted van pigpio.pi (). set_pw …

RedPin = 17

GreenPin = 22

BluePin = 24

Dit is slegs veranderlikes wat ons in staat stel om die script te vertel waarop die led gekoppel is

print ("tesing for red")

dit sal net teks na die opdragreël druk

pi.set_PWM_dutycycle (RedPin, 255)

hierdie opdrag is deel van die pigpio libary en sê om die "RedPin" in te stel wat dit soek na die nommer wat ons voorheen gestel het en die helderheid daarvan op "255" te stel, wat die maksimum is

tyd. slaap (2)

dit is deel van die tydbiblioteek en sal die skrip net 2 sekondes laat wag

hierdie soepel opdrag sal herhaal word vir die ander LED's tot

pi.stop ()

wat sal ophou praat met die led -strook en al die kleure afskakel.

Stap 11: Programmering van die bedienerskant -skrip

** Voordat u begin, beveel ek aan dat u lees oor luislang en kolf:

Hier is 'n paar gidse:

www.pythonforbeginners.com

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

flask.pocoo.org

Aangesien Main.py direk in die git is, verduidelik hierdie stap net die kode.

Eerstens het ons die biblioteke

uit kolf invoer Kolf, render_template, versoek

invoer pigpio van draad invoer start_new_thread

dan moet ons 'n paar veranderlikes stel

app = Fles (_ naam_)

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

die eerste veranderlike is vir fles, wat ons webbediener is, ons noem dit 'n app, sodat dit makliker is om te bel en uit te voer. Dan is daar 6 veranderlikes wat die eerste drie bevat watter kleur twee moet verander en die ander drie die vorige kleur.

@app.route ('/', metodes = ['KRY'])

Hierdie reël sê dat as iemand die IP -adres van die pi in 'n webblaaier tik, dit die script daaronder sal uitvoer, dit ook 'n GET -metode het, wat beteken dat enige teks na? Color = na die webbediener oorgedra sal word word gebruik om die kleur van die LED -strook te verander.

def Main ():

globale CurrentColour

die teks def Main () beteken dat dit 'n funksie genaamd main sal skep wat van oral in die script gebel kan word. en die globale lyn beteken dat dit die veranderlike in die hele skrif sal opdateer.

as request.args.get ('Kleur'):

CurrentColour = request.args.get ('Kleur') as 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 == "Yellow": FadeTORGB (255, 157, 0) elif CurrentColour == "Purple": FadeTORGB (123, 0, 255) elif CurrentColour == "Black": FadeTORGB (0, 0, 0) return render_template ('index.html')

Hierdie skrif kry enige naam na die GET -metode "Kleur" en stoor dit. dit sal dan na die naam kyk en 'n funksie noem wat drie ander funksies kan doen om die rooi, groen en blou lig gelyktydig te verander

def FadeTORGB (RedNum, BlueNum, GreenNum):

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

Dit sal drie ander funksies noem, wat die hoeveelheid krag na elke LED met 'n vervaag -effek sal verander.

def FadeUpRed (REDUpNum):

globale RedColourCode as RedColourCode <REDUpNum: terwyl RedColourCode REDUpNum: terwyl RedColourCode> REDUpNum: RedColourCode -= 1 pi.set_PWM_dutycycle (RedPin, RedColourCode)

def FadeUpBlue (BlueUpNum):

globale BlueColourCode as BlueColourCode <BlueUpNum: terwyl BlueColourCode BlueUpNum: terwyl BlueColourCode> BlueUpNum: BlueColourCode -= 1 pi.set_PWM_dutycycle (BluePin, BlueColourCode)

def FadeUpGreen (GreenUpNum):

globale GreenColourCode as GreenColourCode <GreenUpNum: terwyl GreenColourCode GreenUpNum: terwyl GreenColourCode> GreenUpNum: GreenColourCode -= 1 pi.set_PWM_dutycycle (GreenPin, GreenColourCode)

as _naam_ == "_hoof_":

app.run (gasheer = "0.0.0.0")

Stap 12: Programmering van die webbediener

Noudat ons die bediener het, moet ons 'n webwerf ontwerp.

Aangesien die bediener direk in die sjablone en statiese vouers in die git is, verduidelik hierdie stap net die kode.

Ek beveel ook aan dat u lees oor html, css, javascript

HTML

Eerstens moet ons html programmeer; dit is waarheen al die inhoud gaan, wat dan met css gestileer kan word

1. Skep die kop (titel, koppel lêers,)

Wifi Led Strip

Die eerste twee etikette vertel die webblaaier dat dit 'n webblad is, en dan sê die derde reël die blaaier om enige teks binne die blok te verberg, en daaronder is die titel wat op die oortjie verskyn

Maak die webblad volskerm op iOS

Voer hierdie kode onder die etiket in om die bladsy volskerm te maak

Vervolgens sal ons verwysings byvoeg na die css -lêer, wat ons laasgenoemde sal maak; dit sal 'n ander manier wees as gewoonlik as gevolg van die kolf is die manier om lêer te bestuur

Daarna MOET u die etiket toemaak en 'n body tag maak

Die body tag beteken dat alle etikette daarin op die webblad verskyn

Nou gaan ons die kleurknoppies maak wat die LED -strook kan verander.

Ons maak een vir elke kleur en sit dit in 'n tabel

Dit is die buitekant van die tafel

dit sal 'n ry vir die tafel skep

Laat ons nou 'n oranje knoppie skep

die tag td skep 'n sel, dan noem die "onClick" -funksie 'n javascript -funksie wat ons laasgenoemde sal skep; die "class" -funksie word gebruik om die knoppie te styl, en die styl is net om dit in te kleur.

Ons sal net die sendColour -teks en die styl vir mekaar moet verander, maar na elke 2de knoppie sluit ons die ry en maak 'n nuwe ry

Ens …

Nadat u al die kleur ingesit het, moet u die tafel toemaak

Javascript

Nou moet ons die 'SendColour' -funksie byvoeg waarna ons vroeër verwys het, om dit te kan doen.

skep dan 'n funksie

funksie SendColour (ClickedColour) {

Hierdie funksie stuur 'n Ajax -versoek na die framboospi wat sal sê dat dit moet verander na die kleur waarop u geklik het

xhttp = nuwe XMLHttpRequest ();

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

Nou moet ons die javascript en html toemaak

CSS

Nou gaan ons die webwerf ontwerp

eerste cd uit die sjablone gids en gaan in die statiese gids

cd.. && cd staties

skep nou die Style.css -lêer

nano Style.css

Laat ons eers die tafel die hele skerm vul.

. Kleure {

breedte: 100%; }

.knoppie {

opvulling: 25px 35px; grensradius: 4 px; }

Toets die bediener

Gaan na die webbedienermap om die bediener te toets

cd..

voer dan in

python Main.py

dit sal die bediener begin, en dan die webblaaier op u rekenaar oopmaak en na gaan

YOUR_PI_PI: 5000the: 5000 aan die einde is vir eers belangrik, aangesien dit die poort is waarop die webbediener werk.

As u na die webblad gaan en 'n "interne bedienerfout" kry, kyk dan na die konsole (stopverf of terminaal), en u sal 'n klomp teks sien, kyk net na die laaste reël, en dit moet. vertel jou wat aangaan, jy kan google om die antwoord te vind, maar as u die kleure op die skerm sien, kan u op een klik en die led -strook moet na daardie kleur gaan; as dit nie die geval is nie, kyk of die krag ingeprop en aangeskakel is of die html -kode reg ingevoer is.

Stap 13: Laat dit met Apache2 werk

Noudat ons dit getoets het, moet ons dit met apache laat praat, sodat dit kan begin by opstart en op poort 80 (standaard webpoort)

1. Maak 'n wsgi -lêer in u WebServer -lêergids

nano wifiled.wsgi

Voer dan in die lêer in

invoer sys

sys.path.insert (0, '/home/pi/Webserver/') vanaf die hoofinvoer -app as toepassing

voeg dan die gebruiker pi by 'n groep met die naam www-data, dit laat apache toe om in die webbedienermap te kyk

sudo usermod -a -G www -data pi

verwyder dan die standaard config

sudo a2dissite 000-standaard

maak dan 'n lêer in die Apache config -lêergids

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

en gaan in

ServerName WifiLed ServerAdmin [email protected] WSGIScriptAlias//home/pi/Webserver/wifiled.wsgi Bestel laat toe, weier Allow from all Vereis alle toegekende ErrorLog $ {APACHE_LOG_DIR} /error.log LogLevel waarsku CustomLog $ {APACHE_LOG_DIR}/ gekombineer

vertel dan vir apache om die konfigurasie te lees deur in te voer

sudo a2ensite wifiled.conf

Herlaai nou die pi, as dit weer begin, gaan na u webblaaier

YOUR_PI_IP

Stap 14: Stel Tasker en Ifttt en ander dienste op

Voordat ons hierdie programme instel, moet u poort fording op u router instel, aangesien elke router anders is, kan u hier lees

Tasker

op jou Android -toestel oopnemer

skep dan 'n nuwe profiel wat op 'n gebeurtenis gebaseer is, en u kan enige sneller kies. Ek het 'Telefoon lui' gekies, en ek het die kleur vir 'C: ENIG' ingestel. Dan sal dit u vra om 'n taak te kies, op 'Nuwe taak' te klik en dit op u aksie te noem. Ek noem dit 'Telefoonoproep', druk dan op add action en soek na 'HTTP Head' en stel die Server: Port na your_raspberry_pi_IP, dan kan u 'n soliede kleur met '/? Color = Green' stel, of u kan 'n gevolglik sal ons dit in die volgende stap doen. Klik dan terug en terug.

IFTTT

Gaan eers na ifttt en skep 'n nuwe applet Kies 'n sneller (ek het die knoppie gekies) en kies dan vir die vervaardigerskanaal vir aksie om 'n versoek te vra en voer dan die url in YOUR_PUBLIC_PI/? Color = LightBlue as u nie u publiek ken nie ip tik net "My Ip" op Google in. Voer dan HOOF in vir metode, klik dan op 'Skep aksie' as u aksie plaasvind as u 'n versoek aan u pi rig om kleur te verander.

Ander dienste

U kan ook ander dienste verbind wat HTTP HEAD doen of 'n versoek kry.

Stap 15: Skep pasgemaakte effekte

Voeg 'n invoerverklaring by Main.py, voer onder invoer in

invoer tyd

ook voordat ons 'n effek skep, moet ons 'n veranderlike byvoeg net onder GreenBeforeEffect -byvoeging

CanChangeColour = True

verander dan as request.args.get ('Kleur'):

aan

as request.args.get ('Kleur') en CanChangeColour:

afdeling net onder opgawe render_template ('Main.html') byvoeg

@app.route ('/Effect', metodes = ['KRY'])

def Effek ():

Stel dan die veranderlikes in op global

x = 0

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

laat ons nou ons eerste effek skep

as request.args.get ('Bel'):

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

Hierdie aksie sal uitgevoer word wanneer die pi 'n versoek ontvang soos "/? Effect = Call" en die huidige kleur sal stoor sodat ons dit kan terugbel. Ons maak dan die LED -strook swart en wag totdat dit gebeur.

Nou gaan ons die LED laat verdof van swart na groen, dan weer na swart, en ek wil dit vyf keer doen

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

Dit sal tot vyf tel, maar elke keer as dit groen word, wag dan 'n sekonde en gaan na swart. Wat dit dan voltooi, sal die kleur verander na die wat u gehad het voordat u dit verander het.

Nou moet ons net 'n antwoord skep.

terugkeer ""

Herlaai ook u framboos pi

sudo herlaai

Aanbeveel: