Määritä Raspberry Pi Home Automation

Set Up Raspberry Pi Home Automation



Yksi kodin automaation tärkeimmistä asioista on suurjännitteen vaihtovirran ohjaus pienjänniteverkolla. Raspberry Pi: n suurjännitteen AC: n ohjaamiseen tarvitset 5 V: n relekytkimen. Voit ohjata relekytkintä Raspberry Pi: n GPIO -nastojen avulla. Relekytkin voi sitten ohjata AC -kodinkoneita Raspberry Pi: n kautta.

Tässä artikkelissa kerrotaan, miten Raspberry Pi: n ja 5 V: n relekytkimen avulla voit kytkeä lampun päälle ja pois päältä mobiililaitteestasi. Artikkeli sisältää verkkosovelluksen, jota voit käyttää miltä tahansa verkon laitteelta ja ohjata kotisi AC -kodinkoneita langattomasti. Aloitetaan siis yksinkertaisella Raspberry Pi -automaatiokokeilullamme.







Asioita, joita tarvitset

Jos haluat käyttää Raspberry Pi -päätäsi ilman päätä (SSH: n tai VNC: n kautta), tarvitset seuraavat asiat:



1) Raspberry Pi 3 tai Raspberry Pi 4.
2) 5V relekytkin.
3) Sähköjohdot.
4) 3 naaras-naaras-liitäntäjohtoa.
5) AC -hehkulamppu.
6) AC -lampun pidike.
7) Virtapistoke.
8) Langankatkaisija ja irrotustyökalu.
9) CR-V 3 -ruuvimeisseli.
10) Micro-USB (Raspberry Pi 3) tai USB Type-C (Raspberry Pi 4) -virtasovitin.
11) 16 Gt: n tai 32 Gt: n microSD -kortti, jossa on Raspberry Pi OS, vilkkuu.
12) Verkkoyhteys Raspberry Pi: ssä.
13) Kannettava tietokone tai pöytätietokone VNC -etätyöpöytäkäyttöön tai SSH -yhteys Raspberry Pi: hen.



Jos et halua käyttää Raspberry Pi: tä etänä SSH: n tai VNC: n kautta, tarvitset myös seuraavat:





14) Näyttö.
15) HDMI- tai mikro-HDMI-kaapeli.
16) Näppäimistö.
17) Hiiri.

Jos tarvitset apua Raspberry Pi OS -kuvan väläyttämisessä microSD -kortille, tutustu artikkeliin Raspberry Pi Imagerin asentaminen ja käyttö.



Jos olet Raspberry Pi -aloittelija ja tarvitset apua Raspberry Pi -käyttöjärjestelmän asentamisessa Raspberry Pi -laitteeseen, tutustu artikkeliin Raspberry Pi OS: n asentaminen Raspberry Pi 4: een.

Jos tarvitset apua Raspberry Pi -laitteen päätön asennuksessa, tutustu artikkeliin Raspberry Pi -käyttöjärjestelmän asentaminen ja määrittäminen Raspberry Pi 4 -laitteeseen ilman ulkoista näyttöä.

Alla on kuvat kaikista tarvittavista työkaluista.

Käynnistä Raspberry Pi

Liitä sitten virtajohto Raspberry Pi -laitteeseen ja käynnistä Raspberry Pi.

Kun Raspberry Pi on kytketty päälle, voit muodostaa yhteyden Raspberry Pi: hen VNC: n tai SSH: n kautta. Tai voit liittää näppäimistön, hiiren ja näytön Raspberry Pi -laitteeseen, jotta voit käyttää sitä suoraan.

5 V: n releet

Rele on periaatteessa kytkin. Toisin kuin perinteinen kytkin, relettä voidaan ohjata pienellä määrällä tasajännitettä.

5 V: n rele on erittäin helppokäyttöinen. Siinä on kaksi puolta: toista puolta käytetään releen ohjaamiseen matalajännitteisen DC: n kautta (Raspberry Pi), ja toista puolta käytetään korkeajännitteen AC (eli hehkulampun) ohjaamiseen releen tilasta riippuen .


Toisella puolella releessä on kaksi LEDiä (yksi punainen ja yksi vihreä) ja kolme nastaa ( IN, GND, ja VCC ). Näitä kolmea nastaa käytetään ohjaamaan Raspberry Pi: n relettä.

Toisella puolella olevia kahta ensimmäistä nastaa käytetään AC -kodinkoneen ohjaamiseen.

5 V: n releen liittäminen Raspberry Pi: hen

5 V: n releen liittämiseksi Raspberry Pi: hen tarvitset kolme naaras-naaras-liitäntäjohtoa.

Kytke liitäntäjohtojen toinen puoli SISÄÄN (keltainen lanka), GND (musta lanka) ja VCC (punainen lanka) nastat 5 V: n releessä, kuten alla on esitetty.


Johtojen toinen puoli menee Raspberry Pi: n GPIO -nastatappeihin, kuten alla olevassa kuvassa näkyy.

Punaisen johdon pitäisi mennä sisään PIN 2 (VCC) tuotteesta Raspberry Pi.
Mustan johdon pitäisi mennä sisään PIN 6 (GND) tuotteesta Raspberry Pi.
Keltaisen langan pitäisi mennä sisään PIN 7 (GPIO 4) tuotteesta Raspberry Pi.


Kun 5 V: n rele on kytketty Raspberry Pi: hen, sen pitäisi näyttää alla olevan kuvan mukaiselta.

GPIO -käyttöoikeuden salliminen kirjautuneelle käyttäjälle

Voit sallia pääsyn GPIO -nastoihin, Raspberry Pi -käyttöjärjestelmän oletuskirjautumiskäyttäjä pi pitäisi lisätä gpio ryhmä.

Voit lisätä pi käyttäjä gpio ryhmä seuraavalla komennolla:

$sudousermod-Ggpio $(kuka olen)


Jotta muutokset tulevat voimaan, käynnistä Raspberry Pi uudelleen seuraavalla komennolla:

$sudokäynnistä uudelleen

Projektihakemiston luominen

On myös hyvä pitää kaikki projektitiedostot järjestyksessä.

Jos haluat pitää projektitiedostot järjestyksessä, luo projektihakemisto ~/www ja tarvittavat alihakemistot seuraavalla komennolla:

$mkdir -pv~/www/{mallit, staattiset}


Kun projektihakemisto on luotu, siirry projektihakemistoon seuraavasti:

$CD~/www

5V -releen vaihtaminen Raspberry Pi -laitteesta

Nyt kun olet liittänyt 5 V: n releen Raspberry Pi: hen, vaihdat releen Raspberry Pi: stä Python -ohjelmointikielellä.

HUOMAUTUS: Vaihto on elektroniikassa käytetty termi. Kytkeminen tarkoittaa tietyn elektronisen laitteen ohjaamista (eli virran kytkemistä päälle/pois).

Jos haluat kokeilla releen vaihtamista Python -ohjelmointikielellä, luo uusi Python -skripti test.py projektihakemistoon seuraavasti:

$nanotest.py


Kirjoita seuraavat koodirivit test.py Python -skriptiin.

alkaengpiozerotuontiLED
alkaen aika tuontinukkua

sillä aikaa Totta:
rele=LED(4)
Tulosta('Rele: päällä')
nukkua(5)

rele.kiinni()
Tulosta('Rele: pois päältä')
nukkua(5)

Kun olet valmis, paina + X jonka jälkeen JA ja pelastamaan test.py Python -käsikirjoitus.


Tässä tuodaan riville 1 LED alkaen gpiozero kirjasto, ja rivi 2 tuo nukkua toiminto aika kirjasto.


Rivit 6-14 ovat äärettömän silmukan sisällä.


Rivi 6 alustaa LED -valon GPIO 4 Raspberry Pi, joka on yhdistetty SISÄÄN releen nasta.


Linja 8 kytkee releen päälle näppäimellä päällä() menetelmä.

Rivi 9 tulostaa viestin konsolissa käyttämällä Tulosta() toiminto.

Rivi 10 viivästyttää seuraavan koodirivin suorittamista viiden sekunnin ajan käyttämällä nukkua() toiminto.


Linja 12 sammuttaa releen näppäimellä kiinni() menetelmä.

Samalla tavalla rivi 9 tulostaa viestin konsoliin käyttämällä Tulosta() toiminto ja rivi 10 viivästyttää seuraavan koodirivin suorittamista 5 sekunnin ajan käyttämällä nukkua() toiminto.


Suorita seuraavaksi test.py Python -skripti seuraavasti:

$python3 test.py


The test.py Python -komentosarjan pitäisi alkaa vaihtaa 5 V: n relettä. Sinun pitäisi kuulla naksahdus joka viides sekunti. Kun rele kytkee tilan (päälle / pois tai pois päältä), se napsahtaa. Tämä tarkoittaa, että rele toimii oikein.


Kun rele on pois päältä (normaali toiminta-verkkovirta irrotettu), vain netto LED -valon pitäisi syttyä, kuten alla olevasta kuvasta näkyy.


Kun rele on päällä-tilassa (vaihtovirta on kytketty), molemmat vihreä LED ja the netto LED -valon pitäisi syttyä, kuten alla olevasta kuvasta näkyy.


Kun testi on valmis, paina + C lopettaa test.py käsikirjoitus.

AC -lampun kytkeminen 5V -releeseen

5 V: n releen pitäisi nyt toimia kunnolla. Nyt kytket AC -kodinkoneesi (tässä tapauksessa hehkulampun) 5 V: n releeseen.

Katkaise ensin lamppuun liitetty musta sähköjohto lankaleikkurilla.


Kun lamppuun kytketty musta sähköjohto on katkaistu lankaleikkurilla, sen pitäisi näyttää alla olevan kuvan mukaiselta.


Poista seuraavaksi ulkokerros niin, että paljastuu noin ½ tuumaa sähköjohtoa, kuten alla olevassa kuvassa.


Taita sitten paljaat johdot alla olevan kuvan mukaisesti.


Löysää releen merkityt ruuvit CV-3-ruuvimeisselillä.


Työnnä aiemmin irrottamasi ja taittamat johtimet kahteen ruuviliittimeen ja kiristä ruuvit CV-3-ruuvimeisselillä.

Releiden kytkennän testaus vaihtovirtalaitteen kytkemisen jälkeen

Kun vaihtovirta on kytketty 5 V: n releeseen, kytke hehkulampun pistoke pistorasiaan.


Suorita test.py Python -skripti projektihakemistosta seuraavasti:

$python3 test.py


The test.py Python-skriptin pitäisi aloittaa 5 V: n releen kytkeminen, joka puolestaan ​​kytkee suurjännitteisen AC-lampun viiden sekunnin välein. AC -lampun tulisi palaa viisi sekuntia, sitten sammuttaa viisi sekuntia ja niin edelleen.

Hehkulamppu ei pala alla olevassa kuvassa.


Hehkulamppu palaa alla olevassa kuvassa.


Kuten näette, voimme kytkeä releen ja ohjata suurjännite -AC -lamppua Python -ohjelmointikielellä. Joten paina + C lopettaa test.py käsikirjoitus.

Siirrytään nyt seuraavaan osaan.

Home Automation Web -sovelluksen kirjoittaminen

Tässä osiossa näytän sinulle, kuinka kirjoittaa sovellusliittymäpohjainen verkkosovellus Python-ohjelmointikielellä. Web -sovelluksen avulla voit ohjata relettä ja releeseen liitettyjä AC -kodinkoneita tai sähkölaitteita verkkoselaimella.

HUOMAUTUS: Kaikki tässä osiossa näkyvät koodit ovat saatavilla GitHub -arkistossani shovon8 / vadelma-pi-home-automaatio . Jos haluat, voit kloonata GitHub -arkistoni ja ohittaa kaikki koodit.

Luo server.py Python -skripti projektihakemistoon seuraavasti:

$nanoserver.py


Kirjoita seuraavat koodirivit kohtaan server.py Python -käsikirjoitus.

alkaenpullotuontiPullo,jsonify,url_for,render_template
alkaengpiozerotuontiLED
alkaenuuidtuontiuuid4
Huoneet= {}
Huoneet['Huone 1'] = [{
'id': uuid4(),
'nimi':'Valo 1',
'kuvake':'fa fa-hehkulamppu',
'Tila':Väärä,
'relePin':4,
'relayInstance':Väärä
}, {
'id': uuid4(),
'nimi':'Fan 1',
'kuvake':'fa fa-fan',
'Tila':Väärä,
'relePin':6,
'relayInstance':Väärä
}]
Huoneet['Kylpyhuone 1'] = [{
'id': uuid4(),
'nimi':'Valo 1',
'kuvake':'fa fa-hehkulamppu',
'Tila':Väärä,
'relePin':5,
'relayInstance':Väärä
}]
sovellus=Pullo(__nimi__)
sovellus.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
@sovellus.reitti('/')
defKoti():
palatarender_template('./index.html',Huoneet=Huoneet)
deftoggle_appliance_status(id):
vartenhuonesisäänHuoneet:
vartenlaitesisäänHuoneet[huone]:
jos s(laite['id']) == id:
joslaite['relayInstance']:
laite['relayInstance'].kiinni()
laite['relayInstance'] = Väärä
muu:
laite['relayInstance'] =LED(laite['relePin'])
laite['relayInstance'].päällä()
laite['Tila'] = eilaite['Tila']
palata Totta
palata Väärä
@sovellus.reitti('/laite/kytkin/')
defdevice_toggge(id):
palatajsonify({'Tila': toggle_appliance_status(id)})

Kun olet valmis, paina + X jonka jälkeen JA ja pelastamaan server.py Python -käsikirjoitus.


Tässä rivit 1-3 tuovat kaikki tarvittavat komponentit vastaavista kirjastoistaan.


Rivi 5 luo tyhjän Huoneet sanakirja. Tähän sanakirjaan tallennamme kaikki AC -laitteen tiedot, joita haluamme hallita verkkosovelluksesta.


The Huoneet tiedot tallennetaan riveille 7-29.


Keskustelkaamme yhden huoneen tietorakenteesta.

Tässä huoneen nimi tulee olemaan Huone 1. Niin, Huone 1 on avain Huoneet sanakirja.


The Huone 1 avain pitää arvona taulukon. Ryhmäelementtien määrä on sama kuin huoneessa olevien AC -kodinkoneiden lukumäärä, joita haluat myös hallita verkkosovelluksesta. Tässä tapauksessa meillä on kaksi AC -kodinkonetta, joita haluamme hallita: Valo 1 ja Tuuletin 1 .


Jokaisessa kodinkoneen määritelmässä on id . The id on satunnaisesti luotu UUID. Tätä käytetään tunnistamaan, mitä tilaa haluamme hallita API: n avulla.

Kodinkoneessa on myös kaikki seuraavat ominaisuudet:

  • nimi (valo 1 tässä tapauksessa)
  • -kuvaketta (Font Awesome -kuvakeluokka, koska käytämme Font Awesome -kuvakkeita)
  • tila (Totta jos päällä ja Väärä jos vinossa )
  • relePin (GPIO -nastan numero, jota käytetään AC -kodinkoneeseen kytketyn releen ohjaamiseen)
  • rele rele (alustettu LED kohde gpiozero kirjasto, joka vastaa kulloisenkin GPIO -nastan ohjaamisesta - relePin )


Rivi 31 alustaa pullon Python -verkkopalvelimen.

Rivi 32 määrittää pullon verkkopalvelimen.


Rivit 34-36 lähettävät index.html tiedosto mallit/ hakemistosta, kun käyt kotiautomaation verkkosovelluksessa.

Pullojen käyttö Jinja2 mallinnuskieli index.html tiedosto. Olen siis ohittanut Huoneet sanakirja index.html tiedosto. Jinja2 tekee kotisivun käyttämällä Huoneet tiedot.


Toiminto toggle_appliance_status () rivillä 39-52 käytetään kodinkoneen kytkemiseen päälle, jos se on pois päältä, ja katkaisemaan virran kodinkoneesta, jos se on päällä laitteen id .

Se palaa Totta jos vaihtotoiminto onnistuu. Jos on virhe, se palaa Väärä .


Rivejä 55-57 käytetään kodinkoneen vaihtamiseen /laite/vaihtaa/ Verkkopalvelimen API -päätepiste. Tässä, id on kodinkoneen tunnus.


Luo index.html tiedosto mallit/ projektisi hakemisto seuraavasti:

$nanomalleja/index.html

Kirjoita seuraavat koodirivit kohtaan index.html käsikirjoitus.


< html lang='päällä'>
< pää >
< meta merkistö='UTF-8'>
< meta nimi='näkymä' sisältö='width = device-width, initial-scale = 1.0'>
< linkki rel='tyylitaulukko' href='{{url_for (' static ', tiedostonimi =' fontawesome/css/all.min.css ')}}'>
< linkki rel='tyylitaulukko' href='{{url_for (' static ', tiedostonimi =' style.css ')}}'>
< otsikko >Kotiautomaatio Raspberry Pi: n kanssa</ otsikko >
</ pää >
< vartalo >
< div id='sisältö'>
< h1 >Raspberry Pi -automaatio</ h1 >

{ % huoneesta %}
< div luokka='huone'>
< h2 >{{huone}}</ h2 >
< div luokka='laitteet'>
{ % laitteille huoneissa [room] %}
< div luokka='laite' id='{{device [' id ']}}'> ='aktiivinen'>
< i luokka='{{device [' icon ']}}'></ i >
< span >{{laite ['nimi']}}</ span >
</ div >
{ % endfor %}
</ div >
</ div >
{ % endfor %}

</ div >

< käsikirjoitus src='{{url_for (' static ', tiedostonimi =' app.js ')}}' tyyppi='text/javascript'></ käsikirjoitus >
</ vartalo >
</ html >

Kun olet valmis, paina + X jonka jälkeen JA ja pelastamaan index.html tiedosto.


Luo style.css tiedosto staattinen/ projektisi hakemisto seuraavasti:

$nanostaattinen/style.css


Kirjoita seuraavat koodirivit kohtaan style.css tiedosto.

@tuonti url('https://fonts.googleapis.com/css2?family=BenchNine: [sähköposti suojattu]; 400; 700 & display = swap');

* {
marginaali: 0;
pehmuste: 0;
fonttiperhe: 'BenchNine', sans-serif;
}

#sisältö >h1{
tausta:lineaarinen gradientti(kohteeseenoikein, rgb(112, 24, 163), rgb(86, 127, 240));
väri: #F F F;
tekstin tasaus: keskusta;
pehmuste: .5em 0;
}

div.huone {
marginaali: .5em;
raja: 2px kiinteä rgb(112, 24, 163);
raja-säde: 5 kuvapistettä;
}

div.huoneh2{
/* tausta: rgb (9, 76, 121); */
tausta:lineaarinen gradientti(kohteeseenoikein, rgb(112, 24, 163), rgb(86, 127, 240));
pehmuste: 0 0 0 .5em;
väri: #F F F;
}

div.laitteet {
marginaali: .5em .5em 0 0;
näyttö:taipua;
flex-wrap:kääri;
}

div.laite {
raja: 2px kiinteä rgb(112, 24, 163);
raja-säde: 5 kuvapistettä;
leveys: 110px;
korkeus: 120 pikseliä;
tekstin tasaus: keskusta;
marginaali: 0 0 .5em .5em;
näyttö:taipua;
joustava suunta:sarake;
}

div.laitei.fa {
Fonttikoko: 4em;
joustavasti kasvaa: 1;
toppaus-toppi: 0.3em;
väri: rgb(204, viisikymmentä, viisikymmentä);
}

div. laite[data-aktiivinen='aktiivinen']i.fa {
väri: rgb(32, 177, 51);
}

div.laitespan{
näyttö: lohko;
fontin paino: lihavoitu;
tausta: rgb(112, 24, 163);
väri: #F F F;
}

Kun olet valmis, paina + X jonka jälkeen JA ja pelastamaan style.css tiedosto.


Luo app.js tiedosto staattinen/ projektisi hakemisto seuraavasti:

$nanostaattinen/app.js


Kirjoita seuraavat koodirivit kohtaan app.js tiedosto.

