Skelbimas

Aušros ir aušros jungikliai bei laikmačio jungikliai yra patogūs būdai automatizuoti apšvietimą. Argi nebūtų puiku, jei galėtumėte sujungti abu ar net prikabinti juos prie interneto, kad sukurtumėte tikrai intelektualią apšvietimo sistemą?

„Raspberry Pi“, relė, šviesos jutiklis ir brūkšnelis kodo yra viskas, ko jums reikia norint pasiekti šią automatinę apšvietimo nirvaną ant batų virvės.

Ko jums reikės

Lengvai tiekiami komponentai jūsų intelektualiam šviesai jautriajam jungikliui. Jums reikės:

  • Bet koks „Raspberry Pi“ modelis veikia „Raspbian“.
  • A estafetė, lengvai randamas „Amazon“.
  • An „Adafruit TSL2561“ šviesumo jutiklis.
  • Jumper laidai.
  • Kai kurie žibintai automatizuoti!

Kaip veikia „Light-Sensing Smart“ jungiklis

Naudodamiesi relė taip pat, kaip ir mūsų automatinio garažo durų atidarytuvo projektas Kaip automatizuoti garažo duris naudojant IFTTT ir Raspberry PiŠiame vadove parodysime, kaip automatizuoti garažo duris naudojant ne daugiau kaip Raspberry Pi ir IFTTT. Skaityti daugiau , galite užprogramuoti „Raspberry Pi“, kad nustatytu laiku įjungtumėte ir išjungtumėte apšvietimo grandinę. Pridėjus šviesos jutiklį prie mišinio, „Pi“ gali nustatyti aplinkos šviesos lygį ir pasirinkti įjungti šviesas tik tada, kai jų iš tikrųjų reikia.

instagram viewer

Kadangi „Pi“ yra mažas kompiuteris, kurį galima prijungti prie tinklo, galite jį nustatyti taip pat ir internetu. Jūsų išmaniosios lemputės turės tris įvestis, kad nustatytų, kada jos užsidega:

  1. Programuojamas tvarkaraštis.
  2. Aplinkos šviesos lygis.
  3. Per tinklą siunčiamas nepaisymo signalas.

1 žingsnis: Prijunkite „Raspberry Pi“ prie relės

Jei dar nesinaudojote GPIO, pradėkite nuo skaitymo Viskas, ką reikia žinoti apie „Raspberry Pi GPIO“ segtukus.

Pirmiausia patikrinkite, ar jūsų relės plokštėje yra trumpiklis, jungiantis VCC ir JD-VCC kaiščius. Jei yra, pašalinkite.

JD-VCC į VCC relinės plokštės trumpiklis

Kai viskas išjungta, relės plokštę prie savo Pi prijunkite taip:

  • Pi 2 (5v) pritvirtinkite prie JD-VCC relės plokštėje.
  • Pi 6 (GND) prijunkite prie GND prie relės plokštės.
  • Pi 15 (GPIO 22) pritvirtinkite prie relės plokštės IN1
  • Pi kontaktas 17 (3,3v) prie VCC relės plokštėje.
Raspberry Pi Zero W prijungtas prie relinės plokštės

2 žingsnis: Prijunkite šviesumo jutiklį

TSL2561 yra šviesos jutiklis, galintis aptikti infraraudonųjų spindulių, viso spektro ir žmonėms matomą šviesą. Tai gali siųsti labai tikslų skaitmeninį skaitymą „Raspberry Pi“. Jutiklis praneša apie šviesos lygį skalėje nuo 0,1 (be šviesos) iki 40 000 (ryški saulė).

TSL2561 valdyba kalbasi su Raspberry Pi naudojant i2c protokolą. „I2C“ reikia tik dviejų jungčių: vienos - laikrodžiui, kad abu įrenginiai būtų sinchronizuoti, o vieno - duomenims perduoti. Žinoma, liukso jutikliui taip pat reikia šiek tiek galios, todėl iš viso yra keturios jungtys:

  • Prijunkite „Pi Pin 1“ (3,3v) prie „Vin“ (arba VCC) liukso jutiklyje
  • Prijunkite „Pi Pin 3“ (SDA) prie liukso jutiklio SDA
  • Prijunkite Pi Pin 5 (SCL) prie liukso jutiklio SCL
  • Prijunkite „Pi Pin 9“ (GND) prie liukso jutiklio GND
