Turinys:

Pigi ir efektyvi namų automatizavimas naudojant „Raspberry Pi“: 11 žingsnių (su nuotraukomis)
Pigi ir efektyvi namų automatizavimas naudojant „Raspberry Pi“: 11 žingsnių (su nuotraukomis)

Video: Pigi ir efektyvi namų automatizavimas naudojant „Raspberry Pi“: 11 žingsnių (su nuotraukomis)

Video: Pigi ir efektyvi namų automatizavimas naudojant „Raspberry Pi“: 11 žingsnių (su nuotraukomis)
Video: Fun with Music and Programming by Connor Harris and Stephen Krewson 2024, Lapkritis
Anonim
Pigi ir efektyvi namų automatika naudojant „Raspberry Pi“
Pigi ir efektyvi namų automatika naudojant „Raspberry Pi“
Pigi ir efektyvi namų automatika naudojant „Raspberry Pi“
Pigi ir efektyvi namų automatika naudojant „Raspberry Pi“
Pigi ir efektyvi namų automatika naudojant „Raspberry Pi“
Pigi ir efektyvi namų automatika naudojant „Raspberry Pi“

Aš visada norėjau valdyti šviesas belaidžiu būdu, tačiau komercinės galimybės paprastai yra brangios. „Philips Hue“lemputės kainuoja apie 70 USD, o „WiFi“prijungtos lempos taip pat yra brangios. Ši pamoka jums pasakys, kaip valdyti iki penkių žibintų/lempų/kalėdinių lempučių sruogų už maždaug 50 USD, ir ją galima išplėsti įtraukiant ir daugiau žibintų.

1 žingsnis: ko jums reikės

Ko jums reikės
Ko jums reikės

Medžiagos:

„Raspberry Pi Zero W“(belaidis leidimas)

„Micro SD“kortelė (mažiausiai 4 GB)

Mini HDMI į HDMI kabelis/keitiklis (yra skirtumas tarp mini ir mikro, įsitikinkite, kad pasirinksite tinkamą!)

Mikro USB į USB laidas/keitiklis

USB klaviatūra

Pastaba: iš „Amazon“gavau „Raspberry Pi Zero W“pradinį rinkinį, kurį gavome kartu su „Raspberry Pi Zero W“, SD kortele, dėklu, maitinimo kabeliu, HDMI keitikliu ir USB keitikliu. Tik už 30 USD tai yra gana geras pasirinkimas (nuoroda)

Galite naudoti kitą „Raspberry Pi“modelį, tačiau „Raspberry Pi“turi turėti tam tikrą interneto ryšį, o „Pi Zero W“yra pigiausias pasirinkimas.

Nuotoliniai lizdai - aš juos naudoju

RF siųstuvas ir imtuvas (Pastaba: siųstuvo/imtuvo dažnis turi sutapti su nuotolinių lizdų dažniu) - naudojau šiuos

Laidas antenai (aš naudojau 22 gabarito varinę vielą, kita viela gali veikti)

Duonos lenta, jungiamieji laidai, 40 kontaktų antraštė nuo vyrų iki vyrų

Programinė įranga:

Raspberry Pi OS (atsisiųskite Raspbian Desktop)

„Etcher“disko atvaizdas („Pi OS“įrašymui į SD kortelę)

Įrankiai:

Lituoklis

Kompiuteris, skirtas atsisiųsti „Pi OS“ir „Etcher“

2 žingsnis: nustatykite išėjimus

Nustatykite išėjimus
Nustatykite išėjimus
Nustatykite išėjimus
Nustatykite išėjimus

Pradėkite kištukinius lizdus į lizdą. Vykdykite pridėtas instrukcijas, kad jas nustatytumėte, ir prijunkite lemputes/prietaisus. Įsitikinkite, kad nuotolinio valdymo pultas yra tinkamai suporuotas ir valdo lizdus.

3 veiksmas: nustatykite „PubNub“paskyrą