ikkuna.addEventListener('ladata',tärkein);

toimintotärkein() {
toimintotoggleApplianceState(Ja) {
missäid=Ja.polku[1].id;

missähttp= UusiXMLHttpRequest();

http.jo vaihdossa = toiminto() {
jos(Tämä.readyState === 4 && Tämä.Tila === 200) {
jos(JSON.jäsentää(Tämä.responseText).Tila === totta) {
jos(Ja.polku[1].hasAttribute('data-aktiivinen')) {
Ja.polku[1].removeAttribute('data-aktiivinen')
} muu {
Ja.polku[1].setAttribute('data-aktiivinen', 'aktiivinen')
}
}
}
}

http.avata('SAADA',``/laite/vaihtaa/${id}``, totta);
http.lähettää();
}


missälaitteita=asiakirja.getElementsByClassName('laite');
varten(i=0;i<laitteita.pituus;i++) {
laitteita[i].addEventListener('klikkaus',toggleApplianceState);
}
}

Kun olet valmis, paina + X jonka jälkeen JA ja pelastaa app.js tiedosto.


Tässä rivi 1 kulkee pää () -toimintoa, kun verkkosivu latautuu.

Kohteessa index.html tiedosto, jokainen kodinkone on kotelossa laite luokka. Riveillä 26-29 valitaan jokainen kodinkone verkkosivulta ja liitetään klikkaus tapahtuma laitteelle. Kun joku napsauttaa kodinkoneita verkkosivulla, toggleApplianceState () toiminto toimii.


Riveillä 4-23 toggleApplianceState () -toimintoa käytetään /laite/vaihtaa/ verkkopalvelimen päätepiste muuttaa napsautetun kodinkoneen tilaa. Pyyntö tehdään taustalla AJAXin kautta. Kun vastaus on saatu, verkkosivu päivitetään vastaavasti.


Siirry kohtaan staattinen/ hakemistosi projektihakemistossasi seuraavasti:

$CDstaattinen/


Lataa Font Awesome seuraavalla komennolla:

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


Kun Font Awesome on ladattu, sinun pitäisi löytää uusi zip -tiedosto fontawesome-free-5.15.1-web.zip kohdassa staattinen/ hakemistoon.

$ls -lh


Pura fontawesome-free-5.15.1-web.zip tiedosto seuraavalla komennolla:

$purkaafontawesome-free-5.15.1-web.zip


The fontawesome-free-5.15.1-web.zip tiedosto pitäisi nyt purkaa.


Uusi hakemisto fontawesome-free-5.15.1-web/ pitäisi luoda staattiseen/ hakemistoon, kuten näet alla olevasta kuvakaappauksesta.

$ls -lh

Nimeä hakemisto uudelleen fontawesome-free-5.15.1-web/ kohteeseen mahtavaa/ seuraavalla komennolla:

$mv -vfontawesome-free-5.15.1-web fontawesome


Nyt et enää tarvitse fontawesome-free-5.15.1-web.zip tiedosto. Poista siis fontawesome-free-5.15.1-web.zip tiedosto seuraavalla komennolla:

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


The staattinen/ hakemistorakenteen pitäisi näyttää alla olevan kuvakaappauksen mukaisesti.

$ls -lh


Siirry takaisin projektihakemistoon ~/www seuraavasti:

$CD..

Home Automation Web -sovelluksen testaaminen

Testaa kotiautomaation verkkosovellus suorittamalla seuraava komento projektihakemistossasi:

$FLASK_APP= server.py -pullo


Verkkosovelluksen pitäisi olla saatavilla Raspberry Pi -laitteesi portissa 5000.


Siirry Chromium -selaimella osoitteeseen http: // localhost: 5000 . Kotiautomaation verkkosovelluksen pitäisi latautua.

Napsauta lampun kuvaketta, joka näkyy alla olevassa kuvassa.


AC -lampun pitäisi nyt olla päällä. Kuvakkeen värin pitäisi myös muuttua vihreäksi, mikä osoittaa, että hehkulamppu on päällä.


Joten kotiautomaation verkkosovellus toimii. Lehdistö + C lopettaa verkkopalvelin.

Systemd -palvelun luominen Home Automation -verkkosovellukselle

Tässä osassa näytän sinulle, kuinka luoda järjestelmäautomaattitiedosto kotiautomaation verkkosovellukselle, jotta se käynnistyy automaattisesti käynnistyksen yhteydessä.

Luo ensin raspi-home-automation.service tiedosto projektihakemistossasi seuraavasti:

$nanoraspi-home-automation.service

Kirjoita seuraavat rivit raspi-home-automation.service-tiedostoon.

[Yksikkö]
Kuvaus= Raspberry Pi Home Automation Web Service
Jälkeen= verkko.tarkoitus
[Palvelu]
WorkingDirectory=/Koti/pi/www
Ympäristö=FLASK_APP= palvelin.py
Ympäristö=FLASK_ENV= tuotanto
ExecStart=/usr/olen/pulloajo-isäntä= 0,0,0,0
Vakiolähtö= peri
Vakiovirhe= peri
Uudelleenkäynnistää= aina
Käyttäjä= pi
[Asentaa]
Ostettu= usean käyttäjän.target

Kun olet valmis, paina + X jonka jälkeen JA ja pelastaa raspi-home-automation.service tiedosto.


Kopioi raspi-home-automation.service tiedosto /etc/systemd/system/ hakemistoon seuraavalla komennolla:

$sudo cp -vraspi-home-automation.service/jne/järjestelmä/järjestelmä/


Lataa järjestelmädemonit uudelleen, jotta muutokset tulevat voimaan seuraavasti:

$sudosystemctl daemon-reload


Lisää raspi-home-automaatio palvelu Raspberry Pi OS -järjestelmän käynnistykseen seuraavalla komennolla:

$sudosystemctlota käyttöönraspi-home-automation.service


Käynnistä Raspberry Pi uudelleen seuraavalla komennolla:

$sudokäynnistä uudelleen


Kun Raspberry Pi saapuu, raspi-home-automaatio palvelun pitäisi olla aktiivinen/käynnissä, kuten näet alla olevasta kuvakaappauksesta.

$sudosystemctl-tila raspi-home-automation.service

Home Automation -verkkosovelluksen käyttäminen muista laitteista

Jotta voit käyttää kotiautomaation verkkosovellusta muista kotiverkon laitteista, sinun on tiedettävä Raspberry Pi -laitteesi IP -osoite.

Löydät Raspberry Pi 4 -laitteesi IP -osoitteen kotireitittimen web -käyttöliittymästä. Minun tapauksessani IP -osoite on 192.168.0.103. Tämä on erilaista sinulle. Muista siis korvata IP -osoitteeni omallasi tästä lähtien.


Jos sinulla on pääsy Raspberry Pi -konsoliin, voit suorittaa IP -osoitteen myös suorittamalla seuraavan komennon.

$isäntänimi -Minä


Kun tiedät Raspberry Pi -laitteesi IP -osoitteen, voit käyttää sitä miltä tahansa kotiverkon laitteelta.

Kuten alla olevasta kuvakaappauksesta näet, olen käyttänyt kotiautomaation verkkosovellusta Android -älypuhelimestani.


Muista kytkeä hehkulampun pistoke pistorasiaan.


Hehkulamppu on oletusarvoisesti sammutettava.


Jos napautat hehkulampun kuvaketta kotiautomaation verkkosovelluksessa, hehkulampun kuvakkeen värin pitäisi muuttua vihreäksi, mikä osoittaa, että hehkulamppu on päällä.


Kuten alla olevasta kuvasta näkyy, hehkulamppu on päällä.

Johtopäätös

Tämä artikkeli näytti sinulle, miten voit käyttää 5 V: n relettä suurjännitteisen AC-laitteen ohjaamiseen Raspberry Pi: ltä Python-ohjelmointikielellä. Artikkeli näytti myös, kuinka kirjoittaa sovellusliittymäpohjainen Python -pullo -verkkosovellus releen ohjaamiseksi verkkoselaimesta. Tämän artikkelin pitäisi auttaa sinua pääsemään alkuun kotiautomaation käyttämisessä Raspberry Pi: n avulla.