Hirdetés

Alkonyatkor-hajnali kapcsolók és az időkapcsoló egyaránt praktikus módja a fények automatizálásának. Nem lenne nagyszerű, ha összekapcsolja a kettőt, vagy akár csatlakoztathatja őket az internethez egy valóban intelligens világítási rendszer érdekében?

A Raspberry Pi, a relé, a fényérzékelő és a vonalkód csak annyit igényel, hogy elérje ezt az automatikus megvilágítási nirvánát a cipőfűzőn.

Amire szüksége lesz

A fényérzékelő intelligens kapcsoló alkatrészeit könnyű beszerezni. Szükséged lesz:

  • Bármely Raspbian Pi modell.
  • A relé tábla, könnyen megtalálható az Amazon-on.
  • egy Adafruit TSL2561 fényerő-érzékelő.
  • Áthidaló vezetékek.
  • Néhány fény az automatizáláshoz!

Hogyan működik a fényérzékelő intelligens kapcsoló?

A relé használatával ugyanúgy, mint a miénk automatikus garázskapu nyitó projekt Hogyan lehet automatizálni a garázs ajtaját az IFTTT és a Raspberry Pi segítségévelEbben az oktatóanyagban megmutatjuk, hogyan lehet automatizálni a garázs ajtaját, csak egy Raspberry Pi és IFTTT használatával. Olvass tovább

instagram viewer
, beprogramozhat egy Málna Pi-t a világítási áramkör be- és kikapcsolására meghatározott időpontokban. Világossági érzékelő hozzáadása a keverékhez azt jelenti, hogy a Pi képes felismerni a környezeti fényszintet, és úgy dönt, hogy csak akkor kapcsolja be a lámpákat, amikor valóban szükségük van rájuk.

Mivel a Pi egy apró számítógép, amely csatlakoztatható egy hálózathoz, beállíthatja úgy, hogy az interneten is vezérelje. Az intelligens lámpáinak három bemenete van, hogy meghatározzák, mikor világítanak:

  1. Programozott ütemterv.
  2. A környezeti fényszint.
  3. A hálózaton keresztül küldött felülbíráló jel.

1. lépés: Csatlakoztassa a Raspberry Pi-t a reléhez

Ha még nem ismeri a GPIO használatát, kezdje el olvasni Minden, amit tudnia kell a Raspberry Pi GPIO Pins-ről.

Először ellenőrizze, hogy a relé táblán van-e egy jumper, amely összeköti a VCC és a JD-VCC csapokat. Ha van, távolítsa el.

JD-VCC és VCC relé tábla jumper

Minden lekapcsolt állapotban csatlakoztassa a relé kártyát a Pi-hez az alábbiak szerint:

  • Csatlakoztassa a 2. csatlakozót (5v) a JD-VCC-hez a relé táblán.
  • Pi 6-os (GND) GND-hez a relé táblán.
  • Csatlakoztassa a 15-es csatlakozást (GPIO 22) az IN1-hez a relé táblán
  • Csatlakoztassa a 17-es csatlakozót (3.3v) a VCC-hez a relé táblán.
Raspberry Pi Zero W csatlakoztatva van egy relé táblához

2. lépés: Csatlakoztassa a fényerősség-érzékelőt

A TSL2561 egy fényérzékelő, amely érzékeli az infravörös, a teljes spektrumot és az ember számára látható fényt. Nagyon pontos digitális leolvasást küld a Raspberry Pi-hez. Az érzékelő a fényszintet 0,1 (nem világít) és 40 000 (fényes nap) skálán jeleníti meg.

A TSL2561 fórum beszél a Raspberry Pi az i2c protokollt használva. Az I2C-hez csak két kapcsolatra van szükség, az egyik egy órára a két eszköz szinkronban tartásához, és egy az átvitt adatokhoz. Természetesen a lux érzékelőnek is szüksége van bizonyos energiára, tehát négy összeköttetésnek van összeköttetése:

  • Csatlakoztassa a Pi Pin 1 (3,3 V) -ot a Vin (vagy VCC) -hez a lux-érzékelőn
  • Csatlakoztassa a Pi Pin 3-at (SDA) az SDA-hoz a luxérzékelőn
  • Csatlakoztassa a Pi Pin 5 (SCL) -et az luks érzékelő SCL-hez
  • Csatlakoztassa a 9. pontot (GND) a luxérzékelő GND-jéhez
Raspberry Pi Zero W csatlakoztatva a TSL2561 lux érzékelőhöz

3. lépés: Konfigurálja és telepítse a függőségeket

Mielőtt továbbmenne, ellenőriznie kell, hogy az I2C engedélyezve van-e a Raspberry Pi készüléken (alapértelmezés szerint le van tiltva). Írja be a következőt a terminálba:

sudo raspi-config

választ Felületkezelési lehetőségek> P5 I2C, majd válasszon Igen.

Interfész lehetőségek a raspi-config segédprogramban

Találat Belép majd válassza a lehetőséget Befejez kilépés a konfigurációs képernyőn. Indítsa újra a Pi-t, hogy a változás hatályba lépjen:

sudo reboot

Bizonyos függőségek szükségesek ahhoz, hogy a Pi kommunikáljon az érzékelő kártyával. Gépelje be a következő parancsokat:

sudo apt-get frissítés. sudo apt-get install -y python-smbus. Sudo apt-get install -y i2c-eszközök

Ellenőrizheti, hogy minden működik-e gépeléssel:

sudo i2cdetect -y 1

Ha a függőségek telepítve vannak, és a lux-érzékelő megfelelően csatlakozik, akkor a következő választ fogja látni:

IC-Detect közüzemi jelentés a luxérzékelő címéről

Itt a segédprogram arról számol be, hogy talált egy I2C eszközt (lux érzékelőt) a 392 I2C címen.

Még nem végeztél még teljesen a függőségekkel. Szüksége lesz néhány könyvtárra is. Először készítsen egy mappát a projekthez kapcsolódó mindent a következőben tárolja:

mkdir ~ / világítás. cd ~ / világítás

Ezután töltse le üveg, egy könnyű keret, amely egyszerű webszervert hoz létre a Pi-n. Ezt fogja használni a világítás ellenőrzéséhez az internetről.

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

A többi szükséges könyvtár a Githubon található, tehát ha a Raspberry Pi-n még nincs telepítve a Git, add hozzá most:

sudo apt-get install git

Most klónozz két könyvtárat, így:

git klón https://github.com/adafruit/Adafruit_Python_GPIO.git. git klón https://github.com/adafruit/Adafruit_Python_PureIO.git

És végül hozzon létre egy teszt szkriptet egy új fájl létrehozásával:

nano test.py

Beillesztés ebbe a kódba (a Adafruit):

#! / usr / bin / env python. # - * - kódolás: utf-8 - * - __future__-ból importáljon abszolút_importot, osztás, nyomtatási_funkció, unicode_literals. a tsl2561-ből importálja a TSL2561-et. ha __name__ == "__main__": tsl = TSL2561 (debug = True) print (tsl.lux ())

nyomja meg Ctrl + X mentéshez, a kilépéshez a képernyőn megjelenő utasítások szerint.

Ha kész, futtassa a teszt szkriptet:

python test.py

Ha minden telepítve van és működik, akkor kap egy számot. Ez a szám az érzékelő lux értéke. Próbálja meg blokkolni az érzékelőt, vagy mozgassa úgy, hogy többé-kevésbé világítson. Ezután futtassa újra a teszt szkriptet, és nézze meg, hogyan változik a szám.

4. lépés: Hozza létre az automatizálási parancsfájlokat

A Raspberry Pi bekapcsolja a lámpákat, amikor elsötétül, de bizonyos időpontokban azokat is kikapcsolja. Előfordulhat például, hogy a fények akkor világítanak, amikor este sötétedik, majd éjfél körül kialszik az energiatakarékosság érdekében. Korán reggel ismét be tudnak lépni, majd kikapcsolhatják magukat, amikor világossá válik.

