Reklāma
Slēdzi krēslas laikā-rītausmā un taimera slēdži ir ērts paņēmiens, kā automatizēt jūsu apgaismojumu. Vai nebūtu lieliski, ja jūs šos divus varētu apvienot vai pat piesaistīt internetam, lai iegūtu patiesi gudru apgaismojuma sistēmu?
Aveņu Pi, relejs, gaismas sensors un koda svītra ir viss, kas jums nepieciešams, lai sasniegtu šo automātisko apgaismojuma nirvānu kurpju joslā.
Kas jums būs nepieciešams
Jūsu gaismas jutīgā viedā slēdža sastāvdaļas ir viegli iegūstams. Jums būs nepieciešams:
- Jebkurš Raspberry Pi modelis darbojas ar Raspbian.
- A stafetes dēlis, viegli atrodams Amazon.
- An Adafruit TSL2561 spilgtuma sensors.
- Jumper vadi.
- Daži lukturi automatizācijai!
Kā darbojas gaismas uztveršanas viedais slēdzis
Izmantojot releju tādā pašā veidā kā mūsu automātiskā garāžas durvju atvērēja projekts Kā automatizēt garāžas durvis ar IFTTT un Aveņu Pi palīdzībuŠajā apmācībā mēs parādīsim, kā automatizēt garāžas durvis, izmantojot tikai Raspberry Pi un IFTTT. Lasīt vairāk , jūs varat ieprogrammēt Raspberry Pi, lai noteiktā laikā ieslēgtu un izslēgtu apgaismojuma ķēdi. Gaismas sensora pievienošana maisījumam nozīmē, ka Pi var noteikt apkārtējā apgaismojuma līmeni un izvēlēties ieslēgt apgaismojumu tikai tad, kad tie patiešām nepieciešami.
Tā kā Pi ir niecīgs dators, kuru var savienot ar tīklu, varat to iestatīt arī kontrolēšanai internetā. Jūsu viedajām gaismām būs trīs ieejas, lai noteiktu, kad tās iedegas:
- Ieprogrammēts grafiks.
- Apkārtējās gaismas līmenis.
- Tīklā nosūtīts ignorēšanas signāls.
1. solis: Pievienojiet Aveņu Pi pie releja
Ja esat iesācējs GPIO lietošanā, sāciet ar lasīšanu Viss, kas jums jāzina par Aveņu Pi GPIO tapām.
Vispirms pārbaudiet, vai releja panelī ir džemperis, kas savieno VCC un JD-VCC tapas. Ja ir, noņemiet to.
Kad viss ir izslēgts, savienojiet releja plati ar Pi šādi:
- Pi 2 (5v) piestipriniet pie releja plates JD-VCC.
- Pi 6 (GND) pie GND uz releja plates.
- Pi 15 (GPIO 22) piestipriniet pie IN1 uz releja plates
- Pi pin 17 (3,3v) uz VCC uz releja plates.
2. solis: pievienojiet gaismas spilgtuma sensoru
TSL2561 ir gaismas sensors, kas var noteikt infrasarkano, pilnu spektru un cilvēkiem redzamo gaismu. Tas Raspberry Pi var nosūtīt ļoti precīzu digitālo lasījumu. Sensors ziņo par gaismas līmeni skalā no 0,1 (bez gaismas) līdz 40 000 (spoža saule).
TSL2561 valde sarunājas ar Aveņu Pi, izmantojot i2c protokolu. I2C ir nepieciešami tikai divi savienojumi: viens pulkstenim, lai abas ierīces būtu sinhronizētas, un otrs - pārsūtītajiem datiem. Protams, luksa sensoram ir vajadzīga arī jauda, tāpēc pavisam ir četri savienojumi:
- Pievienojiet Pi pin 1 (3,3v) pie Vin (vai VCC) uz luksusa sensora
- Pievienojiet Pi Pin 3 (SDA) ar luksa sensora SDA
- Pievienojiet Pi Pin 5 (SCL) ar luksa sensora SCL
- Pievienojiet Pi Pin 9 (GND) pie luksusa sensora GND
3. solis: konfigurējiet un instalējiet atkarības
Pirms turpināt darbu, jums jāpārbauda, vai Raspberry Pi ir iespējots I2C (tas pēc noklusējuma ir atspējots). Ievadiet terminālā:
sudo raspi-config
Izvēlieties Saskarnes iespējas> P5 I2C, tad izvēlies Jā.
Sist Ievadiet pēc tam atlasiet Pabeidz, lai izietu no konfigurācijas ekrāna. Atsāknējiet Pi, lai izmaiņas stātos spēkā:
sudo reboot
Dažas atkarības ir vajadzīgas, lai Pi varētu sazināties ar sensora plati. Ierakstiet šādas komandas:
sudo apt-get atjauninājums. sudo apt-get instalēt -y python-smbus. sudo apt-get install -y i2c-tools
Varat pārbaudīt, vai viss darbojas, ierakstot:
sudo i2cdetect -y 1
Ja jūsu atkarības ir instalētas un luksa sensors ir pievienots pareizi, jūs redzēsit šādu atbildi:
Šeit lietderība ziņo, ka ir atradusi I2C ierīci (luksa sensoru) I2C adresē 39.
Ar atkarībām jūs vēl neesat tikuši galā. Jums būs vajadzīgas arī dažas bibliotēkas. Vispirms izveidojiet mapi, kurā viss, kas saistīts ar šo projektu, glabājas:
mkdir ~ / apgaismojums. cd ~ / apgaismojums
Tālāk lejupielādējiet pudele, viegls ietvars, kas uz Pi izveidos vienkāršu tīmekļa serveri. Jūs to izmantosit, lai kontrolētu gaismas no tīmekļa.
wget https://bottlepy.org/bottle.py
Citas nepieciešamās bibliotēkas atrodas Github, tāpēc, ja jūsu Raspberry Pi vēl nav instalēta Git, pievienojiet to tagad:
sudo apt-get install git
Tagad klonējiet divas bibliotēkas, piemēram:
git klons https://github.com/adafruit/Adafruit_Python_GPIO.git. git klons https://github.com/adafruit/Adafruit_Python_PureIO.git
Visbeidzot, izveidojiet testa skriptu, izveidojot jaunu failu:
nano test.py
Ielīmējiet šo kodu (ar pieklājību no Adafruit):
#! / usr / bin / env python. # - * - kodēšana: utf-8 - * - no __future__ importēt absolūto_importu, dalījumu, drukas_funkciju, unikoda_literalus. no tsl2561 importa TSL2561. ja __name__ == "__main__": tsl = TSL2561 (atkļūdošana = taisnība) drukāt (tsl.lux ())
Nospiediet Ctrl + X Lai saglabātu, izpildiet ekrānā redzamos norādījumus, lai izietu.
Kad esat pabeidzis, palaidiet testa skriptu:
python test.py
Ja viss ir instalēts un darbojas, jūs saņemsit numuru. Šis skaitlis ir sensora luksa rādījums. Mēģiniet bloķēt sensoru vai pārvietot to, lai tas iegūtu vairāk vai mazāk gaismas. Pēc tam vēlreiz palaidiet testa skriptu un redziet, kā mainās skaitlis.
4. solis: izveidojiet automatizācijas skriptus
Aveņu Pi ieslēgs gaismas, kad tas kļūst tumšs, bet arī tos izslēdz noteiktā laikā. Piemēram, jūs varētu vēlēties, lai jūsu gaismas ieslēgtos, kad vakarā kļūst tumšs, un pēc tam ap pusnakti nodziest, lai ietaupītu elektrību. Viņi varētu atkal ierasties agri no rīta, pēc tam izslēdzas, kad tas kļūst gaišs.
Lai pārvaldītu grafiku ar vairākām laika zonām, piemēram, šo, ir divi dažādi skripti. Viens (onzone.py) darbosies katru minūti laikā, kad vēlaties, lai jūsu gaismas būtu ieslēgtas, ja ir tumšs. Otrs (offzone.py) darbosies katru minūti reizes, kad vēlaties, lai apgaismojums būtu izslēgts neatkarīgi no apgaismojuma līmeņa.
Skriptu izpildīšana būs plānota izmantojot cron darbus Kā plānot uzdevumus operētājsistēmā Linux ar Cron un CrontabSpēja automatizēt uzdevumus ir viena no tām futūristiskajām tehnoloģijām, kas jau pastāv šeit. Ikviens Linux lietotājs var gūt labumu no plānošanas sistēmas un lietotāja uzdevumiem, pateicoties cron, kas ir ērti lietojams fona pakalpojums. Lasīt vairāk . Izvēloties, kuras dienas un nakts stundas katru skriptu palaist, būs viegli iestatīt stundas, kurās jūsu gaismas var ieslēgties automātiski. Varat iestatīt tik daudz ieslēgšanas un izslēgšanas periodus, cik vēlaties.
Papildus skriptiem automātiskai gaismas kontrolei ir arī trešais skripts, lai pārvaldītu ignorēšanas situācijas. Tas ļaus jums attālināti ieslēgt apgaismojumu neatkarīgi no apkārtējā apgaismojuma līmeņa.
1. skripts: ieslēgtā zona
Šis Python skripts tiks palaists katru dienu minūtē, kad vēlaties, lai gaismiņas degtu, ja ir tumšs. Lejupielādējiet skriptu, nokopējot un ielīmējot šo komandu terminālī:
wget https://gist.githubusercontent.com/hamishdownell/ea151d2ff7c888ac09f8a850afaab4ee/raw/10b0e9d8ec42f8577750941da46a93d16b597c05/onzone.py
Katru reizi palaižot onzone.py, tas no sensora iegūs luksa vērtību, lai redzētu, vai tas ir tumšs. Ja tā ir, tas pārbaudīs, vai gaismas ir ieslēgtas vai izslēgtas. Ja tie ir izslēgti, tas tos ieslēgs. Ja nav tumšs, skripts redzēs, vai gaismas ir ieslēgtas. Ja tie ir, tas tos izslēgs, ja vien tie netiks pārspiesti.
Skriptā tiek izmantots mainīgais ar nosaukumu zema līmeņa lai izlemtu, kurā brīdī ir pietiekami tumšs, lai ieslēgtu apgaismojumu. Varat to mainīt uz kaut ko, kas piemērots jūsu instalācijai, mainot šīs līnijas vērtību blakus onzone.py augšdaļai:
zema līmeņa = 50
2. skripts: izslēgtā zona
Šis skripts darbosies katru minūtes minūti dienā, kad vēlaties, lai apgaismojums nedeg, ja vien tas nav ticis pārspīlēts. Lejupielādējiet skriptu:
wget https://gist.githubusercontent.com/hamishdownell/fb8970909145bbfefbbef8dba5f5a00f/raw/eae5a6057a51ca4727907c7d061f0a48b07da944/offzone.py
Šis skripts nerūpējas par to, cik gaišs vai tumšs tas ir. Tās uzdevums ir vienkārši izslēgt apgaismojumu, ja tie ir ieslēgti (ja vien tie nav pārspīlēti).
3. skripts: Ignorēt serveri
Šis skripts izveido vienkāršu tīmekļa pakalpojumu, kas var pieņemt komandas veikt šādas darbības:
- Ieslēdziet apgaismojumu uz dažām minūtēm neatkarīgi no apkārtējā apgaismojuma līmeņa.
- Izslēdziet apgaismojumu.
- Uzziniet, vai gaismas pašlaik ir ieslēgtas vai izslēgtas.
- Uzziniet, cik ilgāku laiku lukturiem jāpaliek ieslēgtiem, kad tie ir pārspiesti.
Lejupielādējiet skriptu:
wget https://gist.githubusercontent.com/hamishdownell/2303bfd9fb30d42e79923bdb7e69ed4e/raw/7dcb456b81b8ae58ae48efa225adb41ba7d7f69c/lightserver.py
Pirms pāriet pie nākamās darbības, palaidiet skriptu offzone.py šādi:
python offzone.py
Tādējādi tiks izveidoti vadības faili, kurus skripti izmanto, lai sekotu visam.
5. solis: ieplānojiet skriptus
Jūsu Raspberry Pi var palaist automatizācijas skriptus ar cron. Iestatiet grafiku šādi:
sudo crontab -e
Ielīmējiet šīs divas rindiņas teksta redaktorā:
* 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
Piezīme: ja lietotājvārds, ar kuru pieteicāties savā Raspberry Pi, nebija noklusējuma lietotājvārds pi, attiecīgi mainiet ceļu.
Pirmajā rindā uzskaitiet visas stundas, kurās vēlaties, lai apgaismojums iedegtos, kad ir tumšs. Visas stundas, kurās vēlaties izslēgt apgaismojumu, iet otrajā rindā.
Tagad iestatiet ignorēšanas skriptu, lai tas automātiski darbotos, startējot Pi:
sudo nano /etc/rc.local
Ielīmējiet šo rindu faila apakšā, pēc tam saglabājiet un izejiet:
nohup python /home/pi/lighting/lightserver.py &
Visbeidzot atsāknējiet Raspberry Pi, lai jūs varētu pārbaudīt, vai servera skripts tiek ielādēts tā, kā vajadzētu
sudo reboot
6. solis: pārbaudiet releju
Pirms gaismu pievienošanas pārbaudiet, vai viss darbojas, izmantojot ignorēšanas funkciju. Ievadiet šo tīmekļa pārlūkprogrammā tajā pašā tīklā kā Pi, aizstājot IP adresi ar jūsu Raspberry Pi adresi:
11.22.33.44:1234/overrideon/3
Ja viss ir kārtībā, jūs dzirdēsit releja klikšķi un pārlūks atbildēs, ka gaismas ir ieslēgtas trīs minūtes.
Kamēr relejs ir aizvērts, varat pārbaudīt citas ignorēšanas funkcijas. Tas jums parādīs, cik vēl minūtes apgaismojums ieslēgsies pārsniegšanas dēļ:
11.22.33.44:1234/getoverridere atliek
Tam vajadzētu pateikt, ka gaismas ir ieslēgtas:
11.22.33.44:1234/lightstatus
Visbeidzot, jūs varat tos atkal izslēgt, izmantojot:
11.22.33.44:1234/overrideoff
Relejs noklikšķinās, tiklīdz tas atveras.
7. solis: pievienojiet savas gaismas
Pirms gaismu pievienošanas relejam, izslēdziet un atvienojiet Raspberry Pi. Regulārā slēdža vietā izmantojiet releja plates parasti atvērtus (NO) savienotājus, piemēram:
Visbeidzot, jūs varat uzstādīt savu luksa sensoru vietā, kur tas uztver apkārtējā apgaismojuma līmeni. Ņemiet vērā, ka TSL2561 ziņos par piesātinātu, ja tas saskaras ar tiešiem spilgtiem saules stariem, tāpēc ieteicams, ja iespējams, turēt to ēnā.
Vairāk Raspberry Pi projektu, lai jūs varētu izmēģināt
Attālināti ignorēt jauno viedā apgaismojuma iestatījumus, ierakstot komandas tīmekļa pārlūkprogrammā, ir diezgan apgrūtinoši. Labāks veids ir piesaistīt kaut ko līdzīgu Amazon Echo, lai padarītu lietas vieglāk. Apvienojot pakalpojumu Alexa un Webhooks IFTTT ir vienkāršs balss vadības pievienošanas veids.
Skatiet mūsu IFTTT lietošanas rokasgrāmata lai palīdzētu jums sākt darbu.
Vēl viena iespēja ir izmantot Siri saīsnes. Ar vienu īsinājumtaustiņu ar izvēlnēm var noskaidrot apgaismojuma statusu un izmantot tos, lai tos ieslēgtu un izslēgtu.
Ja jums patika šis projekts, noteikti apskatiet tos dīvaini Raspberry Pi projekti 10 visdīvainākie aveņu Pi projektiKatrā no mums ir neprātīgs zinātnieks, un Raspberry Pi ļauj jūsu iekšējam melonam iznākt un spēlēt. Dažreiz viss notiek savādi. Tiešām dīvaini. Lasīt vairāk lai iegūtu vairāk ideju.
Hamish ir ārštata rakstnieks, mūžīgs tehnoloģiju cienītājs un apstiprināts nerd. Viņš beidzot strādāja daudzu starptautisku uzņēmumu IT nodaļās, pirms beidzot atlaida savu priekšnieku un devās vienatnē.