Reklama
Spínače za súmraku a spínače časovača sú šikovné spôsoby automatizácie vašich svetiel. Nebolo by skvelé, keby ste ich mohli skombinovať, alebo ich dokonca pripojiť na internet, aby ste dosiahli skutočne inteligentný systém osvetlenia?
Raspberry Pi, relé, svetelný senzor a pomlčka kódu sú všetko, čo potrebujete na dosiahnutie tohto automatického osvetlenia nirvány na šnúrke.
Čo budete potrebovať
Komponenty pre váš inteligentný prepínač snímajúci svetlo sa dajú ľahko získať. Budete potrebovať:
- Akýkoľvek model Raspberry Pi so systémom Raspbian.
- doska relé, ľahko nájsť na Amazone.
- Senzor jasu Adafruit TSL2561.
- Prepojovacie káble.
- Niektoré svetlá automatizovať!
Ako funguje inteligentný prepínač snímania svetla
Použitím relé rovnakým spôsobom ako náš projekt automatického otvárania garážových brán Ako automatizovať garážové dvere pomocou IFTTT a Raspberry PiV tomto tutoriále vám ukážeme, ako automatizovať garážové dvere pomocou nič iného ako Raspberry Pi a IFTTT. Čítaj viac , môžete naprogramovať Raspberry Pi na zapnutie a vypnutie osvetľovacieho okruhu v stanovenom čase. Pridanie senzora svietivosti do zmesi znamená, že Pi dokáže zistiť úroveň okolitého svetla, a rozhodnúť sa zapnúť svetlá iba vtedy, keď sú skutočne potrebné.
Pretože počítač Pi je malý počítač, ktorý je možné pripojiť k sieti, môžete ho nastaviť tak, aby sa ovládal aj cez internet. Vaše inteligentné svetlá budú mať tri vstupy na určenie, kedy sa rozsvietia:
- Naprogramovaný rozvrh.
- Úroveň okolitého svetla.
- Potlačovací signál poslaný cez sieť.
Krok 1: Pripojte Raspberry Pi k relé
Ak ste novým používateľom GPIO, začnite čítaním Všetko, čo potrebujete vedieť o Raspberry Pi GPIO Pins.
Najprv skontrolujte, či na doske relé nie je prepojka spájajúca kolíky VCC a JD-VCC. Ak áno, vyberte ho.
Keď je všetko vypnuté, pripojte dosku relé k zariadeniu Pi nasledujúcim spôsobom:
- Pi Pin 2 (5v) k JD-VCC na doske relé.
- Pi Pin 6 (GND) až GND na doske relé.
- Pi Pin 15 (GPIO 22) na IN1 na doske relé
- Pi Pin 17 (3,3 V) na VCC na doske relé.
Krok 2: Pripojte snímač jasu
TSL2561 je svetelný senzor, ktorý dokáže detekovať infračervené, plné spektrum a svetlo viditeľné človekom. Môže poslať veľmi presné digitálne čítanie do Raspberry Pi. Senzor hlási hladinu svetla na stupnici od 0,1 (bez svetla) do 40 000 (jasné slnko).
Rada TSL2561 hovorí s Raspberry Pi pomocou protokolu i2c. I2C potrebuje iba dve spojenia, jedno pre hodiny, aby boli obe zariadenia synchronizované, a jedno pre prenášané údaje. Senzor lux samozrejme potrebuje určitý výkon, takže je možné vytvoriť celkom štyri pripojenia:
- Pripojte Pi Pin 1 (3,3 V) k Vin (alebo VCC) na lux senzore
- Pripojte Pi Pin 3 (SDA) k SDA na lux senzore
- Pripojte Pi Pin 5 (SCL) k SCL na lux senzore
- Pripojte Pi Pin 9 (GND) k GND na lux senzore
Krok 3: Konfigurácia a inštalácia závislostí
Predtým, ako budete pokračovať, musíte skontrolovať, či je na vašom Raspberry Pi povolená funkcia I2C (v predvolenom nastavení je vypnutá). Do terminálu napíšte:
sudo raspi-config
vybrať Možnosti rozhrania> P5 I2C, potom vyberte Áno.
hit vstúpiť potom vyberte Skončiť opustíte obrazovku konfigurácie. Aby sa zmena prejavila, reštartujte váš počítač Pi:
sudo reštart
Aby mohla Pi komunikovať s doskou senzora, sú potrebné určité závislosti. Zadajte nasledujúce príkazy:
aktualizácia sudo apt-get. sudo apt-get install -y python-smbus. sudo apt-get install -y i2c-tools
Môžete skontrolovať, či všetko funguje, napísaním:
sudo i2cdetect -y 1
Ak sú vaše závislosti nainštalované a lux senzor je správne pripojený, zobrazí sa táto odpoveď:
Nástroj tu oznamuje, že našiel zariadenie I2C (lux senzor) na adrese I2C 39.
So závislosťami si ešte neskončil dosť. Potrebujete aj niekoľko knižníc. Najprv si vytvorte priečinok, aby všetko súvisiace s týmto projektom zostalo v:
mkdir ~ / lighting. cd ~ / osvetlenie
Ďalej stiahnite fľaša, ľahký rámec, ktorý vytvorí na vašom Pi jednoduchý webový server. Budete ho používať na ovládanie svetiel z webu.
wget https://bottlepy.org/bottle.py
Ostatné knižnice, ktoré potrebujete, sú na serveri Github, takže ak váš Raspberry Pi ešte nemá nainštalovaný Git, pridajte ho teraz:
sudo apt-get install git
Teraz klonujte dve knižnice, napríklad:
git klon https://github.com/adafruit/Adafruit_Python_GPIO.git. git klon https://github.com/adafruit/Adafruit_Python_PureIO.git
A nakoniec vytvorte testovací skript vytvorením nového súboru:
nano test.py
Vložte tento kód (so súhlasom používateľa Adafruit):
#! / usr / bin / env python. # - * - kódovanie: utf-8 - * - z __future__ importu absolútny_import, delenie, print_funkcia, unicode_literály. z tsl2561 import TSL2561. ak __name__ == "__main__": tsl = TSL2561 (debug = True) print (tsl.lux ())
lis Ctrl + X uložte, podľa pokynov na obrazovke ukončite program.
Po dokončení spustite testovací skript:
python test.py
Ak je všetko nainštalované a funguje, dostanete číslo. Toto číslo je luxusný údaj zo snímača. Skúste snímač zablokovať alebo ho pohnúť tak, aby viac alebo menej svietilo. Potom znova spustite testovací skript a pozrite sa, ako sa číslo zmení.
Krok 4: Vytvorte automatizačné skripty
Raspberry Pi zapne svetlá, keď zhasne, ale v určitých časoch ich tiež vypne. Napríklad by ste mohli chcieť, aby sa vaše svetlá rozsvietili, keď večer zhasne, a potom okolo polnoci zhasnite, aby ste šetrili elektrinu. Mohli by sa znovu zapnúť skoro ráno, keď sa rozsvietia, vypnú sa.
Na spravovanie rozvrhu s viacerými časovými zónami, ako je tento, existujú dva rôzne skripty. Jedna (onzone.py) bude svietiť každú minútu v čase, keď chcete, aby boli vaše svetlá zapnuté, ak je tma. Ostatný (offzone.py) bude fungovať každú minútu v čase, keď chcete, aby boli svetlá vypnuté, bez ohľadu na úroveň svetla.
Skripty budú naplánované na spustenie pomocou cron pracovných miest Ako naplánovať úlohy v Linuxe s Cron a CrontabSchopnosť automatizovať úlohy je jednou z tých futuristických technológií, ktoré už existujú. Každý užívateľ systému Linux môže mať úžitok z plánovania úloh systému a používateľov, vďaka cron, ľahko použiteľnej službe na pozadí. Čítaj viac . Výberom toho, ktoré hodiny dňa a noci sa každý skript spustí, bude ľahké nastaviť hodiny, počas ktorých sa môžu automaticky zapnúť vaše svetlá. Môžete nastaviť ľubovoľný počet období zapínania a vypínania.
Okrem skriptov na automatické ovládanie svetiel existuje aj tretí skript na správu situácií, ktoré sa dajú prepísať. Umožní vám to zapnúť svetlá na diaľku bez ohľadu na úroveň okolitého svetla.
Skript 1: Zóna ON
Tento skript jazyka Python sa spustí každú minútu dňa, v ktorom chcete, aby sa rozsvietili svetlá, ak je tma. Stiahnite si skript skopírovaním a prilepením tohto príkazu do terminálu:
wget https://gist.githubusercontent.com/hamishdownell/ea151d2ff7c888ac09f8a850afaab4ee/raw/10b0e9d8ec42f8577750941da46a93d16b597c05/onzone.py
Zakaždým, keď je spustený onzone.py, získa zo senzora lux hodnotu, aby zistil, či je tma. Ak áno, skontroluje, či sú svetlá zapnuté alebo vypnuté. Ak sú vypnuté, zapne sa. Ak nie je tma, skript zistí, či svietia svetlá. Ak áno, vypne ich, pokiaľ neboli prepísané.
Skript používa premennú s názvom lowlux aby ste sa rozhodli, v ktorom bode je dosť tma na zapnutie svetiel. Môžete to zmeniť na niečo vhodné pre vašu vlastnú inštaláciu zmenou hodnoty v tomto riadku v hornej časti stránky onzone.py:
lowlux = 50
Skript 2: Zóna VYP
Tento skript sa spustí každú minútu dňa, v ktorom chcete, aby svetlá zostali vypnuté, pokiaľ neboli potlačené. Stiahnite si skript:
wget https://gist.githubusercontent.com/hamishdownell/fb8970909145bbfefbbef8dba5f5a00f/raw/eae5a6057a51ca4727907c7d061f0a48b07da944/offzone.py
Tento skript sa nestará o to, ako je svetlo alebo tma. Jeho úlohou je jednoducho vypnúť svetlá, ak sú zapnuté (pokiaľ neboli potlačené).
Skript 3: Server prepísania
Tento skript vytvára jednoduchú webovú službu, ktorá dokáže prijímať príkazy na vykonanie nasledujúcich akcií:
- Osvetlenie zapnite na niekoľko minút bez ohľadu na úroveň okolitého svetla.
- Vypnite svetlá.
- Zistite, či sú svetlá v súčasnosti zapnuté alebo vypnuté.
- Zistite, o koľko dlhšie majú svetlá zostať zapnuté, keď boli potlačené.
Stiahnite si skript:
wget https://gist.githubusercontent.com/hamishdownell/2303bfd9fb30d42e79923bdb7e69ed4e/raw/7dcb456b81b8ae58ae48efa225adb41ba7d7f69c/lightserver.py
Pred prechodom na ďalší krok spustite skript offzone.py takto:
python offzone.py
Takto sa vytvoria kontrolné súbory, ktoré skripty používajú na sledovanie všetkého.
Krok 5: Naplánujte si skripty
Váš Raspberry Pi môže spúšťať skripty automatizácie s cronom. Nastavte rozvrh takto:
sudo crontab -e
Vložte tieto dva riadky do textového editora:
* 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
Poznámka: Ak používateľské meno, do ktorého ste sa prihlásili do Raspberry Pi, nebolo predvolené pi, podľa toho zmeňte cestu.
V prvom riadku uveďte všetky hodiny, v ktorých sa majú rozsvietiť svetlá, keď je tma. Všetky hodiny, v ktorých chcete vypnúť svetlá, idú do druhého riadku.
Teraz nastavte prepisovací skript tak, aby sa automaticky spustil pri spustení programu Pi:
sudo nano /etc/rc.local
Vložte tento riadok do spodnej časti súboru, potom ho uložte a ukončite:
nohup python /home/pi/lighting/lightserver.py &
Nakoniec reštartujte Raspberry Pi, aby ste mohli skontrolovať, či sa skript servera načítava tak, ako má
sudo reštart
Krok 6: Otestujte relé
Pred pripojením vašich svetiel otestujte, či všetko funguje pomocou funkcie potlačenia. Do webového prehľadávača v rovnakej sieti ako váš Pi napíšte nasledujúci text a nahraďte IP adresu adresou svojho vlastného Raspberry Pi:
11.22.33.44:1234/overrideon/3
Ak je všetko v poriadku, budete počuť kliknutie na relé a prehliadač odpovie, že svetlá boli zapnuté tri minúty.
Keď je relé zatvorené, môžete otestovať ďalšie funkcie potlačenia. Toto vám povie, na koľko ďalších minút budú svetlá zostať zapnuté kvôli prepísaniu:
11.22.33.44:1234/getoverrideremaining
To by vám malo povedať, že svetlá sú zapnuté:
11.22.33.44:1234/lightstatus
Nakoniec ich môžete vypnúť pomocou:
11.22.33.44:1234/overrideoff
Po otvorení relé klikne.
Krok 7: Pripojte svoje svetlá
Pred pripojením svetiel k relé vypnite a odpojte Raspberry Pi. Namiesto bežného prepínača použite normálne otvorené konektory (NO) na doske relé, napríklad:
Nakoniec si môžete nainštalovať lux senzor na miesto, kde zachytí úroveň okolitého svetla. Upozorňujeme, že TSL2561 bude nahlásený ako nasýtený, ak narazí na priame slnečné svetlo, takže je najlepšie ho podľa možnosti uchovávať v tieni.
Viac projektov Raspberry Pi, ktoré môžete vyskúšať
Diaľkovo potlačenie vášho nového nastavenia inteligentného osvetlenia zadaním príkazov do webového prehľadávača je dosť ťažkopádne. Lepším spôsobom je pripojiť niečo ako Amazon Echo, aby sa veci uľahčili. Kombinácia služby Alexa a služby Webhooks na IFTTT je jednoduchý spôsob, ako pridať hlasové ovládanie.
Pozrite si naše návod na používanie IFTTT aby sme vám pomohli začať.
Ďalšou možnosťou je použitie klávesových skratiek Siri. Jediná skratka s ponukami môže zisťovať stav svetiel a zapínať a vypínať ich pomocou funkcií potlačenia.
Ak sa vám tento projekt páčil, nezabudnite si ich pozrieť divné projekty Raspberry Pi 10 najpodivnejších projektov maliny PiV každom z nás je šialený vedec a Raspberry Pi vám umožní vystúpiť a hrať svoju vnútornú loon. Niekedy sú veci čudné. Naozaj čudné. Čítaj viac pre viac nápadov.
Hamish je spisovateľom na voľnej nohe, celoživotným milovníkom technológie a potvrdeným blbcom. Predtým, ako konečne prepustil svojho šéfa a odišiel sám, pracoval v IT oddeleniach viacerých nadnárodných spoločností.