„PubNub“yra nemokamas interneto serveris, leidžiantis bendrauti tarp įrenginių bet kurioje pasaulio vietoje. „Python“scenarijus gauna pranešimus iš tinklalapio ir naudoja pranešime esančią informaciją, kad įjungtų arba išjungtų šviesas. Čia galite užsiregistruoti nemokamai. Prisiregistravę prisijunkite prie savo paskyros. Tai pateks į programų valdymo puslapį. Spustelėkite „Sukurti naują programą“. Suteikite programai pavadinimą, tada pasirinkite ją iš programų sąrašo (jei tai jūsų pirmoji programa, ji bus vienintelė). Taip pateksite į programų raktų puslapį. Spustelėkite „Demo raktų rinkinys“ir pamatysite tris skirtingus klavišus. Laikykite šį puslapį aukštyn, vėliau jums reikės šių raktų. Dabar, kai turite „PubNub“paskyrą, galite nustatyti savo aviečių pi.

4 žingsnis: Paruoškite „Raspberry Pi“

Atsisiųskite „Etcher“ir „Raspberry Pi“OS į savo kompiuterį (nuorodos dalių sąraše)

Įdiekite „Etcher“savo kompiuteryje ir išpakuokite (jei reikia) „Raspberry Pi“OS. Įdėkite „Micro SD“kortelę į kompiuterį ir atidarykite „Etcher“. Spustelėkite „Pasirinkti vaizdą“ir eikite į išpakuotą „Raspberry Pi“OS failą. Pasirinkite jį, tada spustelėkite „Pasirinkti diską“ir sąraše pasirinkite savo „micro SD“kortelę. Spustelėkite „Flash“ir palaukite, kol „Etcher“bus baigtas. Baigę „Etcher“, išimkite SD kortelę iš kompiuterio („Etcher“ją automatiškai išstumia) ir įdėkite į „Raspberry Pi“. Šiuo metu turėsite prijungti „Raspberry Pi“prie monitoriaus naudodami HDMI keitiklį. Prijunkite klaviatūrą (ir pelę, jei turite kelių USB šakotuvą) ir prijunkite maitinimo kabelį. Yra du mikro USB prievadai. Vienas skirtas maitinimui, kitas - tikras USB prievadas. Arčiausiai Pi galo esantis maitinimas, o arčiau vidurio - USB. Jūsų aviečių pi dabar pradės paleisti. Pirmojo įkrovos metu jis gali būti paleistas kelis kartus, tačiau tai yra normalu. Kai jūsų aviečių pi bus paleistas, prijunkite jį prie „WiFi“. Prijungę jį prie „WiFi“, galite naudoti SSH serverį, tačiau kol kas lengviau naudotis GUI. Atidarykite terminalo langą ir įveskite šias komandas:

sudo pip3 įdiegti „pubnub == 3.9.0“

cd git klonas git: //git.drogon.net/wiringPi git klonas

sudo git klonas

sudo chown root.root/var/www/rfoutlet /odesend sudo chmod 4755/var/www/rfoutlet /odesend

cd laidaiPi

./ statyti

Dabar atidarykite „Raspberry Pi“failų naršyklę ir turėtumėte pamatyti aplanką „pi-home-automation“. Dukart spustelėkite jį ir turėtumėte pamatyti failą pavadinimu RFControl.py. Nukopijuokite (priešingai spustelėkite ir pasirinkite „Kopijuoti“), tada grįžkite į pi aplanką ir įklijuokite jį ten.

Išjunkite savo aviečių pi (iš meniu arba paleisdami sudo išjungimą iš komandinės eilutės) ir atjunkite jį, kai žalia lemputė nustoja mirksėti.

5 žingsnis: grandinės kūrimas

Grandinės kūrimas
Grandinės kūrimas
Grandinės kūrimas
Grandinės kūrimas
Grandinės kūrimas
Grandinės kūrimas

Dabar atėjo laikas sukurti grandinę. Aš naudoju duonos lentą, bet jūs galite tai padaryti, kaip jums patinka.

Pirmiausia turime sukurti RF siųstuvo anteną. Šioje instrukcijų pamokoje pasakojama, kaip padaryti RF siųstuvo anteną. Vykdykite instrukcijas, tada lituokite jį prie siųstuvo antenos kaiščio (ant mano naudojamo jis buvo pažymėtas ANT) trumpesne puse, arčiausiai siųstuvo

Sujunkite siųstuvą

Siųstuvas naudoja šiuos kaiščius:

DUOMENYS: GPIO 17, fizinis kaištis 11

VCC: Raspberry Pi 5v, fizinis kaištis 2

GND: Raspberry Pi GND, fizinis kaištis 6

Prijunkite imtuvą

Imtuvas naudoja šiuos kaiščius:

GND: Raspberry Pi GND, fizinis kaištis 9

VCC: Raspberry Pi 5v, fizinis kaištis 4

DUOMENYS: GPIO 27, fizinis kaištis 13 (naudojamame imtuve yra du duomenų kaiščiai, o aš naudoju tą, kuris yra arčiausiai VCC)

6 žingsnis: Gaukite RF kodus

Gaukite savo RF kodus
Gaukite savo RF kodus

Po to, kai grandinė prijungta prie „Raspberry Pi“, du kartus patikrinkite, ar viskas gerai, ir vėl įjunkite. Kai jis įjungiamas, atidarykite terminalą ir įveskite

sudo/var/www/rfoutlet/RFSniffer

Tada atidarykite „RFControl“programą. Kitame žingsnyje gali būti naudinga uždėti terminalo langą ir programos langą.

Dabar jums reikės nuotolinio valdymo pulto, kuris buvo įtrauktas į lizdo rinkinį. Laikykite jį arti imtuvo ir paspauskite kiekvieną mygtuką. Kai paspausite mygtuką, ekrane pamatysite du skaičius. Vienas iš jų bus šešių ar septynių skaitmenų kodas, o kitas - 3 skaitmenų kodas. Programoje turėsite redaguoti kodų žodyną. Įveskite 7 skaitmenų kodą į atitinkamą jungiklio vietą programoje ir kiekvienam įjungimo/išjungimo mygtukui įveskite 3 skaitmenų kodą (tai yra ilgis) į atitinkamą programos jungiklio len.

Pavyzdžiui, jei 1 įjungimo kodas yra 1234567, išjungimo kodas - 7654321 ir ilgis 890, kodas atrodytų taip:

kodai = {

'switch1': {'on': 1234567, #Tai yra 1 jungiklis įjungtas 'išjungtas': 7654321, #tai yra 1 jungiklis išjungtas 'len': 890, #tai yra 1 kodo ilgio jungiklis}, 'switch2': {… },…}

Pakartokite tai kiekvienam mygtukui. Redaguodami šį failą, pakeiskite eilutes, kuriose sakoma „YOUR-SUB-KEY“, į „PubNub“prenumeratos raktą, o „YOUR-PUB-KEY“-į paskelbimo raktą.

Įrašę kiekvieną mygtuką, galite pereiti prie kito skyriaus.

7 žingsnis: paleiskite programą

Programos vykdymas
Programos vykdymas

Dabar, kai turite visus savo kodus, eikite į šį „GitHub“puslapį (savo kompiuteryje, o ne raspberry pi) ir spustelėkite žalią mygtuką „Klonuoti arba atsisiųsti“, tada spustelėkite „Atsisiųsti ZIP“. Atsisiuntę šį failą, išpakuokite jį ir atidarykite aplanką. Atidarykite failą pavadinimu main.js. Programoje turėsite įvesti savo prenumeratos ir paskelbimo raktus, pakeisdami „YOUR-PUB-KEY“savo paskelbimo raktu ir „YOUR-SUB-KEY“savo prenumeratos raktu.

Tada grįžkite į savo Raspberry Pi ir įveskite

python3 RFControl.py

Kai atspausdins „Ready“, grįžkite į savo kompiuterį ir žiniatinklio naršyklėje atidarykite failą index.html priešingai spustelėdami, pasirinkite „Open with“ir pasirinkite pageidaujamą naršyklę. Turėtumėte pamatyti 2 stulpelius po 5 mygtukus su jungiklių pavadinimais. Paspauskite bet kurį mygtuką. Jei jis teisingai valdo lizdą, puiku! Jei ne, štai ką reikia išbandyti:

  1. Įsitikinkite, kad „Raspberry Pi“gauna pranešimus. Jis turėtų spausdinti ekrane, kai tik gauna pranešimą iš tinklalapio. Jei ne, įsitikinkite, kad jūsų prenumeratos/paskelbimo raktai yra teisingi.
  2. Jei „Raspberry Pi“gauna pranešimus, įsitikinkite, kad jūsų RF kodai yra teisingi. Įsitikinkite, kad jūsų lizdai yra suporuoti su nuotolinio valdymo pultu, nuotolinio valdymo pultas gali juos valdyti ir kad į programą įvesti kodai yra teisingi.
  3. Jei RF kodai yra teisingi, įsitikinkite, kad „Raspberry Pi“yra prekybos vietų diapazone. Jei jie pradeda veikti po to, kai jie yra arčiau, gali tekti iš naujo padaryti anteną.
  4. Jei jie vis tiek neveikia, pasakykite man savo problemą komentaruose ir aš pasistengsiu padėti.

8 veiksmas: paleiskite paleidžiant

Jei norite, kad jūsų „python“programa būtų paleista paleidžiant, įveskite tai į savo aviečių pi terminalą:

crontab -e

Tada eikite į failo apačią ir įveskite:

@iš naujo paleiskite python3 /home/pi/RFControl.py &

Taip jūsų „Python“scenarijus bus paleistas kiekvieną kartą paleidžiant. Dabar iš naujo paleiskite „Raspberry Pi“.

9 veiksmas: pridėkite daugiau jungiklių

Pridedama daugiau jungiklių
Pridedama daugiau jungiklių

Jei norite pridėti daugiau pardavimo vietų, vykdykite šias instrukcijas:

„Raspberry Pi“atidarykite „RFControl.py“ir pridėkite naują jungiklį prie jungiklių žodyno.

Pavyzdys:

jungikliai = {

… Kiti jungikliai… „NAME-OF-SWITCH“: {„įjungta“: xxxxxxx, „išjungta“: yyyyyyy, „len“: zzz,},}

Tada pridėkite naują mygtuką savo žiniatinklio programoje, redaguodami „main.js“kintamąjį kompiuteryje.

Pavyzdys:

var jungikliai = [… Seni jungikliai… ['NAME-TO-DISPLAY', 'NAME-OF-SWITCH'],];

Pakeiskite „NAME-TO-DISPLAY“pavadinimu, kurį norite, kad jis būtų rodomas tinklalapyje, ir „NAME-OF-SWITCH“abiejuose failuose bet kuo, kas jums patinka. Tačiau jis turi būti unikalus nuo kitų!

10 veiksmas: toliau

Toliau
Toliau

„PubNub“palaikomas daugelyje skirtingų platformų, o tai reiškia, kad galite siųsti pranešimus iš beveik bet kurio įrenginio! Naudodavau „Raspberry Pi AIY Voice“rinkinį ir „PubNub“komandoms balsu siųsti, tačiau tai gali būti vėlesnio „Instructable“tema. Dėkojame, kad perskaitėte mano instrukciją, tikiuosi, kad ji buvo naudinga!

11 žingsnis: kreditai

Ačiū Timui Lelandui už pamoką, kaip nustatyti RF siųstuvą: pamoka

Ačiū diy_bloke už pamoką, kaip sukurti anteną: pamoka

Taip pat ačiū visiems kitiems, kurie internete paskelbė vadovėlius, kuriuos peržiūrėjau, kad padėtų!

Rekomenduojamas: