Kazalo:

Poceni in učinkovita avtomatizacija doma z Raspberry Pi: 11 korakov (s slikami)
Poceni in učinkovita avtomatizacija doma z Raspberry Pi: 11 korakov (s slikami)

Video: Poceni in učinkovita avtomatizacija doma z Raspberry Pi: 11 korakov (s slikami)

Video: Poceni in učinkovita avtomatizacija doma z Raspberry Pi: 11 korakov (s slikami)
Video: Leap Motion SDK 2024, November
Anonim
Poceni in učinkovita avtomatizacija doma z Raspberry Pi
Poceni in učinkovita avtomatizacija doma z Raspberry Pi
Poceni in učinkovita avtomatizacija doma z Raspberry Pi
Poceni in učinkovita avtomatizacija doma z Raspberry Pi
Poceni in učinkovita avtomatizacija doma z Raspberry Pi
Poceni in učinkovita avtomatizacija doma z Raspberry Pi

Vedno sem si želel brezžično upravljanje luči, vendar so komercialne možnosti običajno drage. Luči Philips Hue stanejo okoli 70 USD, luči, povezane z WiFi, pa so tudi drage. Ta vadnica vam bo povedala, kako za okoli 50 USD nadzirate do pet luči/svetilk/pramenov božične svetlobe, razširiti pa jih lahko tudi na več luči.

Korak: Kaj boste potrebovali

Kaj boste potrebovali
Kaj boste potrebovali

Materiali:

Raspberry Pi Zero W (brezžična izdaja)

Kartica Micro SD (najmanj 4 GB)

Kabel/pretvornik Mini HDMI v HDMI (razlika je med mini in mikro, poskrbite za pravega!)

Kabel/pretvornik mikro USB v USB

USB tipkovnica

Opomba: Od Amazona sem dobil začetni komplet Raspberry Pi Zero W, ki je prišel z Raspberry Pi Zero W, kartico SD, ohišjem, napajalnim kablom, pretvornikom HDMI in pretvornikom USB. Za samo 30 USD je to zelo dobra možnost (povezava)

Uporabite lahko drugačen model Raspberry Pi, vendar mora imeti Raspberry Pi neko obliko internetne povezave, Pi Zero W pa je najcenejša možnost.

Oddaljene vtičnice - te sem uporabil

RF oddajnik in sprejemnik (Opomba: frekvenca oddajnika/sprejemnika se mora ujemati s frekvenco oddaljenih vtičnic) - uporabil sem te

Žica za anteno (uporabil sem 22 -palčno bakreno žico s polnim jedrom, druga žica lahko deluje)

Ogledna plošča, mostične žice, 40-polna glava moški-moški

Programska oprema:

Raspberry Pi OS (Prenesite namizje Raspbian)

Slikovni zapis Etcher (za zapisovanje operacijskega sistema Pi OS na kartico SD)

Orodja:

Spajkalnik

Računalnik za prenos Pi OS in Etcher

2. korak: Nastavite vtičnice

Nastavite vtičnice
Nastavite vtičnice
Nastavite vtičnice
Nastavite vtičnice

Začnite tako, da vtičnice priključite v vtičnico. Sledite priloženim navodilom, da jih nastavite, in priključite luči/gospodinjske aparate. Prepričajte se, da je daljinski upravljalnik pravilno seznanjen in da nadzoruje vtičnice.

3. korak: Nastavite račun PubNub

PubNub je brezplačen internetni strežnik, ki omogoča komunikacijo med napravami kjer koli na svetu. Skript python sprejema sporočila s spletne strani in uporablja informacije v sporočilu za vklop ali izklop luči. Za brezplačen račun se lahko prijavite tukaj. Ko se prijavite, se prijavite v svoj račun. To vas bo pripeljalo na stran za upravljanje aplikacij. Kliknite "Ustvari novo aplikacijo". Dajte aplikaciji ime, nato pa jo izberite s seznama aplikacij (če je to vaša prva aplikacija, bo edina) To vas bo pripeljalo na stran s ključi aplikacije. Kliknite na "Demo Keyset" in prikazali bi se tri različne tipke. Držite to stran gor, te ključe boste potrebovali kasneje. Zdaj, ko imate svoj račun za PubNub, lahko nastavite svoj malinov pi.

4. korak: Pripravite Raspberry Pi

Prenesite Etcher in Raspberry Pi OS v svoj računalnik (povezave na seznamu delov)

Namestite Etcher v računalnik in razpakirajte (če je potrebno) Raspberry Pi OS. Vstavite kartico Micro SD v računalnik in odprite Etcher. Kliknite »Izberi sliko« in se pomaknite do razpakirane datoteke OS Raspberry Pi. Izberite ga, nato kliknite »Izberi pogon« in na seznamu izberite kartico mikro SD. Kliknite "Flash" in počakajte, da se Etcher dokonča. Ko je Etcher končan, odstranite kartico SD iz računalnika (Etcher jo samodejno izvrže) in jo vstavite v svoj Raspberry Pi. Na tej točki boste morali svoj Raspberry Pi povezati z monitorjem s pretvornikom HDMI. Priključite tipkovnico (in miško, če imate zvezdišče z več USB) in priključite napajalni kabel. Na voljo sta dva vhoda za mikro USB. Ena je za napajanje, druga pa so dejanska vrata USB. Tisti, ki je najbližje koncu Pi, je napajanje, medtem ko je bližje sredini USB. Vaš malinov pi se bo zdaj začel zaganjati. Med prvim zagonom se lahko nekajkrat znova zažene, vendar je to normalno. Ko se vaš malinov pi zažene, ga povežite z WiFi. Ko ga povežete z WiFi, lahko uporabite strežnik SSH, vendar za zdaj lažje uporabljam grafični vmesnik. Odprite terminalsko okno in vnesite te ukaze:

sudo pip3 install 'pubnub == 3.9.0'

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

klon sudo git

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

ožičenje cdPi

./ zgraditi

Zdaj odprite brskalnik datotek Raspberry Pi in videli boste mapo pi-home-automation. Dvakrat kliknite nanjo in prikazala bi se datoteka z imenom RFControl.py. Kopirajte (nasprotni klik in izberite "Kopiraj"), nato se vrnite v mapo pi in jo prilepite tja.

Izklopite svoj malinov pi (bodisi v meniju bodisi z zagonom sudo poweroff iz ukazne vrstice) in ga izključite, ko zelena lučka preneha utripati.

5. korak: Ustvarjanje vezja

Ustvarjanje vezja
Ustvarjanje vezja
Ustvarjanje vezja
Ustvarjanje vezja
Ustvarjanje vezja
Ustvarjanje vezja

Zdaj je čas za ustvarjanje vezja. Uporabil sem mizo, vendar lahko to storite, kot želite.

Najprej moramo ustvariti anteno za RF oddajnik. Ta vadnica z navodili pove, kako narediti anteno za RF oddajnik. Sledite navodilom, nato ga spajkajte na antenski zatič oddajnika (na tistem, ki sem ga uporabil, je imel oznako ANT) s krajšo stranjo, ki je najbližja oddajniku

Povežite oddajnik

Oddajnik uporablja te zatiče:

PODATKI: GPIO 17, fizični pin 11

VCC: Raspberry Pi 5v, fizični pin 2

GND: Raspberry Pi GND, fizični pin 6

Ožičite sprejemnik

Sprejemnik uporablja te zatiče:

GND: Raspberry Pi GND, fizični pin 9

VCC: Raspberry Pi 5v, fizični pin 4

PODATKI: GPIO 27, fizični pin 13 (na sprejemniku, ki sem ga uporabil, sta dva podatkovna zatiča, jaz pa sem uporabil tistega, ki je najbližji VCC)

6. korak: Pridobite svoje RF kode

Pridobite svoje RF kode
Pridobite svoje RF kode

Ko je vezje priključeno na vaš Raspberry Pi, ga dvakrat preverite in se prepričajte, da je na svojem mestu, nato pa ga znova vklopite. Ko je vklopljen, odprite terminal in vnesite

sudo/var/www/rfoutlet/RFSniffer

Nato odprite program RFControl. Če okno terminala in okno programa postavite drug ob drugega, je lahko v pomoč v naslednjem koraku.

Potrebovali boste daljinec, ki je zdaj vključen v vtičnico. Držite ga blizu sprejemnika in pritisnite vsak posamezen gumb. Ko pritisnete gumb, boste na zaslonu natisnili dve številki. Ena izmed njih bo šest- ali sedemmestna, druga pa 3 -mestna. V programu boste morali urediti slovar kod. Vnesite 7-mestno kodo na mesto ustreznega stikala v programu in za vsak gumb za vklop/izklop vnesite 3-mestno kodo (to je dolžina) v dolžino ustreznega stikala v programu.

Če ima na primer vklop 1 kodo 1234567, kodo za izklop 7654321 in dolžino 890, bi bila koda videti tako:

kode = {

'switch1': {'on': 1234567, #To je stikalo 1 vklopljeno 'off': 7654321, #to je stikalo 1 off 'len': 890, #to je stikalo 1 dolžine kode}, 'switch2': {… },…}

To ponovite za vsak gumb. Med urejanjem te datoteke spremenite nize, ki pravijo "YOUR-SUB-KEY", v naročniški ključ PubNub in "YOUR-PUB-KEY" v svoj ključ za objavo.

Ko je vsak gumb posnet, lahko nadaljujete na naslednji razdelek.

7. korak: Zaženite program

Izvajanje programa
Izvajanje programa

Zdaj, ko imate vse svoje kode, pojdite na to stran GitHub (v računalniku, ne v obliki maline pi) in kliknite na zeleni gumb z napisom »Kloniraj ali prenesite«, nato kliknite »Prenesi ZIP«. Ko prenesete to datoteko, jo razpakirajte in odprite mapo. Odprite datoteko z imenom main.js. V program boste morali vnesti svoje naročniške in objavljene ključe, tako da "YOUR-PUB-KEY" zamenjate s ključem za objavo, "YOUR-SUB-KEY" pa s ključem za naročnino.

Nato se vrnite na svoj Raspberry Pi in vnesite

python3 RFControl.py

Ko natisne »Pripravljeno«, se vrnite v računalnik in odprite datoteko index.html v spletnem brskalniku z nasprotnim klikom, izberite »Odpri z« in izberite želeni brskalnik. Videti bi morali 2 stolpca po 5 gumbov z imeni stikal med njimi. Pritisnite kateri koli gumb. Če pravilno upravlja vtičnico, super! Če ne, poskusite nekaj stvari:

  1. Prepričajte se, da Raspberry Pi prejema sporočila. Natisniti mora na zaslon, kadar prejme sporočilo s spletne strani. Če ne, se prepričajte, da so ključi za naročanje/objavo pravilni.
  2. Če Raspberry Pi prejema sporočila, se prepričajte, da so vaše RF kode pravilne. Prepričajte se, da so vaše vtičnice seznanjene z daljinskim upravljalnikom, da jih daljinski upravljalnik in da so kode, ki ste jih vnesli v program, pravilne.
  3. Če so RF kode pravilne, se prepričajte, da je vaš Raspberry Pi v dosegu prodajnih mest. Če začnejo delovati, potem ko ste ga približali, boste morda morali znova narediti anteno.
  4. Če še vedno ne delujejo, mi v komentarjih povejte svojo težavo in poskusil bom pomagati pri tem.

8. korak: Zaženi ob zagonu

Če želite, da se vaš program python zažene ob zagonu, vnesite to v svoj malinov pi terminal:

crontab -e

Nato pojdite na dno datoteke in vnesite to:

@reboot python3 /home/pi/RFControl.py &

Tako bo vaš skript Python vsakič zagnan ob zagonu. Zdaj znova zaženite Raspberry Pi.

9. korak: Dodajte več stikal

Dodajanje več stikal
Dodajanje več stikal

Če želite dodati več prodajnih mest, sledite tem navodilom:

Odprite RFControl.py na vašem Raspberry Pi in v slovar stikal dodajte novo stikalo.

Primer:

stikala = {

… druga stikala … 'NAME-OF-SWITCH': {'on': xxxxxxx, 'off': yyyyyyy, 'len': zzz,},}

Nato v spletni aplikaciji dodajte nov gumb, tako da spremenite spremenljivko stikal v main.js v računalniku.

Primer:

stikala var = [… stara stikala … ['NAME-TO-DISPLAY', 'NAME-OF-SWITCH'],];

Namesto možnosti NAME-TO-DISPLAY zamenjajte ime, ki bi ga radi prikazali na spletni strani, in NAME-OF-SWITCH v obeh datotekah z vsem, kar želite. Vendar mora biti edinstven od drugih!

10. korak: Nadaljevanje

Nadaljevanje
Nadaljevanje

PubNub je podprt na številnih različnih platformah, kar pomeni, da lahko pošiljate sporočila iz skoraj vseh naprav! Za pošiljanje ukazov z glasom sem uporabil Raspberry Pi AIY Voice kit in PubNub, vendar je to morda tema kasnejšega Instructable. Hvala, ker ste prebrali moj Instructable, upam, da je bil v pomoč!

11. korak: Krediti

Hvala Timu Lelandu za vadnico o nastavitvi RF oddajnika: vadnica

Hvala diy_bloke za vadnico o ustvarjanju antene: tutorial

Hvala tudi vsem ostalim, ki so na spletu objavili vaje, ki sem jih ogledal za pomoč!

Priporočena: