Postavljanje Raspberry Pi kućne automatizacije

Set Up Raspberry Pi Home Automation



Jedna od najvažnijih stvari za kućnu automatizaciju je upravljanje visokonaponskim izmjeničnim naponom pomoću istosmjernog istosmjernog napona. Za upravljanje visokonaponskim AC -om iz Raspberry Pi -a trebat će vam relejni prekidač od 5V. Relejnim prekidačem možete upravljati pomoću GPIO pinova Raspberry Pi. Relejni prekidač tada može kontrolirati AC kućanske aparate putem Raspberry Pi.

Ovaj članak će vam pokazati kako koristiti Raspberry Pi i relejni prekidač 5V za uključivanje i isključivanje žarulje s mobilnog uređaja. Članak uključuje web -aplikaciju kojoj možete pristupiti sa bilo kojeg uređaja na mreži i bežično kontrolirati sve kućanske aparate na izmjeničnu struju u vašem domu. Dakle, krenimo s našim jednostavnim eksperimentom kućne automatizacije Raspberry Pi.







Stvari koje će vam trebati

Ako želite koristiti Raspberry Pi bez glave (putem SSH -a ili VNC -a), trebat će vam sljedeće:



1) Raspberry Pi 3 ili Raspberry Pi 4.
2) Relejni prekidač 5V.
3) Električne žice.
4) 3 žice za spajanje žena-žena.
5) AC žarulja.
6) Nosač AC žarulje.
7) AC utikač.
8) Alat za sečenje i skidanje žice.
9) Odvijač CR-V 3.
10) Micro-USB (Raspberry Pi 3) ili USB Type-C (Raspberry Pi 4) adapter za napajanje.
11) MicroSD kartica od 16 GB ili 32 GB s Raspberry Pi OS je bljeskala.
12) Mrežno povezivanje na Raspberry Pi.
13) Prijenosno ili stolno računalo za VNC pristup udaljenoj radnoj površini ili SSH pristup Raspberry Pi.



Ako ne želite daljinski pristupiti Raspberry Pi -u putem SSH -a ili VNC -a, trebat će vam i sljedeće:





14) Monitor.
15) HDMI ili mikro-HDMI kabel.
16) Tipkovnica.
17) Miš.

Ako vam je potrebna pomoć pri prelasku slike Raspberry Pi OS na microSD karticu, pogledajte članak Kako instalirati i koristiti Raspberry Pi Imager.



Ako ste početnik u Raspberry Pi -u i potrebna vam je pomoć pri instaliranju Raspberry Pi OS -a na Raspberry Pi, pogledajte članak Kako instalirati Raspberry Pi OS na Raspberry Pi 4.

Također, ako vam je potrebna pomoć oko bezglavog postavljanja Raspberry Pi, pogledajte članak Kako instalirati i konfigurirati Raspberry Pi OS na Raspberry Pi 4 bez vanjskog monitora.

Slike svih potrebnih alata date su u nastavku.

Uključuje Raspberry Pi

Zatim spojite kabel za napajanje na Raspberry Pi i uključite Raspberry Pi.

Nakon što se Raspberry Pi uključi, možete se povezati s Raspberry Pi putem VNC -a ili SSH -a. Ili možete povezati tipkovnicu, miš i monitor s Raspberry Pi da biste im izravno pristupili.

Izlazi releja 5V

Relej je u osnovi prekidač. No, za razliku od tradicionalnog prekidača, relej se može kontrolirati pomoću male količine istosmjernog napona.

5V relej je vrlo jednostavan za korištenje. Ima dvije strane: jedna strana služi za upravljanje relejem putem niskonaponskog istosmjernog napona (iz Raspberry Pi), a druga strana za upravljanje visokonaponskim izmjeničnim naponom (tj. Žaruljom), ovisno o stanju releja .


Na jednoj strani relej ima dvije LED diode (jednu crvenu i jednu zelenu) i tri pina ( IN, GND, i VCC ). Ove tri pinove koriste se za upravljanje relejem iz Raspberry Pi.

Prva dva pina s druge strane služe za upravljanje kućanskim uređajem na izmjeničnu struju.

Spajanje 5V releja na Raspberry Pi

Za spajanje 5V releja na Raspberry Pi trebat će vam tri žice za spajanje žena-žena.

Priključite jednu stranu spojnih žica u utičnicu U (žuta žica), GND (crna žica), i VCC (crvena žica) pinovi u 5V releju, kao što je prikazano u nastavku.


Druga strana žica ide u pinove zaglavlja GPIO Raspberry Pi, kao što je prikazano na donjoj slici.

Crvena žica bi trebala ući u PIN 2 (VCC) od Raspberry Pi.
Crna žica bi trebala ući u PIN 6 (GND) od Raspberry Pi.
Žuta žica bi trebala ući u PIN 7 (GPIO 4) od Raspberry Pi.


Nakon što je relej 5V spojen na Raspberry Pi, trebao bi izgledati kao što je prikazano na donjoj slici.

Dopuštanje GPIO pristupa korisniku za prijavu

Kako bi se omogućio pristup GPIO pinovima, zadani korisnik za prijavu u Raspberry Pi OS pi treba dodati u gpio skupina.

Možete dodati pi korisnika do gpio grupirajte sa sljedećom naredbom:

$sudousermod-aGgpio $(tko sam ja)


Da bi promjene stupile na snagu, ponovno pokrenite Raspberry Pi sa sljedećom naredbom:

$sudoponovno podizanje sustava

Stvaranje direktorija projekta

Također je dobra ideja da sve projektne datoteke budu organizirane.

Da bi datoteke projekta bile organizirane, stvorite direktorij projekta ~/www i potrebne poddirektorije sa sljedećom naredbom:

$mkdir -pv~/www/{predlošci, statički}


Nakon stvaranja direktorija projekta idite do direktorija projekta na sljedeći način:

$CD~/www

Prebacivanje 5V releja s Raspberry Pi

Sada kada ste priključili relej 5V na Raspberry Pi, prebacit ćete relej s Raspberry Pi -a pomoću programskog jezika Python.

NAPOMENA: Prebacivanje je izraz koji se koristi u elektronici. Uključivanje znači upravljanje (tj. Uključivanje/isključivanje) određenog elektroničkog uređaja.

Da biste eksperimentirali s prebacivanjem releja pomoću programskog jezika Python, stvorite novu skriptu Python test.py u direktoriju projekta na sljedeći način:

$nanotest.py


Upišite sljedeće redove kodova u skriptu test.py Python.

izgpiozerouvozLED
iz vrijeme uvozspavati

dok Pravi:
relej=LED(4)
ispisati('Osloniti se na')
spavati(5)

relej.Zatvoriti()
ispisati('Relej: isključeno')
spavati(5)

Kada završite, pritisnite + X slijedi I i za spremanje test.py Python skripta.


Ovdje se uvozi prva linija LED od gpiozero knjižnica, a redak 2 uvozi spavati funkciju iz vrijeme knjižnica.


Linije 6-14 nalaze se unutar beskonačne petlje.


Redak 6 inicijalizira LED u GPIO 4 od Raspberry Pi, koji je povezan sa U pin releja.


Linija 8 uključuje relej pomoću na() metoda.

Redak 9 ispisuje poruku na konzoli pomoću ispis () funkcija.

Redak 10 odgađa izvršavanje sljedećeg retka koda na pet sekundi pomoću spavati() funkcija.


Linija 12 isključuje relej pomoću Zatvoriti() metoda.

Na isti način, redak 9 ispisuje poruku na konzoli pomoću ispis () funkcija i redak 10 odgađa izvršenje sljedećeg retka koda na 5 sekundi pomoću spavati() funkcija.


Zatim pokrenite test.py Python skripta na sljedeći način:

$python3 test.py


The test.py Python skripta bi trebala početi mijenjati 5V relej. Svakih pet sekundi trebali biste čuti zvuk klikanja. Kad relej prebaci stanje (iz uključenog u isključeno ili iz isključenog u uključeno stanje), stvara škljocanje. To znači da relej radi ispravno.


Kada je relej u isključenom stanju (normalan rad-AC napajanje je isključeno), samo neto LED bi trebao zasvijetliti, kao što možete vidjeti na donjoj slici.


Kada je relej u uključenom stanju (priključeno je AC opterećenje), oba zelena LED i the neto LED bi trebao zasvijetliti, kao što možete vidjeti na donjoj slici.


Nakon što je testiranje završeno, pritisnite + C prekinuti test.py skripta.

Priključivanje žarulje izmjenične struje na relej 5V

Relej 5V sada bi trebao ispravno funkcionirati. Sada ćete svoj kućanski aparat naizmjenične struje (u ovom slučaju žarulju) spojiti na 5V relej.

Prvo izrežite crnu električnu žicu povezanu sa žaruljom rezačem žice.


Nakon što je crna električna žica spojena na žarulju prerezana rezačem žice, trebala bi izgledati kao što je prikazano na donjoj slici.


Zatim skinite vanjski sloj kako biste izložili oko ½ inča električne žice, kao što je prikazano na donjoj slici.


Zatim preklopite izložene žice, kao što je prikazano na donjoj slici.


Otpustite označene vijke releja pomoću odvijača CV-3.


Umetnite izložene žice koje ste ranije skinuli i presavili u dva vijčana priključka i zategnite vijke odvijačem CV-3.

Testiranje prebacivanja releja nakon spajanja AC opterećenja

Nakon što je AC napajanje spojeno na 5V relej, priključite utikač žarulje u zidnu utičnicu.


Pokrenite test.py Python skripta iz direktorija projekta na sljedeći način:

$python3 test.py


The test.py Python skripta trebala bi početi s prebacivanjem 5V releja, što će zauzvrat mijenjati visokonaponsku AC žarulju u intervalima od pet sekundi. Žarulja izmjenične struje trebala bi ostati uključena pet sekundi, a zatim ostati isključena pet sekundi itd.

Žarulja je isključena na donjoj slici.


Žarulja je uključena na donjoj slici.


Kao što vidite, možemo prebaciti relej i upravljati visokonaponskom AC žaruljom pomoću programskog jezika Python. Dakle, pritisnite + C prekinuti test.py skripta.

Prijeđimo sada na sljedeći odjeljak.

Pisanje web aplikacije Home Automation

U ovom odjeljku pokazat ću vam kako napisati web-aplikaciju temeljenu na API-ju pomoću programskog jezika Python. Web -aplikaciju možete koristiti za upravljanje relejem i kućanskim aparatima naizmjenične struje ili električnim uređajima spojenim na relej iz web -preglednika.

BILJEŠKA: Svi kodovi prikazani u ovom odjeljku dostupni su u mom spremištu GitHub shovon8 / malina-pi-home-automatizacija . Ako želite, možete klonirati moje spremište GitHub i preskočiti sve kodove.

Stvorite server.py Python skriptu u direktoriju projekta na sljedeći način:

$nanoserver.py


Upišite sljedeće redove kodova u server.py Python skripta.

iztikvicauvozBoca,jsonify,url_for,render_template
izgpiozerouvozLED
izuuiduvozuuid4
sobe= {}
sobe['Soba 1'] = [{
'iskaznica': uuid4(),
'Ime':'Svjetlo 1',
'ikona':'fa fa-žarulja',
'status':Netočno,
'relejPin':4,
'relejInstance':Netočno
}, {
'iskaznica': uuid4(),
'Ime':'Ventilator 1',
'ikona':'fa fa-fan',
'status':Netočno,
'relejPin':6,
'relejInstance':Netočno
}]
sobe['Kupaonica 1'] = [{
'iskaznica': uuid4(),
'Ime':'Svjetlo 1',
'ikona':'fa fa-žarulja',
'status':Netočno,
'relejPin':5,
'relejInstance':Netočno
}]
app=Boca(__Ime__)
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
@app.rutu('/')
defDom():
povratakrender_template('./index.html',sobe=sobe)
deftoggle_appliance_status(iskaznica):
zasobausobe:
zaaparatomusobe[soba]:
ako str(aparatom['iskaznica']) == iskaznica:
akoaparatom['relejInstance']:
aparatom['relejInstance'].Zatvoriti()
aparatom['relejInstance'] = Netočno
drugo:
aparatom['relejInstance'] =LED(aparatom['relejPin'])
aparatom['relejInstance'].na()
aparatom['status'] = neaparatom['status']
povratak Pravi
povratak Netočno
@app.rutu('/device/toggle/')
defaparat_toggle(iskaznica):
povratakjsonify({'status': toggle_appliance_status(iskaznica)})

Kada završite, pritisnite + X slijedi I i za spremanje server.py Python skripta.


Ovdje retci 1-3 uvoze sve potrebne komponente iz svojih knjižnica.


Redak 5 stvara prazno sobe rječnik. U ovaj ćemo rječnik pohraniti sve pojedinosti o uređaju za izmjeničnu struju koje želimo kontrolirati iz web aplikacije.


The sobe detalji su pohranjeni u retcima 7-29.


Razgovarajmo o strukturi podataka jedne sobe.

Ovdje će naziv sobe biti Soba 1. Tako, Soba 1 je ključ za sobe rječnik.


The Soba 1 ključ drži niz kao vrijednost. Broj elemenata niza jednak je broju AC kućanskih aparata koje imate u toj prostoriji i koje također želite kontrolirati iz web aplikacije. U ovom slučaju imamo dva AC kućna aparata koja želimo kontrolirati: Svjetlo 1 i Ventilator 1 .


Svaka definicija kućanskih aparata ima iskaznica . The iskaznica je nasumično generirani UUID. Ovo se koristi za identifikaciju sobe koju želimo kontrolirati pomoću API -ja.

Kućanski aparat također ima sve sljedeće:

  • ime (Svjetlo 1 u ovom slučaju)
  • ikona (Klasa ikona Font Awesome, jer ćemo za ikone koristiti Font Awesome)
  • status (Istina ako na i Netočno ako isključeno )
  • relejPin (GPIO pin broj koji se koristi za upravljanje relejem spojenim na AC kućanski aparat)
  • relejInstance (inicijalizirano LED objekt od gpiozero knjižnica odgovorna za kontrolu odgovarajućeg GPIO pina - relejPin )


Redak 31 inicijalizira stakleni Python web poslužitelj.

Redak 32 konfigurira web poslužitelj tikvice.


Linije 34-36 šalju index.html datoteku iz predlošci/ direktorija kada posjetite web aplikaciju za kućnu automatizaciju.

Upotreba tikvica Jinja2 predložak jezika za iskazivanje index.html datoteka. Dakle, prošao sam sobe rječnik za index.html datoteka. Jinja2 će generirati početnu stranicu koristeći sobe podaci.


Funkcija toggle_appliance_status () u retcima 39-52 koristi se za uključivanje kućanskog aparata ako je isključen i isključivanje kućanskog aparata ako je uključen pomoću aparata iskaznica .

Vraća se Pravi ako je operacija prebacivanja uspješna. Ako dođe do pogreške, vratit će se Netočno .


Linije 55-57 koriste se za prebacivanje kućanskih aparata pomoću /aparat/prebaci/ API krajnja točka web poslužitelja. Ovdje, iskaznica je ID kućnog aparata.


Kreirajte index.html datoteku u predlošci/ direktorij vašeg projekta na sljedeći način:

$nanopredloške/index.html

Upišite sljedeće redove kodova u index.html skripta.


< html lang='na'>
< glava >
< meta charset='UTF-8'>
< meta Ime='okvir za prikaz' sadržaj='width = device-width, initial-scale = 1,0'>
< veza rel='stilska tablica' href='{{url_for (' static ', filename =' fontawesome/css/all.min.css ')}}'>
< veza rel='stilska tablica' href='{{url_for (' static ', filename =' style.css ')}}'>
< titula >Kućna automatizacija s Raspberry Pi</ titula >
</ glava >
< tijelo >
< div iskaznica='sadržaj'>
< h1 >Raspberry Pi Kućna automatizacija</ h1 >

{ % za sobu u sobama %}
< div razred='soba'>
< h2 >{{soba}}</ h2 >
< div razred='uređaji'>
{ % za aparat u sobama [soba] %}
< div razred='aparat' iskaznica='{{aparat [' id ']}}'> ='aktivan'>
< i razred='{{aparat [' ikona ']}}'></ i >
< raspon >{{aparat ['ime']}}</ raspon >
</ div >
{ % endfor %}
</ div >
</ div >
{ % endfor %}

</ div >

< skripta src='{{url_for (' static ', filename =' app.js ')}}' tip='tekst/javascript'></ skripta >
</ tijelo >
</ html >

Kada završite, pritisnite + X slijedi I i za spremanje index.html datoteka.


Stvoriti stil.css datoteku u statički/ direktorij vašeg projekta na sljedeći način:

$nanostatički/stil.css


Upišite sljedeće redove kodova u stil.css datoteka.

@uvoz url('https://fonts.googleapis.com/css2?family=BenchNine: [zaštićena e -pošta]; 400; 700 & display = swap');

* {
margina: 0;
punjenje: 0;
font-family: 'BenchNine', sans-serif;
}

#sadržaj >h1{
pozadini:linearno-gradijent(dopravo, rgb(112, 24, 163), rgb(86, 127, 240));
boja: #F F F;
poravnati tekst: centar;
punjenje: .5em 0;
}

div.soba {
margina: .5em;
granica: 2 piksela čvrsta rgb(112, 24, 163);
granica-radijus: 5 piksela;
}

div.sobah2{
/* pozadina: rgb (9, 76, 121); */
pozadini:linearno-gradijent(dopravo, rgb(112, 24, 163), rgb(86, 127, 240));
punjenje: 0 0 0 .5em;
boja: #F F F;
}

div.uređaji {
margina: .5em .5em 0 0;
prikaz:savijati;
flex-wrap:zamotati;
}

div.aparat {
granica: 2 piksela čvrsta rgb(112, 24, 163);
granica-radijus: 5 piksela;
širina: 110 piksela;
visina: 120 piksela;
poravnati tekst: centar;
margina: 0 0 .5em .5em;
prikaz:savijati;
flex-smjer:stupac;
}

div.aparati.fa {
veličina fonta: 4em;
savijati-rasti: 1;
padding-top: 0,3em;
boja: rgb(204, pedeset, pedeset);
}

div.aparat[podaci aktivni='aktivan']i.fa {
boja: rgb(32, 177, 51);
}

div.aparatraspon{
prikaz: blok;
font-weight: podebljano;
pozadini: rgb(112, 24, 163);
boja: #F F F;
}

Kada završite, pritisnite + X slijedi I i za spremanje stil.css datoteka.


Napravite app.js datoteku u statički/ direktorij vašeg projekta na sljedeći način:

$nanostatički/app.js


Upišite sljedeće redove kodova u app.js datoteka.

prozor.addEventListener('opterećenje',glavni);

funkcijaglavni() {
funkcijatoggleApplianceState(I) {
gdjeiskaznica=I.staza[1].iskaznica;

gdjehttp= noviXMLHttpRequest();

http.onreadystatechange = funkcija() {
ako(ovaj.readyState === 4 && ovaj.status === 200) {
ako(JSON.raščlaniti(ovaj.responseText).status === pravi) {
ako(I.staza[1].hasAttribute('podaci aktivni')) {
I.staza[1].removeAttribute('podaci aktivni')
} drugo {
I.staza[1].setAttribute('podaci aktivni', 'aktivan')
}
}
}
}

http.otvorena('DOBITI',``/aparatom/prebacivanje/${iskaznica}``, pravi);
http.poslati();
}


gdjeuređaji=dokument.getElementsByClassName('aparat');
za(i=0;i<uređaji.duljina;i++) {
uređaji[i].addEventListener('klik',toggleApplianceState);
}
}

Kada završite, pritisnite + X slijedi I i za spremanje app.js datoteka.


Ovdje linija 1 vodi glavni() funkcija kada se web stranica dovrši s učitavanjem.

U index.html datoteku, svaki kućanski aparat je zatvoren u aparatom razred. Redci 26-29 koriste se za odabir svakog kućanskog aparata s web stranice i prilaganje klik događaj na uređaju. Kada netko klikne na kućanski aparat s web stranice, toggleApplianceState () funkcija će se pokrenuti.


U retcima 4-23, toggleApplianceState () funkcija se koristi za traženje /aparat/prebaci/ krajnja točka web poslužitelja za promjenu stanja kućnog aparata na koji je pritisnuta. Zahtjev se vrši u pozadini putem AJAX -a. Nakon što primite odgovor, web stranica se u skladu s tim ažurira.


Idite na statički/ direktorij u direktoriju vašeg projekta na sljedeći način:

$CDstatički/


Preuzmite Font Awesome sa sljedećom naredbom:

$wgethttps://use.fontawesome.com/izdanja/v5.15.1/fontawesome-free-5.15.1-web.zip


Nakon što preuzmete Font Awesome, trebali biste pronaći novu zip datoteku fontawesome-free-5.15.1-web.zip u statički/ imenik.

$ls -aha


Raspakirajte datoteku fontawesome-free-5.15.1-web.zip datoteku sa sljedećom naredbom:

$otvoriti rajsfešlusfontawesome-free-5.15.1-web.zip


The fontawesome-free-5.15.1-web.zip datoteka bi sada trebala biti raspakirana.


Novi imenik fontawesome-free-5.15.1-web/ treba stvoriti u static/ direktoriju, kao što možete vidjeti na slici ispod.

$ls -aha

Preimenujte imenik fontawesome-free-5.15.1-web/ do fontawesome/ sa sljedećom naredbom:

$mv -vfontawesome-free-5.15.1-web fontawesome


Sada vam više ne trebaju fontawesome-free-5.15.1-web.zip datoteka. Dakle, uklonite fontawesome-free-5.15.1-web.zip datoteku sa sljedećom naredbom:

$rm -vfontawesome-free-5.15.1-web.zip


The statički/ Struktura direktorija trebala bi izgledati kako je prikazano na slici ispod.

$ls -aha


Vratite se u direktorij projekta ~/www kako slijedi:

$CD..

Testiranje web aplikacije Home Automation

Da biste testirali web aplikaciju za kućnu automatizaciju, pokrenite sljedeću naredbu u direktoriju projekta:

$FLASK_APP= poslužitelj.py tikvica radi


Web aplikacija trebala bi biti dostupna na priključku 5000 vašeg Raspberry Pi.


Iz web preglednika Chromium posjetite http: // localhost: 5000 . Web aplikacija za kućnu automatizaciju bi se trebala učitati.

Kliknite na ikonu žarulje, naznačenu na donjoj slici.


Sada bi trebala biti uključena žarulja izmjenične struje. Boja ikone također bi se trebala promijeniti u zelenu, što znači da je žarulja uključena.


Dakle, web aplikacija za kućnu automatizaciju radi. Pritisnite + C za prekid web poslužitelja.

Izrada Systemd usluge za web aplikaciju Home Automation

U ovom odjeljku pokazat ću vam kako stvoriti sistemsku datoteku usluge za web aplikaciju kućne automatizacije tako da se automatski pokreće pri pokretanju.

Prvo, stvorite raspi-home-automation.usluga datoteku u direktoriju vašeg projekta na sljedeći način:

$nanoraspi-home-automation.usluga

Upišite sljedeće retke u datoteku raspi-home-automation.service.

[Jedinica]
Opis= Raspberry Pi web usluga za kućnu automatizaciju
Nakon= mreža.cilj
[Servis]
WorkingDirectory=/Dom/pi/www
Okoliš=FLASK_APP= server.py
Okoliš=FLASK_ENV= proizvodnja
ExecStart=/usr/am/pokretanje tikvice--domaćin= 0,0,0,0
Standardni izlaz= naslijediti
Standardna pogreška= naslijediti
Ponovo pokrenite= uvijek
Korisnik= pi
[Instalirati]
Traženo od= višekorisnički cilj

Kada završite, pritisnite + X slijedi I i za spremanje raspi-home-automation.service datoteka.


Kopirajte raspi-home-automation.service datoteku u /etc/systemd/system/ imenik sa sljedećom naredbom:

$sudo k.č -vraspi-home-automation.service/itd/sustav/sustav/


Ponovno učitajte sistemske demone da bi promjene stupile na snagu na sljedeći način:

$sudosystemctl daemon-reload


Dodajte raspi-home-automation uslugu za pokretanje sustava Raspberry Pi OS sa sljedećom naredbom:

$sudosystemctlomogućitiraspi-home-automation.service


Ponovno pokrenite Raspberry Pi sa sljedećom naredbom:

$sudoponovno podizanje sustava


Nakon što se Raspberry Pi digne, raspi-home-automation usluga bi trebala biti aktivna/pokrenuta, kao što možete vidjeti na slici ispod.

$sudosystemctl status raspi-home-automation.service

Pristup web aplikaciji Home Automation s drugih uređaja

Da biste pristupili web aplikaciji za kućnu automatizaciju s drugih uređaja u vašoj kućnoj mreži, morat ćete znati IP adresu vašeg Raspberry Pi uređaja.

IP adresu vašeg Raspberry Pi 4 uređaja možete pronaći na web sučelju vašeg kućnog usmjerivača. U mom slučaju, IP adresa je 192.168.0.103. Ovo će za vas biti drugačije. Dakle, od sada nadalje zamijenite moj IP s vašim.


Ako imate pristup Raspberry Pi konzoli, možete pokrenuti i sljedeću naredbu da biste pronašli IP adresu.

$naziv hosta -Ja


Nakon što saznate IP adresu vašeg Raspberry Pi uređaja, možete joj pristupiti s bilo kojeg uređaja u vašoj kućnoj mreži.

Kao što možete vidjeti na slici ispod, pristupio sam web aplikaciji za kućnu automatizaciju sa svog Android pametnog telefona.


Uključite utikač žarulje u zidnu utičnicu.


Žarulja bi trebala biti isključena prema zadanim postavkama.


Ako dodirnete ikonu žarulje u web aplikaciji za kućnu automatizaciju, boja ikone žarulje trebala bi se promijeniti u zelenu, što znači da je žarulja uključena.


Kao što možete vidjeti na donjoj slici, žarulja je uključena.

Zaključak

Ovaj vam je članak pokazao kako koristiti 5V relej za upravljanje visokonaponskim izmjeničnim električnim uređajem iz Raspberry Pi-a pomoću programskog jezika Python. Članak vam je također pokazao kako napisati web -aplikaciju Python flask temeljenu na API -ju za upravljanje relejem iz web -preglednika. Ovaj članak trebao bi vam pomoći da započnete s kućnom automatizacijom pomoću Raspberry Pi.