Cuprins:

Automatizare la domiciliu ieftină și eficientă cu Raspberry Pi: 11 pași (cu imagini)
Automatizare la domiciliu ieftină și eficientă cu Raspberry Pi: 11 pași (cu imagini)

Video: Automatizare la domiciliu ieftină și eficientă cu Raspberry Pi: 11 pași (cu imagini)

Video: Automatizare la domiciliu ieftină și eficientă cu Raspberry Pi: 11 pași (cu imagini)
Video: Cum sa treci la cel mai ieftin curent in doar 5 minute! Portare la Hidroelectrica 2024, Noiembrie
Anonim
Automatizare la domiciliu ieftină și eficientă cu Raspberry Pi
Automatizare la domiciliu ieftină și eficientă cu Raspberry Pi
Automatizare la domiciliu ieftină și eficientă cu Raspberry Pi
Automatizare la domiciliu ieftină și eficientă cu Raspberry Pi
Automatizare la domiciliu ieftină și eficientă cu Raspberry Pi
Automatizare la domiciliu ieftină și eficientă cu Raspberry Pi

Întotdeauna mi-am dorit să pot controla luminile fără fir, dar opțiunile comerciale sunt de obicei scumpe. Luminile Philips Hue costă în jur de 70 USD, iar lămpile conectate WiFi sunt scumpe și ele. Acest tutorial vă va spune cum să controlați până la cinci lumini / lămpi / fire de lumină de Crăciun pentru aproximativ 50 USD și poate fi extins pentru a include și mai multe lumini.

Pasul 1: De ce veți avea nevoie

Ce vei avea nevoie
Ce vei avea nevoie

Materiale:

Raspberry Pi Zero W (ediție fără fir)

Card micro SD (cel puțin 4 GB)

Cablu / convertor Mini HDMI la HDMI (Există o diferență între mini și micro, asigurați-vă că obțineți cel corect!)

Cablu / convertor Micro USB la USB

Tastatură USB

Notă: Am primit un kit de pornire Raspberry Pi Zero W de la Amazon care a venit cu Raspberry Pi Zero W, card SD, carcasă, cablu de alimentare, convertor HDMI și convertor USB. Pentru doar 30 USD, este o opțiune destul de bună (link)

Puteți utiliza un alt model de Raspberry Pi, dar Raspberry Pi trebuie să aibă o formă de conexiune la internet, iar Pi Zero W este cea mai ieftină opțiune.

Prize de la distanță - le-am folosit

Transmițător și receptor RF (Notă: frecvența emițătorului / receptorului trebuie să se potrivească cu frecvența prizelor de la distanță) - le-am folosit

Sârmă pentru antenă (am folosit sârmă de cupru cu miez solid de calibru 22, alte sârme pot funcționa)

Placă de pâine, fire jumper, antet de la tată la tată 40 pini

Software:

Raspberry Pi OS (Descărcați Raspbian Desktop)

Imcher disc Etcher (Pentru scrierea sistemului de operare Pi pe cardul SD)

Instrumente:

Ciocan de lipit

Computer pentru descărcarea Pi OS și Etcher

Pasul 2: Configurați prizele

Configurați prizele
Configurați prizele
Configurați prizele
Configurați prizele

Începeți prin conectarea prizelor la o priză. Urmați instrucțiunile incluse pentru a le configura și conectați-vă luminile / aparatele. Asigurați-vă că telecomanda este asociată corect și controlează prizele.

Pasul 3: Configurați un cont PubNub

PubNub este un server de internet gratuit care vă permite să comunicați între dispozitive, oriunde în lume. Scriptul python primește mesaje de pe o pagină web și folosește informațiile din mesaj pentru a aprinde sau a stinge luminile. Vă puteți înscrie aici pentru contul gratuit. După ce v-ați înscris, conectați-vă la contul dvs. Aceasta vă va duce la o pagină de gestionare a aplicației. Faceți clic pe „Creați o aplicație nouă”. Dă-ți un nume aplicației, apoi selectează-l din lista de aplicații (Dacă aceasta este prima ta aplicație, aceasta va fi singura) Aceasta te va duce la pagina tastelor aplicației. Faceți clic pe „Demo Keyset” și ar trebui să vedeți trei taste diferite. Păstrați această pagină sus, veți avea nevoie de aceste taste mai târziu. Acum că aveți contul dvs. PubNub, vă puteți configura raspberry pi.

Pasul 4: Pregătiți Raspberry Pi

Descărcați Etcher și sistemul de operare Raspberry Pi pe computer (link-uri din lista de piese)

Instalați Etcher pe computer și dezarhivați (dacă este necesar) sistemul de operare Raspberry Pi. Introduceți cardul Micro SD în computer și deschideți Etcher. Faceți clic pe „Selectați imaginea” și navigați la fișierul Raspberry Pi OS dezarhivat. Selectați-l, apoi faceți clic pe „Selectare unitate” și selectați cardul micro SD din listă. Faceți clic pe „Flash” și așteptați finalizarea Etcher. După finalizarea Etcher, scoateți cardul SD de pe computer (Etcher îl scoate automat) și introduceți-l în Raspberry Pi. În acest moment, va trebui să vă conectați Raspberry Pi la un monitor cu convertorul HDMI. Conectați o tastatură (și mouse-ul dacă aveți un hub multi-USB) și conectați cablul de alimentare. Există două porturi micro USB. Una este pentru alimentare, cealaltă este un port USB real. Cea mai apropiată de sfârșitul Pi este puterea, în timp ce cea mai apropiată de mijloc este USB. Raspberry pi dvs. va începe acum să pornească. Poate reporni de câteva ori în timpul primei porniri, dar acest lucru este normal. După ce ați început raspberry pi, conectați-l la WiFi. După conectarea la WiFi, este posibil să utilizați un server SSH, dar mi se pare mai ușor să folosiți GUI pentru moment. Deschideți o fereastră de terminal și introduceți aceste comenzi:

sudo pip3 instalați „pubnub == 3.9.0”

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

clona sudo git https://github.com/timleland/rfoutlet.git / var / www / rfoutlet

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

cablare cdPi

./construi

Acum, deschideți browserul de fișiere Raspberry Pi și ar trebui să vedeți folderul pi-home-automatizare. Faceți dublu clic pe el și ar trebui să vedeți un fișier numit RFControl.py. Copiați-l (faceți clic opus și selectați „Copiere”), apoi reveniți la folderul pi și lipiți-l acolo.

Închideți raspberry pi (Fie din meniu sau executând sudo poweroff din linia de comandă) și deconectați-l odată ce lumina verde nu mai clipește.

Pasul 5: Crearea circuitului

Crearea circuitului
Crearea circuitului
Crearea circuitului
Crearea circuitului
Crearea circuitului
Crearea circuitului

Acum este timpul să creăm circuitul. Am folosit un panou, dar îl puteți face oricum doriți.

În primul rând, trebuie să creăm o antenă pentru transmițătorul RF. Acest tutorial instructabil spune cum să faci o antenă pentru un transmițător RF. Urmați instrucțiunile, apoi lipiți-l pe pinul antenei emițătorului (pe cel pe care l-am folosit era etichetat ANT) cu partea mai scurtă cea mai apropiată de transmițător

Conectați transmițătorul

Transmițătorul folosește acești pini:

DATE: GPIO 17, pin fizic 11

VCC: Raspberry Pi 5v, pinul fizic 2

GND: Raspberry Pi GND, pinul fizic 6

Sârmă receptorul

Receptorul folosește acești pini:

GND: Raspberry Pi GND, pinul fizic 9

VCC: Raspberry Pi 5v, pin fizic 4

DATE: GPIO 27, pin fizic 13 (Există două pini de date pe receptorul pe care l-am folosit și l-am folosit pe cel mai apropiat de VCC)

Pasul 6: obțineți codurile RF

Obțineți codurile RF
Obțineți codurile RF

După ce circuitul dvs. este atașat la Raspberry Pi, verificați-l de două ori pentru a vă asigura că totul este la locul său și apoi porniți-l din nou. Odată pornit, deschideți un terminal și tastați

sudo / var / www / rfoutlet / RFSniffer

Apoi, deschideți programul RFControl. Punerea ferestrei terminalului și a ferestrei programului una lângă alta poate fi utilă în pasul următor.

Veți avea nevoie de telecomanda care a fost inclusă în setul de priză acum. Țineți-l aproape de receptor și apăsați fiecare buton individual. Când apăsați un buton, veți vedea două numere imprimate pe ecran. Una dintre ele va fi un cod de șase sau șapte cifre, iar cealaltă un cod de 3 cifre. Va trebui să editați dicționarul de coduri din program. Introduceți codul de 7 cifre în locul comutatorului corespunzător din program și, pentru fiecare buton de pornire / oprire, introduceți codul din 3 cifre (aceasta este lungimea) în lenea comutatorului corespunzător din program.

De exemplu, dacă comutatorul 1 activat are un cod 1234567, un cod oprit 7654321 și o lungime 890, codul ar arăta astfel:

coduri = {

'switch1': {'on': 1234567, # This is switch 1 on 'off': 7654321, #this is switch 1 off 'len': 890, #this is switch 1 code length}, 'switch2': {… }, …}

Repetați acest lucru pentru fiecare buton. În timp ce editați acest fișier, schimbați șirurile care spun „CHEEA-SUB-CHEIE” la cheia de abonare PubNub și „CHEEA-PUB-CHEIE” la cheia de publicare.

Odată ce fiecare buton a fost înregistrat, puteți continua cu secțiunea următoare.

Pasul 7: Rularea programului

Rularea programului
Rularea programului

Acum că aveți toate codurile, accesați această pagină GitHub (pe computer, nu raspberry pi) și faceți clic pe butonul verde care spune „Clonați sau descărcați”, apoi faceți clic pe „Descărcați ZIP”. Odată ce acest fișier este descărcat, dezarhivați-l și deschideți folderul. Deschideți fișierul numit main.js. Va trebui să introduceți cheile de abonare și să publicați cheile în program, înlocuind „CHEVA-PUB-CHEIE” cu cheia de publicare și „CHEEA-SUB-CHEIE” cu cheia de abonare.

Apoi, reveniți la Raspberry Pi și intrați

python3 RFControl.py

După ce imprimă „Ready”, reveniți la computer și deschideți fișierul index.html într-un browser web făcând un clic opus, selectați „Open with” și selectați browserul preferat. Ar trebui să vedeți 2 coloane de 5 butoane, cu numele comutatoarelor dintre ele. Apăsați oricare dintre butoane. Dacă controlează corect soclul, grozav! Dacă nu, iată câteva lucruri de încercat:

  1. Asigurați-vă că Raspberry Pi primește mesaje. Ar trebui să imprime pe ecran ori de câte ori primește un mesaj de pe pagina web. Dacă nu, asigurați-vă că cheile de abonare / publicare sunt corecte.
  2. Dacă Raspberry Pi primește mesaje, asigurați-vă că codurile RF sunt corecte. Asigurați-vă că prizele dvs. sunt asociate cu telecomanda, telecomanda le poate controla și că codurile pe care le-ați introdus în program sunt corecte.
  3. Dacă codurile RF sunt corecte, asigurați-vă că Raspberry Pi se află în raza de desfacere. Dacă încep să funcționeze după ce au apropiat-o, poate fi necesar să vă refaceți antena.
  4. Dacă încă nu funcționează, vă rog să-mi spuneți problema dvs. în comentarii și voi încerca să vă ajut.

Pasul 8: Rularea la pornire

Pentru ca programul dvs. Python să ruleze la pornire, introduceți acest lucru în terminalul dvs. raspberry pi:

crontab -e

Apoi, accesați partea de jos a fișierului și introduceți acest lucru:

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

Acest lucru va face ca scriptul dvs. Python să ruleze de fiecare dată la pornire. Acum reporniți Raspberry Pi.

Pasul 9: Adăugarea mai multor comutatoare

Adăugarea mai multor comutatoare
Adăugarea mai multor comutatoare

Dacă doriți să adăugați mai multe puncte de vânzare, urmați aceste instrucțiuni:

Deschideți RFControl.py pe Raspberry Pi și adăugați un nou comutator la dicționarul de comutatoare.

Exemplu:

comutatoare = {

… alte comutatoare … 'NAME-OF-SWITCH': {'on': xxxxxxx, 'off': aaaaaaaa, 'len': zzz,},}

Apoi, adăugați un buton nou în aplicația dvs. web editând variabila switch-uri din main.js de pe computer.

Exemplu:

var switch = [… comutatoare vechi … [„NAME-TO-DISPLAY”, „NAME-OF-SWITCH”],];

Înlocuiți NAME-TO-DISPLAY cu numele pe care doriți să-l afișeze pe pagina web și NAME-OF-SWITCH pe ambele fișiere cu orice doriți. Totuși, trebuie să fie unic față de ceilalți!

Pasul 10: Să-l ducem mai departe

Luând-o mai departe
Luând-o mai departe

PubNub este acceptat pe multe platforme diferite, ceea ce înseamnă că puteți trimite mesaje de pe aproape orice dispozitiv! Am folosit un kit Raspberry Pi AIY Voice și PubNub pentru a trimite comenzi cu vocea mea, dar acesta poate fi subiectul unui Instructable ulterior. Vă mulțumesc că mi-ați citit instructabilul, sper că a fost de ajutor!

Pasul 11: Credite

Mulțumim lui Tim Leland pentru tutorialul de configurare a transmițătorului RF: tutorial

Mulțumim lui diy_bloke pentru tutorialul cu privire la crearea unei antene: tutorial

Mulțumesc și celorlalți care au postat tutoriale online pe care le-am văzut pentru ajutor!

Recomandat: