Reklaam

Hämaruses koidu lülitid ja taimerlülitid on mõlemad mugav viis oma tulede automatiseerimiseks. Kas poleks tore, kui saaksite need kaks omavahel ühendada või isegi Interneti-ühenduse külge ühendada, et saada tõeliselt nutikas valgustussüsteem?

Vaarikapiim, relee, valguseandur ja koodkriips on kõik, mida vajate selle automaatse valgustuse nirvaana saavutamiseks kingapaeltel.

Mida sa vajad

Valgustundliku nutilüliti komponente on lihtne hankida. Teil on vaja:

  • Mis tahes Raspberry Pi mudel, mis töötab Raspbianiga.
  • A releelaud, mis on Amazonist hõlpsasti leitav.
  • An Adafruit TSL2561 heledussensor.
  • Hüppaja juhtmed.
  • Mõned tuled automatiseerida!

Kuidas valgustundlik nutlüliti töötab?

Kasutades releed samamoodi nagu meie automaatse garaažiukseavaja projekt Kuidas automatiseerida garaažiuks IFTTT ja Raspberry Pi abilSelles õpetuses näitame teile, kuidas automatiseerida oma garaažiuks, kasutades ainult Raspberry Pi ja IFTTT. Loe rohkem , saate programmeerida Raspberry Pi valgustusahela kindlaks ajaks sisse- ja väljalülitamiseks. Valgusanduri lisamine segule tähendab, et Pi saab tuvastada ümbritseva valguse taseme ja valida, kas tuled lülitatakse sisse ainult siis, kui neid tegelikult vaja on.

Kuna Pi on pisike arvuti, mida saab võrguga ühendada, saate selle seadistada juhtima ka Interneti kaudu. Nutikatel tuledel on kolm sisendit, et teha kindlaks, millal need sisse lülituvad:

  1. Programmeeritud ajakava.
  2. Ümbritseva valguse tase.
  3. Üle võrgu saadetav alistussignaal.

1. samm: ühendage Vaarika Pi releega

Kui olete GPIO kasutamisega alustanud, lugege kõigepealt Kõik, mida peate teadma Vaarika Pi GPIO tihvtide kohta.

Kõigepealt kontrollige, kas teie releeplaadil on hüppaja, mis ühendab VCC ja JD-VCC tihvtid. Kui see on olemas, eemaldage see.

JD-VCC - VCC releeplaadi hüppaja

Kui kõik on välja lülitatud, ühendage releeplaat oma Pi-ga järgmiselt:

  • Pi tihvt 2 (5v) releeplaadil asuvale JD-VCC-le.
  • Pi pin 6 (GND) GND-le releeplaadil.
  • Pi pin 15 (GPIO 22) releeplaadil olevale IN1-le
  • Pi pin 17 (3,3v) releeplaadil asuvale VCC-le.
Vaarika Pi Zero W ühendatud releeplaadiga

2. samm: ühendage heleduseandur

TSL2561 on valgussensor, mis suudab tuvastada infrapuna, kogu spektri ja inimesele nähtava valguse. See võib Raspberry Pi-le saata väga täpse digitaalse lugemise. Andur teatab valgustasemest skaalal 0,1 (ilma valguseta) kuni 40 000 (ere päike).

TSL2561 juhatus vestleb Vaarika Pi kasutades protokolli i2c. I2C vajab ainult kahte ühendust, üks kella jaoks, et hoida kahte seadet sünkroonis, ja üks edastatavate andmete jaoks. Muidugi vajab lux-andur ka natuke toidet, nii et kokku on neli ühendust:

  • Ühendage Pi Pin 1 (3,3v) lux-anduri Vin (või VCC) -ga
  • Ühendage Pi Pin 3 (SDA) luksusanduri SDA-ga
  • Ühendage Pi Pin 5 (SCL) luksusanduri SCL-ga
  • Ühendage Pi Pin 9 (GND) luksusanduri GND-ga
Vaarika Pi Zero W ühendatud TSL2561 lukssensoriga

3. samm: sõltuvuste konfigureerimine ja installimine

Enne kaugemale minekut peate kontrollima, kas I2C on teie Raspberry Pi-is lubatud (see on vaikimisi keelatud). Tippige terminali järgmine teave:

sudo raspi-config

Valige Liideste valikud> P5 I2C, siis vali Jah.

Liideste liidesed raspi-config utiliidis

Tulemus Sisenema siis vali Lõpetama konfiguratsioonikuvalt väljumiseks. Muudatuse jõustumiseks taaskäivitage Pi:

sudo reboot

Teatud sõltuvused on vajalikud selleks, et Pi saaks sensoriplaadiga suhelda. Tippige järgmised käsud:

sudo apt-get update. sudo apt-get install -y python-smbus. sudo apt-get install -y i2c-tools

Võite kontrollida, kas kõik töötab, kirjutades:

sudo i2cdetect -y 1

Kui teie sõltuvused on installitud ja luksi andur on õigesti ühendatud, näete järgmist vastust:

IC-Tuvasta utiliidi luksusanduri aadress

Siin teatab utiliit, et on leidnud I2C aadressilt 39 I2C seadme (lukssensor).

Te ei ole sõltuvustega veel päris hästi hakkama saanud. Teil on vaja ka mõnda raamatukogu. Esiteks tehke kaust, kuhu saate hoida kõike selle projektiga seotud:

mkdir ~ / valgustus. cd ~ / valgustus

Järgmisena laadige alla pudel, kerge raamistik, mis loob lihtsa veebiserveri teie Pi-le. Kasutate seda oma tulede juhtimiseks veebist.

wget https://bottlepy.org/bottle.py

Teised vajalikud teegid asuvad Githubis, nii et kui teie Raspberry Pi-l pole Giti veel installitud, lisage see nüüd:

sudo apt-get install git

Nüüd kloonige kaks raamatukogu, näiteks järgmiselt:

git kloon https://github.com/adafruit/Adafruit_Python_GPIO.git. git kloon https://github.com/adafruit/Adafruit_Python_PureIO.git

Ja viimaseks, looge uue skripti abil skript:

nano test.py

Kleepige see kood (viisakalt Adafruit):

#! / usr / bin / env python. # - * - kodeerimine: utf-8 - * - alates __future__ impordi absoluutne_import, jaotus, printimisfunktsioon, unicode_literals. alates tsl2561 impordi TSL2561. kui __name__ == "__main__": tsl = TSL2561 (silumine = tõene) print (tsl.lux ())

Vajutage Ctrl + X salvestamiseks, järgides väljumiseks ekraanil kuvatavaid juhiseid.

Kui olete lõpetanud, käivitage testiskript:

python test.py

Kui kõik on installitud ja töötab, saate numbri tagasi. See arv on sensori luksi näit. Proovige andurit blokeerida või teisaldada, et see saaks enam-vähem valgust. Seejärel käivitage uuesti testiskript ja vaadake, kuidas arv muutub.

4. samm: looge automatiseerimisskriptid

Raspberry Pi lülitab pimeduse saabudes tuled sisse, kuid lülitab need ka teatud kellaaegadel välja. Näiteks võiksite soovitada, et teie tuled süttiksid, kui õhtul pimedaks läheb, ja lülitage siis kesköö paiku elektrienergia säästmiseks välja. Nad võiksid uuesti hommikul vara sisse tulla, siis lülitavad end välja, kui see heledaks läheb.

Mitme sellise ajatsooniga ajakava haldamiseks on kaks erinevat skripti. Üks (onzone.py) töötab igal minutil ajal, kui soovite, et teie tuled põleksid, kui pime on. Teine (offzone.py) töötab igal minutil, kui soovite, et tuled kustuksid, olenemata valgustuse tasemest.

Nutika valgustusskripti ajakava

Skriptide käivitamine on planeeritud cron töökohtade kasutamine Kuidas planeerida ülesandeid Linuxis koos Croni ja CrontabigaÜlesannete automatiseerimise võime on üks neist futuristlikest tehnoloogiatest, mis siin juba olemas. Tänu Linuxi hõlpsasti kasutatavale taustateenusele cron saab süsteemi ja kasutajaülesannete kavandamine kasu igale Linuxi kasutajale. Loe rohkem . Valides, mis kellaaegadel päeval ja öösel iga skript käivitatakse, on lihtne seada tunnid, mille jooksul teie tuled automaatselt sisse lülituvad. Saate seadistada nii palju sisse- ja väljalülitusperioode, kui soovite.

Lisaks tulede automaatseks juhtimiseks mõeldud skriptidele on olemas ka kolmas skript alistussituatsioonide haldamiseks. See võimaldab teil tuled eemalt sisse lülitada, sõltumata ümbritseva valguse tasemest.

Skript 1: Sisse lülitatud tsoon

Seda Pythoni skripti käivitatakse iga minutiga päeval, kui soovite, et tuled süttiksid, kui pime on. Laadige skript alla, kopeerides ja kleepides selle käsu terminali:

wget https://gist.githubusercontent.com/hamishdownell/ea151d2ff7c888ac09f8a850afaab4ee/raw/10b0e9d8ec42f8577750941da46a93d16b597c05/onzone.py

Iga kord, kui onzone.py käivitatakse, saab see andurilt luksi väärtuse, et näha, kas see on pime. Kui on, kontrollib see siis, kas tuled põlevad või ei põle. Kui need on välja lülitatud, lülitab see need sisse. Kui pole pime, näeb skript, kas tuled põlevad. Kui need on olemas, lülitab see need välja, kui neid pole ületatud.

Skript kasutab muutujat nimega madallux et otsustada, millisel hetkel on tulede sisselülitamiseks piisavalt pime. Saate selle muuta enda installimiseks sobivaks, muutes selle saidi onzone.py ülaosas oleva rea ​​väärtust:

madal temperatuur = 50

Skript 2: Tsoon OFF

Seda skripti hakatakse esitama iga minuti tagant päeval, kui soovite, et tuled kustuksid, kui neid pole üle kirjutatud. Laadige skript alla:

wget https://gist.githubusercontent.com/hamishdownell/fb8970909145bbfefbbef8dba5f5a00f/raw/eae5a6057a51ca4727907c7d061f0a48b07da944/offzone.py

See skript ei hooli sellest, kui hele või tume on. Selle ülesanne on lihtsalt tuled välja lülitada, kui need on sisse lülitatud (kui neid pole ületatud).

Skript 3: serveri alistamine

See skript loob lihtsa veebiteenuse, mis võtab vastu käske järgmiste toimingute tegemiseks:

  1. Lülitage tuled mõneks minutiks sisse, sõltumata ümbritseva valguse tasemest.
  2. Lülitage tuled välja.
  3. Uurige, kas tuled on praegu sisse või välja lülitatud.
  4. Uurige, kui kauaks tuled peaksid põlema, kui need on ületatud.

Laadige skript alla:

wget https://gist.githubusercontent.com/hamishdownell/2303bfd9fb30d42e79923bdb7e69ed4e/raw/7dcb456b81b8ae58ae48efa225adb41ba7d7f69c/lightserver.py

Enne järgmise sammu juurde liikumist käivitage skript offzone.py nii:

python offzone.py

See loob kontrollfailid, mida skriptid kasutavad kõige jälgimiseks.

5. samm. Skriptide ajastamine

Teie Raspberry Pi saab automatiseerimisskripte käivitada croni abil. Seadistage ajakava selliselt:

sudo crontab -e

Kleepige need kaks rida tekstiredaktorisse:

* 7,8,9,17,18,19,20,21,22,23 * * * python /home/pi/lighting/onzone.py> NULL. * 0,1,2,3,4,5,6,10,11,12,13,14,15,16 * * * python /home/pi/lighting/offzone.py> NULL

Märkus. Kui kasutajanimi, millega te oma Raspberry Pi sisse logisite, polnud vaikimisi kasutatav pi, muutke vastavalt rada.

Loetlege kõik tunnid, kus soovite, et tuled põiksid, kui esimesel real on pime. Kõik tunnid, kus soovite, et tuled kustuksid, lähevad teisele reale.

Nüüd määrake ülekirjutamise skript automaatselt käivituma, kui Pi käivitub:

sudo nano /etc/rc.local

Kleepige see rida faili allosas, seejärel salvestage ja väljuge:

nohup python /home/pi/lighting/lightserver.py &

Lõpuks taaskäivitage Raspberry Pi, nii et saate kontrollida, kas serveri skript laadib nagu peaks

sudo reboot

6. samm: testige releed

Enne tulede ühendamist kontrollige funktsiooni override abil, kas kõik töötab. Tippige oma Pi-ga samasse võrku asuvasse veebibrauserisse järgmine tekst, asendades IP-aadressi teie enda Raspberry Pi aadressiga:

11.22.33.44:1234/overrideon/3

Kui kõik on hästi, kuulete relee klõpsatust ja brauser vastab, et tuled on sisse lülitatud kolm minutit.

Kui relee on suletud, saate katsetada ka teisi tühistamise funktsioone. See annab teile teada, mitu minutit tuled ülevalguse tõttu põlema jäävad:

11.22.33.44:1234/getoverridere ülejäänud

See peaks teile teatama, et tuled põlevad:

11.22.33.44:1234/lightstatus

Lõpuks saate need uuesti välja lülitada:

11.22.33.44:1234/overrideoff

Relee klõpsab avanedes.

7. samm: ühendage oma tuled

Enne tulede ühendamist releega lülitage Raspberry Pi välja ja eemaldage pistikust. Kasutage releeplaadil tavaliselt avatud (NO) pistikuid tavalise lüliti asemel, näiteks nii:

Relee sisestamine valgustusahelasse

Lõpuks saate oma luksianduri paigaldada kohta, kus see ümbritseva valguse taset vallutab. Pange tähele, et TSL2561 teatab küllastunud olekust, kui see satub otsese ereda päikesevalguse kätte, seega on kõige parem hoida seda võimaluse korral varjus.

Veel võite proovida vaarikapi projekte

Uue nutika valgustuse seadistamise kaugjuhtimine veebibrauserisse käskude tippimisega on üsna tülikas. Parem viis on hõlbustada midagi Amazon Echo taolist, et asi lihtsamaks muuta. Alexa teenuse ja Webhooks teenuse ühendamine sisse IFTTT on lihtne viis hääljuhtimise lisamiseks.

Vaadake meie IFTTT kasutamise juhend et aidata teil alustada.

IFTTT-äpp nutitulede ühendamiseks Alexa-ga

Teine võimalus on kasutada Siri otseteid. Üksik menüüdega otsetee saab tulede olekust päringuid teha ja nende sisse- ja väljalülitamiseks kasutada tühistamisfunktsioone.

Kui teile see projekt meeldis, vaadake neid kindlasti imelikud Raspberry Pi projektid 10 veidramat vaarikapi projektiIgaühe sees on hull teadlane ja vaarikapi laseb teie sisemisel loonil välja tulla ja mängida. Mõnikord lähevad asjad veidraks. Päris imelik. Loe rohkem rohkem ideid.

Hamish on vabakutseline kirjanik, eluaegne tehnoloogiaarmastaja ja kinnitatud nohik. Ta töötas enne mitmete rahvusvaheliste ettevõtete IT-osakondades, kui ta lõpuks ülemuse tulistas ja üksi läks.