Két különböző időzítési zónával rendelkező ütemezés kezeléséhez kétféle szkript létezik. Egy (onzone.py) percenként fog futni, amikor csak világít, ha sötét. A másik (offzone.py) percenként fut, olyan esetekben, amikor azt szeretné, hogy a világítás kikapcsoljon, függetlenül a fényerősségtől.

Intelligens világítási szkript ütemezése

A szkriptek futtatását ütemezni kell cron feladatok használata Hogyan ütemezzük a feladatokat Linuxon a Cron és a Crontab segítségévelA feladatok automatizálásának képessége egyike azoknak a futurisztikus technológiáknak, amelyek már itt vannak. Minden Linux felhasználó részesülhet a rendszer- és felhasználói feladatok ütemezéséből, köszönhetően a cron-nak, egy könnyen használható háttér-szolgáltatásnak. Olvass tovább . Ha kiválasztja, hogy a szkriptek melyik nappali és éjszakai órát futtatják, akkor könnyedén beállíthatja azt az órát, amikor a fények automatikusan bekapcsolnak. Beállíthat annyi be- és kikapcsolási periódust, amennyit csak akar.

A fények automatikus vezérlésére szolgáló szkriptek mellett egy harmadik szkript is rendelkezik a felülbíráló helyzetek kezelésére. Ez lehetővé teszi a világítás távoli bekapcsolását, függetlenül a környezeti fényszinttől.

1. forgatókönyv: Az ON zóna

Ezt a Python szkriptet a nap minden percében futtatni kell, amikor azt szeretné, hogy a fények világítsanak, ha sötét. Töltse le a szkriptet a következő parancs lemásolásával és beillesztésével a terminálba:

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

Az onzone.py minden futtatásakor az érzékelő lux értéket kap, hogy sötét-e. Ha igen, akkor ellenőrzi, hogy a lámpák világítanak-e vagy sem. Ha ki vannak kapcsolva, akkor bekapcsolja őket. Ha még nem sötét, akkor a szkript látni fogja, hogy a lámpák világítanak-e. Ha vannak, akkor kikapcsolja őket, kivéve, ha felülbírálták őket.

A szkript az úgynevezett változót használja lowlux hogy eldöntse, melyik ponton elég sötét ahhoz, hogy bekapcsolja a lámpákat. Megváltoztathatja azt a saját telepítéséhez megfelelő értékre, ha megváltoztatja az ezen a soron lévő értéket az onzone.py teteje közelében:

alacsony folyadék = 50

2. forgatókönyv: Az OFF zóna

Ezt a szkriptet a nap minden percében futtatni kell, amikor azt szeretné, hogy a lámpák kikapcsoljanak, kivéve, ha azokat felülbírálták. Töltse le a szkriptet:

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

Ez a szkript nem törődik azzal, mennyire világos vagy sötét. Feladata egyszerűen a lámpák kikapcsolása, ha azok be vannak kapcsolva (kivéve, ha azokat felülbírálták).

3. szkript: A kiszolgáló felülbírálása

Ez a szkript létrehoz egy egyszerű webszolgáltatást, amely a következő műveletek végrehajtására szolgáló parancsokat képes elfogadni:

  1. Kapcsolja be a lámpákat néhány percre, a környezeti megvilágítás szintjétől függetlenül.
  2. Kapcsolja ki a lámpákat.
  3. Tudja meg, hogy a lámpák jelenleg világítanak vagy nem világítanak.
  4. Tudja meg, mennyi ideig lehet tovább világítani a lámpákat, amikor azokat meghaladták.

Töltse le a szkriptet:

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

Mielőtt továbblépne a következő lépésre, futtassa az offzone.py szkriptet így:

python offzone.py

Ez létrehozza azokat a vezérlőfájlokat, amelyekkel a szkriptek mindent nyomon követhetnek.

5. lépés: Ütemezze a szkripteket

A Raspberry Pi az automatizálási szkripteket cronnal futtathatja. Állítsa be az ütemtervet így:

sudo crontab -e

Illessze be ezt a két sort a szövegszerkesztőbe:

* 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

Megjegyzés: Ha az a felhasználónév, amellyel bejelentkezett a Raspberry Pi rendszerbe, nem volt az alapértelmezett pi, ennek megfelelően változtassa meg az utat.

Az első sorban sorolja fel az összes órát, amikor azt szeretné, hogy a lámpák világítsanak. A második sorban az összes óra eltűnik, ahol szeretné kikapcsolni a lámpákat.

Most állítsa be a felülírási szkript automatikus futtatásához, amikor a Pi elindul:

sudo nano /etc/rc.local

Illessze be ezt a sort a fájl aljára, majd mentse el és lépjen ki:

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

Végül indítsa újra a Raspberry Pi programot, így ellenőrizheti, hogy a kiszolgáló szkriptje betöltődik-e, ahogy kellene

sudo reboot

6. lépés: Tesztelje a relét

A lámpák csatlakoztatása előtt ellenőrizze, hogy minden működik-e a felülbírálás funkció segítségével. Írja be a következőket egy böngészőbe ugyanabban a hálózatban, mint a Pi, az IP címet a saját Raspberry Pi címével helyettesítve:

11.22.33.44:1234/overrideon/3

Ha minden rendben van, akkor a relé kattanását hallani fogja, és a böngésző válaszol, hogy a lámpák három percig be vannak kapcsolva.

Amíg a relé zárva van, kipróbálhatja a többi felülírási funkciót. Ez megmutatja, hány percig világít a fény a felülírás miatt:

11.22.33.44:1234/getoverrideremaining

Ennek azt kell mondania, hogy a lámpák világítanak:

11.22.33.44:1234/lightstatus

Végül újra kikapcsolhatja őket:

11.22.33.44:1234/overrideoff

A relé kattintva kattint, amikor megnyílik.

7. lépés: Csatlakoztassa a fényét

Kapcsolja ki és húzza ki a Raspberry Pi készüléket, mielőtt csatlakoztatja a lámpákat a reléhez. Használjon egy normál kapcsoló helyett a relé táblán általában nyitott (NO) csatlakozókat:

Helyezze be a relét a világítási áramkörbe

Végül telepítheti a luxérzékelőt egy olyan helyre, ahol a környezeti fényszintet eléri. Vegye figyelembe, hogy a TSL2561 telítettnek bizonyul, ha közvetlen erős napsugárzást észlel, ezért a lehető legjobb árnyékban tartani.

További Raspberry Pi projektek, amelyeket kipróbálhat

Az új intelligens világítási beállítások távolról történő felülbírálása a parancsok webböngészőbe történő gépelésével elég nehézkes. Jobb módszer az, ha összekapcsolunk valami hasonlót az Amazon Echo-val, hogy megkönnyítsük a dolgokat. Az Alexa és a Webhooks szolgáltatás kombinálása IFTTT egy egyszerű módja a hangvezérlés hozzáadásának.

Nézze meg útmutató az IFTTT használatához hogy segítsen az indulásban.

IFTTT Applet az intelligens lámpák és az Alexa csatlakoztatásához

Egy másik lehetőség a Siri hivatkozások használata. Egyetlen parancsikon menükkel lekérdezheti a lámpák állapotát, és be- és kikapcsolhatja a felülírási funkciókat.

Ha élvezte ezt a projektet, akkor nézd meg ezeket furcsa Raspberry Pi projektek 10 legfurcsabb málna-pi projektMindegyikünkben van egy őrült tudós, és a Raspberry Pi engedi, hogy a belső zsályád kijönjön és játsszon. Néha a dolgok furcsa. Nagyon furcsa. Olvass tovább további ötletekért.

Hamish szabadúszó író, élethosszig tartó technológiai szeretője és megerősített majom. Számos multinacionális vállalat informatikai részlegein dolgozott, mielőtt végül kibővítette főnökét, és egyedül ment.