„Raspberry Pi Zero W“ prijungtas prie TSL2561 liukso jutiklio

3 veiksmas: sukonfigūruokite ir įdiekite priklausomybes

Prieš eidami toliau, turėsite patikrinti, ar „Raspberry Pi“ įgalinta „I2C“ (ji pagal numatytuosius nustatymus išjungta). Į terminalą įveskite:

sudo raspi-config

Pasirinkite Sąsajos parinktys> P5 I2C, tada pasirinkti Taip.

Sąsajos su „Raspi-config“ įrankiu parinktys

Pataikė Įveskite tada pasirinkite Baigti išeiti iš konfigūracijos ekrano. Iš naujo paleiskite „Pi“, kad pakeitimas įsigaliotų:

sudo perkrauti

Tam tikros priklausomybės yra būtinos, kad Pi galėtų susisiekti su jutiklio lenta. Įveskite šias komandas:

„sudo apt-get“ atnaujinimas. sudo apt-get install -y python-smbus. sudo apt-get install -y i2c-tools

Galite patikrinti, ar viskas veikia, įvesdami:

sudo i2cdetect -y 1

Jei jūsų priklausomybės yra įdiegtos ir jūsų liukso jutiklis tinkamai prijungtas, matysite tokį atsakymą:

IC-Detect naudingumo pranešimo liukso jutiklio adresas

Naudotojas praneša, kad rado I2C įrenginį (liukso jutiklį) I2C adresu 39.

Su priklausomybėmis dar ne visai gerai. Jums taip pat prireiks kelių bibliotekų. Pirmiausia sukurkite aplanką, kuriame būtų viskas, kas susiję su šiuo projektu:

mkdir ~ / apšvietimas. CD ~ / apšvietimas

Kitas, atsisiųskite butelis, lengvas rėmas, kuris sukurs paprastą žiniatinklio serverį jūsų „Pi“. Jį naudosite norėdami valdyti savo šviesą iš interneto.

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

Kitos jums reikalingos bibliotekos yra „Github“, taigi, jei „Raspberry Pi“ dar nėra įdiegę „Git“, pridėkite ją dabar:

sudo apt-get install git

Dabar klonuokite dvi bibliotekas, kaip ši:

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

Ir galiausiai sukurkite bandomąjį scenarijų sukurdami naują failą:

nano test.py

Įklijuokite šį kodą (sutikdami su Adafrudas):

#! / usr / bin / env python. # - * - kodavimas: utf-8 - * - iš __future__ importuoti absoliučią_importą, padalijimą, spausdinimo_funkciją, unicode_literals. iš tsl2561 importo TSL2561. jei __name__ == "__main__": tsl = TSL2561 (derinimo = True) spausdinti (tsl.lux ())

Paspauskite „Ctrl“ + X Norėdami išsaugoti, vykdykite ekrane pateikiamus nurodymus, kad išeitumėte.

Baigę paleiskite bandymo scenarijų:

python test.py

Jei viskas įdiegta ir veikia, gausite numerį. Šis skaičius yra liukso rodiklis iš jutiklio. Pabandykite užblokuoti jutiklį arba perkelti jį taip, kad jis būtų daugiau ar mažiau apšviestas. Tada dar kartą paleiskite bandymo scenarijų ir pažiūrėkite, kaip keičiasi skaičius.

4 veiksmas: sukurkite automatikos scenarijus

„Raspberry Pi“ įjungs šviesas tamsiuoju paros metu, bet ir išjungs jas tam tikru metu. Pvz., Galbūt norėsite, kad jūsų lemputė įsijungtų tamsiuoju paros metu, tada užsidekite apie vidurnaktį, kad taupytumėte elektrą. Jie gali vėl ateiti anksti ryte, tada išsijungia, kai užsidega.

Norėdami valdyti tvarkaraštį, kuriame yra kelios laiko juostos, kaip šis, yra du skirtingi scenarijai. Vienas (onzone.py) veiks kiekvieną minutę, kai norite, kad jūsų lemputė būtų įjungta, jei tamsi. Kitas (offzone.py) veiks kiekvieną minutę, kai norite, kad lemputės išsijungtų, neatsižvelgiant į apšvietimo lygį.

Išmaniojo apšvietimo scenarijų tvarkaraštis

Skriptus planuojama vykdyti naudojant cron darbus Kaip suplanuoti "Linux" užduotis naudojant "Cron" ir "Crontab"Galimybė automatizuoti užduotis yra viena iš tų futuristinių technologijų, kurios jau yra čia. Kiekvienas „Linux“ vartotojas gali gauti naudos iš planavimo sistemos ir vartotojo užduočių, nes „cron“ yra lengvai naudojama foninė paslauga. Skaityti daugiau . Pasirinkus, kuris dienos ir nakties laikas bus vykdomas kiekvieną scenarijų, bus nesunku nustatyti valandas, kuriomis jūsų žibintai gali įsijungti automatiškai. Galite nustatyti tiek įjungimo ir išjungimo periodų, kiek norite.

Taip pat scenarijai, skirti automatiškai valdyti šviesas, yra ir trečiasis scenarijus, skirtas valdyti nepaisymo situacijas. Tai leis jums įjungti apšvietimą nuotoliniu būdu, nepriklausomai nuo aplinkos apšvietimo lygio.

1 scenarijus: Įjungta zona

Šis „Python“ scenarijus bus paleistas kiekvieną dienos minutę, kurią norite įjungti, jei tamsi. Atsisiųskite scenarijų, nukopijavę ir įklijavę šią komandą į terminalą:

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

Kiekvieną kartą paleidus onzone.py, jutiklis gaus liukso vertę, kad pamatytų, ar jis tamsus. Jei yra, tada patikrins, ar lemputės įjungtos, ar ne. Jei jie bus išjungti, jie juos įjungs. Jei ne tamsu, scenarijus matys, ar lemputės dega. Jei jie yra, jie juos išjungs, jei jie nebus perbraukti.

Scenarijus naudoja kintamąjį, vadinamą žemas liuksas nuspręsti, kurioje vietoje yra pakankamai tamsu, kad įjungtų šviesas. Galite pakeisti jį į kažką, tinkančio jūsų pačių įdiegimui, pakeisdami šios eilutės vertę šalia onzone.py viršaus:

žemas srautas = 50

2 scenarijus: OFF zona

Šis scenarijus bus paleistas kiekvieną dienos minutę, kai norite, kad lemputės neveiktų, nebent jos buvo viršytos. Atsisiųskite scenarijų:

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

Šiam scenarijui nerūpi, koks jis šviesus ar tamsus. Jos užduotis yra tiesiog išjungti šviesas, jei jos įjungtos (nebent jos buvo neperžengtos).

3 scenarijus: Nepaisykite serverio

Šis scenarijus sukuria paprastą žiniatinklio paslaugą, kuri gali priimti komandas atlikti šiuos veiksmus:

  1. Įjunkite šviesą kelioms minutėms, nepriklausomai nuo aplinkos apšvietimo lygio.
  2. Išjunkite šviesas.
  3. Sužinokite, ar lemputės šiuo metu įjungtos, ar ne.
  4. Sužinokite, kiek ilgiau lemputės turi degti, kai jos buvo įjungtos.

Atsisiųskite scenarijų:

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

Prieš pereidami prie kito veiksmo, paleiskite scenarijų offzone.py taip:

python offzone.py

Tai sukurs valdymo failus, kuriuos scenarijai naudoja viskam sekti.

5 žingsnis: Suplanuokite scenarijus

Jūsų Raspberry Pi gali paleisti automatikos scenarijus su cron. Tvarkaraštį nustatykite taip:

sudo crontab -e

Įklijuokite šias dvi eilutes į teksto rengyklę:

* 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

Pastaba: jei vartotojo vardas, prie kurio prisijungėte prie „Raspberry Pi“, nebuvo numatytasis pi, atitinkamai pakeiskite kelią.

Išvardykite visas valandas, kuriomis norite, kad lemputė įsijungtų, kai tamsu pirmoje eilutėje. Visos valandos, kuriose norite išjungti šviesas, eina į antrą eilutę.

Dabar nustatykite nepaisymo scenarijų, kad jis būtų paleistas automatiškai, kai „Pi“ paleidžiamas:

sudo nano /etc/rc.local

Įklijuokite šią eilutę failo apačioje, tada išsaugokite ir išeikite:

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

Galiausiai iš naujo paleiskite „Raspberry Pi“, kad galėtumėte patikrinti, ar serverio scenarijus įkeliamas taip, kaip turėtų

sudo perkrauti

6 žingsnis: išbandykite relę

Prieš prijungdami šviestuvus, patikrinkite, ar viskas veikia, naudodamiesi nepaisymo funkcija. Įveskite interneto naršyklę tame pačiame tinkle kaip ir „Pi“, pakeisdami IP adresą savo „Raspberry Pi“ adresu:

11.22.33.44:1234/overrideon/3

Jei viskas gerai, išgirsite relės paspaudimą, o naršyklė atsakys, kad lemputės buvo įjungtos tris minutes.

Kol relė uždaryta, galite išbandyti kitas nepaisymo funkcijas. Tai jums nurodys, kiek dar minučių šviesa degs dėl nepaisymo:

11.22.33.44:1234/getoverrideremaining

Tai turėtų pasakyti, kad lemputės dega:

11.22.33.44:1234/lightstatus

Galiausiai galite juos vėl išjungti naudodami:

11.22.33.44:1234/overrideoff

Relė spustelės, kai atsidarys.

7 žingsnis: Prijunkite savo šviesas

Išjunkite ir atjunkite „Raspberry Pi“ prieš prijungdami šviesas prie relės. Vietoj įprasto jungiklio relės plokštėje naudokite paprastai atidarytas (NO) jungtis:

Relės įterpimas į apšvietimo grandinę

Galiausiai galite įdiegti savo liukso jutiklį ten, kur jis užfiksuos aplinkos šviesos lygį. Atminkite, kad „TSL2561“ praneša apie prisotintą, jei patenka į tiesioginius ryškius saulės spindulius, todėl geriau, jei įmanoma, laikyti jį šešėlyje.

Daugiau „Raspberry Pi“ projektų, kuriuos galite išbandyti

Nuotoliniu būdu nepaisyti naujos intelektualiojo apšvietimo sąrankos įvedant komandas į interneto naršyklę yra gana sudėtinga. Geresnis būdas yra užkabinti kažką panašaus į „Amazon Echo“, kad viskas būtų lengviau. „Alexa“ ir „Webhooks“ paslaugų sujungimas IFTTT yra paprastas būdas pridėti valdymą balsu.

Pažiūrėk mūsų IFTTT naudojimo vadovas kad padėtų jums pradėti.

IFTTT programėlė išmaniesiems žiburiams prijungti prie „Alexa“

Kita galimybė yra naudoti „Siri“ klavišus. Vienu sparčiu meniu su meniu galima sužinoti lempučių būseną ir naudoti jas perjungimo funkcijoms įjungti ir išjungti.

Jei jums patiko šis projektas, būtinai patikrinkite juos keistai Raspberry Pi projektai 10 keisčiausių aviečių Pi projektųKiekviename iš mūsų yra beprotiškas mokslininkas, ir „Raspberry Pi“ leidžia jūsų vidiniam sūneliui išeiti ir žaisti. Kartais viskas pasidaro keista. Tikrai keista. Skaityti daugiau jei norite daugiau idėjų.

Hamašas yra laisvai samdomas rašytojas, visą gyvenimą mylintis technologijas ir patvirtintas nerd. Jis pagaliau dirbo daugelio tarptautinių įmonių IT skyriuose, kol galiausiai atleido savo viršininką ir išvyko vienas.