Sisällysluettelo:

Wifi -ohjattu 12 V: n LED -nauha Raspberry Pi: n kanssa Taskerilla, Ifttt -integrointi: 15 vaihetta (kuvilla)
Wifi -ohjattu 12 V: n LED -nauha Raspberry Pi: n kanssa Taskerilla, Ifttt -integrointi: 15 vaihetta (kuvilla)

Video: Wifi -ohjattu 12 V: n LED -nauha Raspberry Pi: n kanssa Taskerilla, Ifttt -integrointi: 15 vaihetta (kuvilla)

Video: Wifi -ohjattu 12 V: n LED -nauha Raspberry Pi: n kanssa Taskerilla, Ifttt -integrointi: 15 vaihetta (kuvilla)
Video: CS50 2013 - Week 10, continued 2024, Marraskuu
Anonim
Wifi -ohjattu 12 V: n LED -nauha Raspberry Pi: n ja Taskerin, Ifttt -integraation avulla
Wifi -ohjattu 12 V: n LED -nauha Raspberry Pi: n ja Taskerin, Ifttt -integraation avulla
Wifi -ohjattu 12 V: n LED -nauha Raspberry Pi: n ja Taskerin, Ifttt -integraation avulla
Wifi -ohjattu 12 V: n LED -nauha Raspberry Pi: n ja Taskerin, Ifttt -integraation avulla

Tässä projektissa näytän sinulle, kuinka hallita yksinkertaista 12 voltin analogista led -nauhaa wifi: n kautta vadelmapi: n avulla.

Tätä projektia varten tarvitset:

  • 1x Raspberry Pi (käytän Raspberry Pi 1 -mallia B+)
  • 1x RGB 12v Led Strip [Ebay Australia]
  • 3x IRFZ44N N-kanavainen Mosfetin [Ebay Australia]
  • 1x naaras DC -virtaliitäntäadapteri [Ebay Australia]
  • Jotkut johdot
  • Näyttö, näppäimistö (vain asennusta varten)

Vaihe 1: Asenna Raspbian -käyttöjärjestelmä Windowsin avulla

Asenna Raspbian -käyttöjärjestelmä Windowsin avulla
Asenna Raspbian -käyttöjärjestelmä Windowsin avulla
Asenna Raspbian -käyttöjärjestelmä Windowsin avulla
Asenna Raspbian -käyttöjärjestelmä Windowsin avulla
Asenna Raspbian -käyttöjärjestelmä Windowsin avulla
Asenna Raspbian -käyttöjärjestelmä Windowsin avulla

Raspbianin asentamiseksi Windowsiin tarvitset:

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

** TÄRKEÄÄ, jos menetät väärin, saatat menettää kaikki tietosi, varmuuskopioi tietosi ennen kuin jatkat **

  1. Liitä SD -kortti kortinlukijaan ja avaa Oma tietokone
  2. Etsi Drive Letter
  3. Napsauta Win32DiskImageria hiiren kakkospainikkeella ja napsauta "Suorita järjestelmänvalvojana"
  4. Napsauta sitten pientä sinistä kansiota ja etsi kuva RaspbianOS: sta
  5. Napsauta myös Laite -kohdan pudotusvalikkoa ja vaihda se SD -kortin asemakirjaimeksi
  6. Napsauta sitten "Kirjoita"
  7. Valintaikkuna avautuu ENNEN kun painat Kyllä, varmista, että kohdelaite on oikea
  8. Poista sitten SD -kortti ja aseta se pi -korttiin

Vaihe 2: Asenna Raspbian OS Mac OS X -käyttöjärjestelmällä

Raspbian -käyttöjärjestelmän asentaminen Mac OS X: llä
Raspbian -käyttöjärjestelmän asentaminen Mac OS X: llä
Raspbian -käyttöjärjestelmän asentaminen Mac OS X: llä
Raspbian -käyttöjärjestelmän asentaminen Mac OS X: llä
Raspbian -käyttöjärjestelmän asentaminen Mac OS X: llä
Raspbian -käyttöjärjestelmän asentaminen Mac OS X: llä
Raspbian -käyttöjärjestelmän asentaminen Mac OS X: llä
Raspbian -käyttöjärjestelmän asentaminen Mac OS X: llä

Raspbianin asentamiseen Macin kanssa tarvitset:

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

** TÄRKEÄÄ, jos menetät väärin, saatat menettää kaikki tietosi, varmuuskopioi tietosi ennen kuin jatkat **

  1. Avaa Levytyökalu ja etsi SD -korttisi vasemmalta ja napsauta sitä
  2. Etsi "Laite" ikkunan alaosasta, ja sinun pitäisi nähdä jotain diskXsX, jossa x on numero
  3. Muista "Laitteen" numero ja avaa ApplePi-Baker
  4. Se pyytää salasanaa, koska se joutuu alustamaan SD-kortin
  5. Napsauta "Device" -numeroa, joka on jälkeen / dev / vasemmalla puolella
  6. Napsauta "Palauta varmuuskopiointi" Selaa RaspbianOS-kuvasi.
  7. Se alkaa poistaa SD-kortin ja asentaa siihen Raspbianin
  8. Kun se on tehty, näkyviin tulee varoitusruutu, joka kertoo, että voit poistaa SD-kortin, poistaa sen ja laittaa sen pi-laitteeseen.

Vaihe 3: Pi: n asentaminen

Ennen kuin käynnistät pi: n, sinun on kytkettävä HDMI -näyttö, näppäimistö ja Ethernet -kaapeli tai USB -wifi (määritämme tämän seuraavassa vaiheessa).

Käynnistä pi, näet joukon tekstiä, jotka täyttävät näytön. Tämä on normaalia ja kuuluu linux -ytimen käynnistykseen. Odota vain vähän, kunnes näet

vadelma kirjautuminen:

Käyttäjätunnuksesi on pi ja salasana vadelma (et näe mitään kirjoittamista näytöllä, mutta se syötetään edelleen)

Sitten kirjautuessasi näet:

pi@raspberrypi: ~ $

Sitten sinun on syötettävä:

sudo raspi-config

Näyttösi täytetään sitten sinisellä näytöllä, jossa on vaihtoehtoja harmaassa ruudussa keskellä,

  1. Korosta ja paina Enter -näppäintä "Laajenna tiedostojärjestelmä" -vaihtoehdossa muutaman sekunnin kuluttua käyttämällä ylä- ja alanäppäimiä, jolloin sinut ohjataan hälytykseen, jossa sanotaan, että "juuritiedostojärjestelmän kokoa on muutettu", napsauta Enter
  2. Paina sitten alanuolta ja siirry Käynnistysasetukset -kohtaan ja napsauta enter -näppäintä ja napsauta sitten Enter -näppäintä, kun 'Desktop / CLI' on valittuna, korosta sitten 'Console Autologin' ja napsauta enter
  3. Valitse sitten Lisäasetukset ja napsauta enter
  4. Vieritä sitten alas kohtaan ssh ja napsauta enter ja valitse kyllä
  5. paina sitten oikeaa nuolta, kunnes takaosa on korostettuna, ja paina enter
  6. Siirry sitten pohjaan uudelleen ja napsauta lopuksi ja sano kyllä käynnistääksesi uudelleen

Kun se käynnistyy uudelleen, jos olet yhteydessä ethernetin kautta, sinun on annettava tämä komento löytääksesi IP -osoitteesi, jotta voimme ssh: n pi

Etsi ip:

isäntänimi -I

Vaihe 4: Asenna Wifi

Wifi: n asettamiseksi pi: lle meidän on muokattava tiedosto

1. kirjoita komentorivi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

2. Siirry tiedoston loppuun ja kirjoita

verkko = {

ssid = "Your_Wifi_Name" psk = "Your_wifi_password"}

3. Käynnistä sitten pi uudelleen

sudo uudelleenkäynnistys

Kun pi -uudelleenkäynnistys saa sen IP -osoitteen kirjoittamalla

isäntänimi -I

sinun pitäisi saada IP -osoitteesi. Mutta jos uudelleen viritetty teksti on tyhjä, se tarkoittaa, että pi ei voinut muodostaa yhteyttä verkkoon. tarkista, oletko antanut wifi -nimesi ja salasanasi oikein, koska se erottaa isot ja pienet kirjaimet.

Vaihe 5: Yhdistä Pi -laitteeseesi etäyhteydellä Windowsin avulla

Yhdistä Pi -laitteeseesi etäyhteydellä Windowsin avulla
Yhdistä Pi -laitteeseesi etäyhteydellä Windowsin avulla
Yhdistä Pi -laitteeseesi etäyhteydellä Windowsin avulla
Yhdistä Pi -laitteeseesi etäyhteydellä Windowsin avulla
Yhdistä Pi -laitteeseesi etäyhteydellä Windowsin avulla
Yhdistä Pi -laitteeseesi etäyhteydellä Windowsin avulla
Yhdistä Pi -laitteeseesi etäyhteydellä Windowsin avulla
Yhdistä Pi -laitteeseesi etäyhteydellä Windowsin avulla

Nyt kun pi on yhdistetty Internetiin, voimme poistaa näppäimistön hiiren ja näytön ja muodostaa siihen etäyhteyden käyttämällä "ssh"

Jos haluat ssh: n pi: hen Windowsilla, sinun on ladattava

kitti: [Lataa]

  1. Avaa kitti, kirjoita IP -osoite -ruutuun vadelma pi ip ja paina sitten auki
  2. saat valintaikkunan, joka näyttää kuvalta 2, paina kyllä
  3. näet uuden valintaikkunan, joka sanoo "kirjaudu sisään" kirjoita "pi"
  4. sitten se pyytää salasanaa kirjoita "vadelma"

Olet nyt yhteydessä pi: hen ssh: n kautta

Vaihe 6: Yhdistä Pi -laitteeseen etäyhteydellä Macin avulla

Muodosta yhteys Pi -laitteeseesi Macin avulla
Muodosta yhteys Pi -laitteeseesi Macin avulla
Muodosta yhteys Pi -laitteeseen Macin avulla
Muodosta yhteys Pi -laitteeseen Macin avulla
Muodosta yhteys Pi -laitteeseen Macin avulla
Muodosta yhteys Pi -laitteeseen Macin avulla
Muodosta yhteys Pi -laitteeseen Macin avulla
Muodosta yhteys Pi -laitteeseen Macin avulla

Nyt kun pi on yhdistetty Internetiin, voimme poistaa näppäimistön ja hiiren ja muodostaa siihen etäyhteyden käyttämällä "ssh"

1. Avaa "Terminal"

2. Kirjoita

ssh pi@IP_ADDRESS

3. Sitten saatat saada viestin, jossa sanotaan, että isäntäavainta ei ole tallennettu. Kirjoita vain "kyllä"

4. Anna ylennyksen jälkeen vadelma pi -salasana, joka on "Vadelma"

Olet nyt yhteydessä pi: hen ssh: n kautta

Vaihe 7: Ohjelmiston asentaminen

Koska meillä on nyt etäyhteys pi: hen, meidän on asennettava joitain ohjelmistoja led -nauhan ohjaamiseksi

Meidän on asennettava

  • pigpio (Tämä muuttaa kaikki GPIO -nastat digitaalisista PWM: ksi)
  • pullo (palvelinpuolen skripti, joka puhuu pigpion ja verkkopalvelimen kanssa)
  • apache2 (verkkopalvelin)

Asenna pigpio

1. Ensin meidän on ladattava zip -kansio, joka sisältää kääntämättömän pigpio -ohjelmiston tämän komennon avulla

wget

2. Sitten meidän täytyy purkaa pakkaus ja mennä hakemistoon

purkaa pigpio.zip && cd PIGPIO

3. tiedämme, että olemme hakemistossa, jonka meidän on koottava ja asennettava ohjelmisto

make -j4 && sudo make install

4. Nyt avaa rc.local, jotta voimme kertoa pi: lle, että se suorittaa pigpiodin käynnistyksen yhteydessä

sudo nano /etc/rc.local

sitten juuri ennen poistumislinjaa

sudo pigpiod

Olet nyt asentanut pigpio -ohjelmiston

Asenna pullo

ensin meidän on päivitettävä ohjelmistoluettelo tätä varten

sudo apt päivitys && sudo apt päivitys -y

asenna sitten pip

sudo apt-get install python-pip

nyt voimme asentaa pullon

sudo pip asennuspullo

Asenna Apache2

sudo apt -get install apache2 -y

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

Asenna git

sudo apt install git -y

Kun kaikki on asennettu, sammuta pi

sudo sammuu nyt

Vaihe 8: Virran kytkeminen

Virran kytkeminen
Virran kytkeminen
Virran kytkeminen
Virran kytkeminen
Virran kytkeminen
Virran kytkeminen

Ensin meidän on kytkettävä virtaliitin leipälevyyn

  1. Liitä musta johto virtaliittimen negatiiviseen liittimeen
  2. Kytke punainen johto virtaliittimen positiiviseen liittimeen
  3. Liitä punaisen langan toinen pää leipälevyn positiiviseen puoleen
  4. Liitä mustan johdon toinen pää leipälevyn positiiviseen puoleen
  5. Liitä sitten maadoituspiikki pi: stä (kuten kuvassa) leipälevyn negatiiviseen nastaan

Nyt meidän on yhdistettävä eniten.

Vaihe 9: Mosfetsin kytkentä ja Pi: n liittäminen

Mosfetsin kytkentä ja Pi: n liittäminen
Mosfetsin kytkentä ja Pi: n liittäminen
Mosfetsin kytkentä ja Pi: n liittäminen
Mosfetsin kytkentä ja Pi: n liittäminen
Mosfetsin kytkentä ja Pi: n liittäminen
Mosfetsin kytkentä ja Pi: n liittäminen
Mosfetsin kytkentä ja Pi: n liittäminen
Mosfetsin kytkentä ja Pi: n liittäminen

Mosfetin avulla voit hallita, kuinka paljon tehoa voi kulkea led -valoihin, tarvitsemme kolme mosfettiä, koska meidän on ohjattava punaista, vihreää ja sinistä valoa erikseen.

Mosfetissa on kolme nastaa, vasemmalla on "Gate" -tappi, joka liitetään pi: hen ohjaamaan kuinka paljon valoa voi virrata led -valon

Keskustappia kutsutaan "tyhjennykseksi", joka menee led -valoon ja syöttää jännitteen, jonka portti sallii ohittaa

ja oikealla oleva nasta on "Lähde" -tappi. Tämä tappi menee maahan leipälaudalla.

Punaisen ledin liittäminen

  1. Laita yksi mosfet leipälautaan
  2. liitä musta johto GND: stä leipäpöydälle lähteeseen (oikea nasta)
  3. kytke sitten punainen johto mosfetin keskitapista led -nauhan punaiseen nastaan
  4. liitä sitten punainen johto vasemmasta tapista GP: n 17 pi: hen

Vihreän ledin liittäminen

  1. Laita toinen mosfet leipälautaan
  2. sitten kuten ennenkin, kytke musta johto GND: stä leipälevylle lähteeseen (oikea nasta)
  3. kytke sitten vihreä johto mosfetin keskitapista LED -nauhan vihreään tappiin.
  4. kytke sitten vihreä johto vasemmasta nastasta liittimen GPIO 22: een

Sinisen ledin liittäminen

  1. Laita viimeinen mosfet leipälautaan
  2. liitä toinen musta johto leipälevyn GND: stä lähteeseen (oikea nasta)
  3. kytke sitten sininen johto mosfetin keskitapista LED -nauhan siniseen nastaan.
  4. liitä sitten sininen johto vasemmasta tapista GP: n 24 pi: hen

Sitten led -nauhalla on vielä yksi nasta, joka on valkoinen tai musta, liitä vain johto leipälevyn positiivisesta tapista siihen ylimääräiseen tappiin led -nauhassa

Nyt kun olemme valmiita, voimme alkaa testata sitä.

Vaihe 10: Led Stripin lataaminen ja testaaminen

Led -nauhan ohjaamiseen käytettävän lähdekoodin lataaminen

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

Testaa led -nauha suorittamalla test.py -tiedosto.

python Test.py

jos jostain syystä jotkut värit eivät syty, tarkista, onko kaikki kytketty oikein.

miten tämä skripti toimii?

Jos avaat python -komentosarjan, saatat ihmetellä, miten se toimii, ensimmäisellä rivillä näet:

tuonnin aika

Tämän pienen kirjaston avulla voimme keskeyttää käsikirjoituksen, jotta voimme pitää valot päällä nopeammin

tuoda pigpio

Tämän kirjaston avulla voimme kommunikoida led -nauhan kanssa

pi = pigpio.pi ()

aseta muuttuja, jotta voimme käyttää pi.set_pw… insted of pigpio.pi (). set_pw…

RedPin = 17

GreenPin = 22

BluePin = 24

nämä ovat vain muuttujia, joiden avulla voimme kertoa skriptille, mihin ledit on kytketty

tulosta ("testataan punaista")

tämä vain tulostaa tekstin komentoriville

pi.set_PWM_dutycycle (RedPin, 255)

tämä komento on osa pigpio -kirjastoa ja sanoo asettavansa "RedPin", joka etsii aiemmin asettamaamme numeroa ja asettaa sen kirkkaudeksi "255", joka on maksimi

time.sleep (2)

tämä on osa aikakirjastoa ja keskeyttää vain skriptin 2 sekunniksi

nämä notkeat komennot toistuvat muiden ledien kohdalla, kunnes

pi.stop ()

joka lakkaa puhumasta led -nauhalle ja virittää kaikki värit pois.

Vaihe 11: Palvelinpuolen komentosarjan ohjelmointi

** Ennen kuin aloitat, suosittelen lukemaan pythonista ja pullosta:

Tässä muutamia oppaita:

www.pythonforbeginners.com

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

flask.pocoo.org

Koska Main.py on suoraan toiminnassa, tämä vaihe vain selittää koodin.

Ensin meillä on kirjastot

pullon tuonnista Pullo, render_template, request

tuo pigpio langasta tuonti start_new_thread

sitten meidän on asetettava muuttuja

app = Pullo (_ name_)

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

ensimmäinen muuttuja on pulloon, joka on verkkopalvelimemme, kutsumme sitä sovellukseksi, joten on helpompi soittaa ja käyttää. Sitten on 6 muuttujaa, joista kolme ensimmäistä sisältävät mitä väriä haluat muuttaa ja kolme muuta sisältävät edellisen värin.

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

Tämä rivi sanoo, että jos joku kirjoittaa pi: n IP -osoitteen verkkoselaimeen, se suorittaa sen alla olevan komentosarjan, sillä on myös GET -menetelmä, kun tarkoittaa, että mikä tahansa tekstin jälkeen? Color = välitetään verkkopalvelimelle ja se käytetään led -nauhan värin muuttamiseen.

def Main ():

maailmanlaajuinen CurrentColour

teksti def Main () tarkoittaa, että se luo funktion nimeltä main, jota voidaan kutsua mistä tahansa komentosarjan kohdasta. ja yleinen viiva tarkoittaa, että se päivittää muuttujan koko komentosarjassa.

if request.args.get ('Väri'):

CurrentColour = request.args.get ('Väri'), jos CurrentColour == "Valkoinen": FadeTORGB (255, 255, 255) elif CurrentColour == "Punainen": FadeTORGB (255, 0, 0) elif CurrentColour == "Vihreä ": FadeTORGB (0, 255, 0) elif CurrentColour ==" DarkBlue ": FadeTORGB (0, 0, 255) elif CurrentColour ==" LightBlue ": FadeTORGB (0, 255, 255) elif CurrentColour ==" Oranssi ": 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')

Tämä skripti saa minkä tahansa nimen GET -menetelmän "Väri" jälkeen ja tallentaa sen. se tarkistaa tämän nimen ja kutsuu toiminnon, joka voi kolme muuta toimintoa muuttaa punaista, vihreää ja sinistä valoa samanaikaisesti

def FadeTORGB (RedNum, BlueNum, GreenNum):

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

Tämä kutsuu kolme muuta toimintoa, jotka muuttavat kullekin ledille menevää tehomäärää häipymällä.

def FadeUpRed (REDUpNum):

globaali RedColourCode jos RedColourCode <REDUpNum: kun RedColourCode REDUpNum: kun RedColourCode> REDUpNum: RedColourCode -= 1 pi.set_PWM_dutycycle (RedPin, RedColourCode)

def FadeUpBlue (BlueUpNum):

global BlueColourCode if BlueColourCode <BlueUpNum: while BlueColourCode BlueUpNum: while BlueColourCode> BlueUpNum: BlueColourCode -= 1 pi.set_PWM_dutycycle (BluePin, BlueColourCode)

def FadeUpGreen (GreenUpNum):

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

jos _nimi_ == "_pää_":

app.run (isäntä = "0.0.0.0")

Vaihe 12: Verkkopalvelimen ohjelmointi

Nyt kun meillä on palvelin, meidän on suunniteltava verkkosivusto.

Koska palvelin on suoraan malleissa ja staattisissa kansioissa, tämä vaihe vain selittää koodin.

Suosittelen myös lukemaan html, css, javascript

HTML

Ensin meidän on ohjelmoitava html, tähän menee kaikki sisältö, jonka voi sitten muotoilla css: llä

1. Pään luominen (otsikko, tiedostojen linkittäminen,)

Wifi Led Strip

Kaksi ensimmäistä tunnistetta kertoo verkkoselaimelle, että se on verkkosivu, Sitten kolmas rivi kertoo selaimelle, että se piilottaa tekstin lohkon sisällä ja sen alla on otsikko, joka näkyy välilehdessä

Verkkosivun tekeminen koko näytön kokoiseksi iOS: ssä

Jos haluat tehdä sivun koko näytön, kirjoita tämä koodi tagin alle

Seuraavaksi lisäämme viittauksia css -tiedostoon, jonka teemme jälkimmäiseksi, tämä on erilainen tapa kuin tavallisesti, koska pullo on tapa hallita tiedostoja

Tämän jälkeen sinun PITÄÄ sulkea tagi ja luoda body -tagi

Body -tunniste tarkoittaa, että kaikki sen sisällä olevat tagit näkyvät verkkosivulla

Nyt aiomme tehdä väripainikkeet, jotka voivat muuttaa led -nauhaa.

Luomme yhden jokaiselle värille ja laitamme sen taulukkoon

Tämä luo pöydän ulkokehyksen

tämä luo rivin taulukolle

Luodaan nyt oranssi painike

tunniste td luo solun, "onClick" -toiminto kutsuu JavaScript -funktion, jonka me luomme jälkimmäiseksi, ja "class" -toimintoa käytetään painikkeen muotoiluun ja tyyli on vain väritettäväksi.

Meidän on vain muutettava sendColour -tekstiä ja toistensa painikkeen tyyliä, mutta jokaisen toisen painikkeen jälkeen suljemme rivin ja luomme uuden rivin

Jne…

Sitten kun olet asettanut kaikki värit, sulje pöytä

Javascript

Nyt meidän on lisättävä "SendColour" -toiminto, johon olimme aiemmin viitanneet tätä varten, meidän on ensin lisättävä tunniste, joka kertoo verkkoselaimelle, että JavaScript on olemassa

luo sitten funktio

toiminto SendColour (napsautettu väri) {

Tämä toiminto lähettää Ajax -pyynnön vadelmapiille, joka kertoo sen muuttavan värin, jota olit napsauttanut

xhttp = uusi XMLHttpRequest ();

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

Nyt meidän on suljettava javascript ja html

CSS

Nyt suunnittelemme verkkosivuja

ensin cd ulos malleista ja siirry staattiseen kansioon

cd.. && cd staattinen

Luo nyt Style.css -tiedosto

nano Style.css

Ensin annetaan pöydän täyttää koko näyttö.

. Värit {

leveys: 100%; }

.button {

pehmuste: 25px 35px; raja-säde: 4 kuvapistettä; }

Testataan palvelinta

Testaa palvelin siirtymällä verkkopalvelinkansioon

cd..

kirjoita sitten

python Main.py

tämä käynnistää palvelimen ja avaa sitten tietokoneellasi verkkoselain ja siirry kohtaan

YOUR_PI_PI: 5000the: 5000 lopussa on tällä hetkellä tärkeä, koska se on portti, jolla verkkopalvelin on käynnissä.

Jos siirryt verkkosivulle ja saat "sisäisen palvelinvirheen", katso konsolia (kitti tai pääte) ja näet joukon tekstiä, katso vain viimeistä riviä ja sen pitäisi. Kerro mitä tapahtuu, voit etsiä vastauksen googlettamalla, mutta jos näet värit näytöllä, voit napsauttaa yhtä ja sinun pitäisi nähdä led -nauha siirtynyt kyseiseen väriin, jos ei, tarkista, onko virta kytketty ja kytketty päälle tai että html -koodi on syötetty oikein.

Vaihe 13: Saada se toimimaan Apache2: n kanssa

Nyt kun olemme testanneet sen, meidän on saatava se puhumaan apachelle, jotta se voi toimia käynnistyksen yhteydessä ja portissa 80 (tavallinen verkkoportti)

1. tee WebServer -kansioosi wsgi -tiedosto

nano wifiled.wsgi

Kirjoita sitten tiedostoon

tuontijärjestelmä

sys.path.insert (0, '/home/pi/Webserver/') päätuontisovelluksesta sovelluksena

lisää sitten käyttäjä pi ryhmään nimeltä www-data, jolloin apache voi katsoa verkkopalvelinkansioon

sudo usermod -a -G www -data pi

poista oletuskokoonpano

sudo a2dissite 000-oletus

tee sitten tiedosto Apache -määrityskansioon

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

ja astu sisään

Palvelimen nimi WifiLed ServerAdmin [email protected] WSGIScriptAlias//home/pi/Webserver/wifiled.wsgi Tilauksen salliminen, kieltäminen Salli kaikelta Vaadi kaikki myönnetty ErrorLog $ {APACHE_LOG_DIR} /error.log LogLevel varoita CustomLog $ {APACHE_LOG_DIR} yhdistettynä

kerro sitten apachelle lukemaan määritykset kirjoittamalla

sudo a2ensite wifiled.conf

Käynnistä nyt pi uudelleen, kun se käynnistyy uudelleen selaimeesi

OMA_PI_IP

Vaihe 14: Taskerin, Iftttin ja muiden palvelujen määrittäminen

Ennen kuin asennamme nämä ohjelmat, sinun on asennettava reitittimen porttien kääntäminen, koska jokainen reititin on erilainen, voit lukea täältä

Tasker

Android -laitteesi open takerissa

Luo sitten uusi profiili tapahtumaan, voit valita minkä tahansa laukaisimen. Olen valinnut "Puhelimen soitto" ja asettanut värin kenelle tahansa "C: ANY". Sitten se pyytää sinua valitsemaan tehtävän, napsauttamaan "Uusi tehtävä" ja nimeä se toiminnallesi. Kutsun sitä "puheluksi", sitten painan lisätoimintoa ja etsin "HTTP Head" ja asetan Palvelin: portti -kohtaan_aspberry_pi_IP ja polun alle voit joko asettaa kiinteän värin näppäimellä "/? Color = Green" tai voit luoda vaikutus teemme tämän seuraavassa vaiheessa. Napsauta sitten takaisin ja takaisin.

IFTTT

ensin siirry ifttt: ään ja luo uusi sovelma Valitse mikä tahansa laukaisu (valitsin painikkeen) ja valitse sitten toimintaan valmistajakanava ja pyydä meitä tekemään pyyntö ja kirjoita sitten URL -osoite YOUR_PUBLIC_PI/? Color = LightBlue, jos et tunne julkistasi ip kirjoita Googlessa "Oma IP". Kirjoita sitten menetelmälle HEAD ja napsauta "Luo toiminto" nyt, kun toiminto tapahtuu, jos et pyydä pi: täsi vaihtamaan väriä.

Muut palvelut

Voit myös yhdistää muita palveluja, jotka tekevät HTTP HEAD- tai GET -pyynnön.

Vaihe 15: Mukautettujen tehosteiden luominen

Lisää Main.py -kohtaan tuontilausunto, kirjoita tuonti -osioon

tuonnin aika

myös ennen tehosteen luomista meidän on lisättävä muuttuja juuri GreenBeforeEffect add

CanChangeColour = Totta

muuta sitten, jos request.args.get ('Väri'):

kohteeseen

if request.args.get ('Väri') ja CanChangeColour:

osio juuri palautuksen alla render_template ('Main.html') lisää

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

def Vaikutus ():

Aseta sitten muuttujat globaaliksi

x = 0

maailmanlaajuinen RedColourCode globaali BlueColourCode global GreenColourCode global RedBeforeEffect global BlueBeforeEffect global GreenBeforeEffect

nyt luoda ensimmäinen vaikutus

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

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

Tämä toiminto suoritetaan, kun pi vastaanottaa pyynnön, kuten "/? Effect = Call", ja tallentaa nykyisen värin, jotta voimme kutsua sen takaisin. Teemme sitten led -nauhan mustaksi ja odotamme, kunnes se tapahtuu.

Nyt aiomme saada ledin häipymään mustasta vihreään ja sitten taas mustaan, ja haluan tehdä tämän viisi kertaa

kun taas x <= 5: FadeTORGB (0, 255, 0) x += 1 aika.unen (1) FadeTORGB (0, 0, 0) aika.unen (1) CanChangeColour = Todellinen aika.unen (2) FadeTORGB (RedBeforeEffect, BlueBeforeEffect, GreenBeforeEffect)

Tämä laskee jopa viisi, mutta joka kerta se muuttuu vihreäksi ja odottaa sitten hetken ja muuttuu mustaksi. Sitten se, mikä lopettaa, muuttaa värin takaisin sellaiseksi, joka sinulla oli ennen vaihtamista.

Nyt vain luodaan vastaus.

palauta ""

Käynnistä myös vadelmapi uudelleen

sudo uudelleenkäynnistys

Suositeltava: