Állítsa be a Raspberry Pi otthoni automatizálását

Set Up Raspberry Pi Home Automation



Az otthoni automatizálás egyik legfontosabb dolga a nagyfeszültségű váltóáramú vezérlés kisfeszültségű egyenárammal. A Raspberry Pi nagyfeszültségű váltakozó áramú vezérléséhez szüksége lesz egy 5 V -os relékapcsolóra. A relékapcsolót a Raspberry Pi GPIO csapjaival vezérelheti. A relés kapcsoló ezután a Raspberry Pi segítségével vezérelheti a váltakozó áramú háztartási készülékeket.

Ez a cikk bemutatja, hogyan használhatja a Raspberry Pi -t és az 5 V -os relét a villanykörte be- és kikapcsolásához a mobileszközről. A cikk tartalmaz egy webalkalmazást, amelyet a hálózat bármely eszközéről elérhet, és vezeték nélkül vezérelheti az otthoni váltakozó áramú háztartási készülékeket. Kezdjük tehát az egyszerű Raspberry Pi otthoni automatizálási kísérletünkkel.







Dolgok, amire szüksége lesz

Ha fej nélkül szeretné használni a Raspberry Pi -t (SSH -n vagy VNC -n keresztül), akkor a következőkre lesz szüksége:



1) Raspberry Pi 3 vagy Raspberry Pi 4.
2) 5V relé kapcsoló.
3) Elektromos vezetékek.
4) 3 női-női csatlakozó vezeték.
5) AC villanykörte.
6) AC villanykörte tartó.
7) Hálózati csatlakozó.
8) Drótvágó és sztrippelő szerszám.
9) CR-V 3 csavarhúzó.
10) Micro-USB (Raspberry Pi 3) vagy USB Type-C (Raspberry Pi 4) hálózati adapter.
11) 16 GB vagy 32 GB méretű microSD kártya Raspberry Pi operációs rendszerrel.
12) Hálózati kapcsolat a Raspberry Pi -n.
13) Laptop vagy asztali számítógép VNC távoli asztali hozzáféréshez vagy SSH -hozzáféréshez a Raspberry Pi -hez.



Ha nem akarja távolról elérni a Raspberry Pi -t SSH -n vagy VNC -n keresztül, akkor a következőkre is szüksége lesz:





14) Egy monitor.
15) HDMI vagy mikro-HDMI kábel.
16) Billentyűzet.
17) Egér.

Ha segítségre van szüksége a Raspberry Pi OS képének a microSD kártyára történő villogásához, olvassa el a Raspberry Pi Imager telepítése és használata című cikket.



Ha Ön kezdő Raspberry Pi, és segítségre van szüksége a Raspberry Pi operációs rendszer Raspberry Pi -re történő telepítéséhez, nézze meg a cikket A Raspberry Pi OS telepítése a Raspberry Pi 4 -re.

Továbbá, ha segítségre van szüksége a Raspberry Pi fej nélküli beállításához, nézze meg a Raspberry Pi OS telepítése és konfigurálása Raspberry Pi 4 külső monitor nélkül című cikket.

Az alábbiakban az összes szükséges eszköz képe látható.

A Raspberry Pi bekapcsolása

Ezután csatlakoztassa a tápkábelt a Raspberry Pi -hez, és kapcsolja be a Raspberry Pi -t.

A Raspberry Pi bekapcsolása után csatlakozhat a Raspberry Pi -hez VNC vagy SSH -n keresztül. Vagy csatlakoztathat billentyűzetet, egeret és monitort a Raspberry Pi -hez, hogy közvetlenül elérhesse azt.

5V relé érintkezők

A relé alapvetően egy kapcsoló. De a hagyományos kapcsolóval ellentétben a relé kis mennyiségű egyenfeszültséggel vezérelhető.

Az 5V -os relé nagyon könnyen használható. Két oldala van: az egyik oldal a relé vezérlésére szolgál kisfeszültségű egyenáramú (Raspberry Pi), a másik pedig a nagyfeszültségű váltóáramú (azaz a villanykörte) vezérlésére, a relé állapotától függően .


Az egyik oldalon a relének két LED -je van (egy piros és egy zöld) és három érintkező ( IN, GND, és VCC ). Ez a három csap a Raspberry Pi reléjének vezérlésére szolgál.

A másik oldalon lévő első két csap a váltakozó áramú háztartási készülék vezérlésére szolgál.

Az 5 V -os relé csatlakoztatása a Raspberry Pi -hez

Az 5 V-os relé Raspberry Pi-hez való csatlakoztatásához három női-női összekötő vezetékre lesz szüksége.

Csatlakoztassa a csatlakozóvezetékek egyik oldalát a BAN BEN (sárga huzal), GND (fekete vezeték), és VCC (piros vezeték) csapok az 5V -os relében, az alábbiak szerint.


A vezetékek másik oldala a Raspberry Pi GPIO fejlécébe kerül, amint az az alábbi képen látható.

A piros vezetéknek be kell mennie a PIN 2 (VCC) a Raspberry Pi.
A fekete vezetéknek be kell mennie a PIN 6 (GND) a Raspberry Pi.
A sárga vezetéknek be kell mennie a PIN 7 (GPIO 4) a Raspberry Pi.


Miután az 5 V -os relét csatlakoztatta a Raspberry Pi -hez, úgy kell kinéznie, mint az alábbi képen.

A GPIO hozzáférés engedélyezése a bejelentkezett felhasználóhoz

A GPIO csapokhoz való hozzáférés engedélyezéséhez a Raspberry Pi OS alapértelmezett bejelentkezési felhasználója pi hozzá kell adni a gpio csoport.

Hozzáadhatja a pi felhasználó a gpio csoportot a következő paranccsal:

$sudousermod-Ggpio $(Ki vagyok én)


A módosítások életbe léptetéséhez indítsa újra a Raspberry Pi -t a következő paranccsal:

$sudoújraindítás

Projektkönyvtár létrehozása

Szintén jó ötlet az összes projektfájlt rendszerezni.

A projektfájlok rendszerezéséhez hozza létre a projektkönyvtárat ~/www és a szükséges alkönyvtárakat a következő paranccsal:

$mkdir -pv~/www/{sablonok, statikus}


A projektkönyvtár létrehozása után navigáljon a projektkönyvtárhoz az alábbiak szerint:

$CD~/www

Az 5 V -os relé átkapcsolása a Raspberry Pi -ről

Most, hogy csatlakoztatta az 5 V -os relét a Raspberry Pi -hez, a relét a Raspberry Pi -ről a Python programozási nyelv használatával kapcsolja át.

MEGJEGYZÉS: Váltás az elektronikában használt kifejezés. A kapcsolás egy bizonyos elektronikus eszköz vezérlését (azaz be-/kikapcsolását) jelenti.

Ha a relé Python programozási nyelvvel való kapcsolásával kísérletezik, hozza létre az új Python script test.py fájlt a projektkönyvtárban az alábbiak szerint:

$nanoteszt.py


Írja be a következő kódsorokat a test.py Python parancsfájlba.

tól tőlgpiozeroimportVEZETTE
tól től idő importalvás

míg Igaz:
relé=VEZETTE(4)
nyomtatás('Támaszkodnia')
alvás(5)

relé.Bezárás()
nyomtatás('Relé: Ki')
alvás(5)

Ha végzett, nyomja meg a gombot + X követi ÉS és hogy megmentse a teszt.py Python szkript.


Itt az 1. sor importálása VEZETTE tól gpiozero könyvtár, a 2. sor pedig importálja a alvás funkció a idő könyvtár.


A 6-14 sorok egy végtelen cikluson belül vannak.


A 6. sor inicializálja a LED -et a GPIO 4 a Raspberry Pi -ről, amely a BAN BEN a relé csapja.


A 8. sor a relét kapcsolja be a tovább() módszer.

A 9. sor üzenetet nyomtat a konzolon a nyomtatás() funkció.

A 10. sor öt másodperccel késlelteti a következő kódsor végrehajtását a segítségével alvás() funkció.


A 12 -es vonal a relével kapcsolja ki a relét Bezárás() módszer.

Hasonló módon a 9. sor üzenetet nyomtat a konzolra a nyomtatás() függvény és a 10. sor 5 másodpercre késlelteti a következő kódsor végrehajtását a segítségével alvás() funkció.


Ezután futtassa a teszt.py A Python szkriptje a következő:

$python3 test.py


Az teszt.py A Python szkriptnek el kell kezdenie az 5V relé kapcsolását. Öt másodpercenként kattanó hangot kell hallania. Amikor a relé állapotba kapcsol (bekapcsolásról kikapcsolásra vagy kikapcsolt állapotról bekapcsolásra), kattanó hangot ad ki. Ez azt jelenti, hogy a relé megfelelően működik.


Ha a relé kikapcsolt állapotban van (normál működés-a váltakozó áramú terhelés le van választva), csak a háló A LED -nek világítania kell, amint az az alábbi képen látható.


Amikor a relé bekapcsolt állapotban van (váltakozó áramú terhelés van csatlakoztatva), mind a zöld LED és az háló A LED -nek világítania kell, amint az az alábbi képen látható.


A tesztelés befejezése után nyomja meg a gombot + C megszüntetni a teszt.py forgatókönyv.

Az AC villanykörte csatlakoztatása az 5 V -os reléhez

Az 5V -os relének most megfelelően kell működnie. Most csatlakoztatja a váltakozó áramú háztartási készüléket (ebben az esetben egy izzót) az 5 V -os reléhez.

Először vágja le a villanykörtehez csatlakoztatott fekete elektromos vezetéket drótvágóval.


Miután a villanykörtehez csatlakoztatott fekete elektromos vezetéket levágták egy drótvágóval, úgy kell kinéznie, mint az alábbi képen.


Ezután távolítsa el a külső réteget, hogy szabaddá tegye az elektromos vezetéket körülbelül ½ hüvelyk távolságban, amint az az alábbi képen látható.


Ezután hajtsa össze a szabad vezetékeket az alábbi képen látható módon.


Lazítsa meg a relé megjelölt csavarjait egy CV-3 csavarhúzóval.


Helyezze be a korábban lecsupaszított és hajtogatott vezetékeket a két csavaros csatlakozóba, és húzza meg a csavarokat egy CV-3 csavarhúzóval.

A relékapcsolás tesztelése az AC terhelés csatlakoztatása után

Miután a váltakozó áramú terhelést csatlakoztatta az 5 V -os reléhez, csatlakoztassa a villanykörte csatlakozóját a fali konnektorhoz.


Futtassa a teszt.py Python -szkript a projektkönyvtárból az alábbiak szerint:

$python3 test.py


Az teszt.py A Python szkriptnek el kell kezdenie az 5 V-os relé kapcsolását, amely viszont öt másodperces időközönként kapcsolja a nagyfeszültségű váltakozó áramú izzót. A váltakozó áramú izzónak öt másodpercig égve kell maradnia, majd öt másodpercig ki kell kapcsolnia stb.

Az alábbi képen nem világít az izzó.


Az alábbi képen világít a villanykörte.


Amint láthatja, a Python programozási nyelv használatával kapcsolhatjuk a relét és vezérelhetjük a nagyfeszültségű váltakozó áramú izzót. Szóval, nyomja meg + C megszüntetni a teszt.py forgatókönyv.

Most térjünk át a következő szakaszra.

A Home Automation Web App írása

Ebben a részben megmutatom, hogyan írhat API-alapú webes alkalmazást a Python programozási nyelv használatával. A webalkalmazás segítségével böngészőből vezérelheti a relét és a váltóáramú háztartási készüléket vagy elektromos eszközöket, amelyek a reléhez vannak csatlakoztatva.

JEGYZET: Az ebben a részben bemutatott összes kód elérhető a GitHub lerakatomban shovon8 / málna-pi-home-automatizálás . Ha akarja, klónozhatja a GitHub táromat, és kihagyhatja az összes kódot.

Hozza létre a server.py Python parancsfájlt a projektkönyvtárban az alábbiak szerint:

$nanoszerver.py


Írja be a következő kódsorokat a szerver.py Python szkript.

tól tőllombikimportLombik,jsonify,url_for,render_template
tól tőlgpiozeroimportVEZETTE
tól tőluuidimportuuid4
szobák= {}
szobák['1. szoba'] = [{
'id': uuid4(),
'név':'Fény 1',
'ikon':'fa fa-villanykörte',
'állapot':Hamis,
'relayPin':4,
'relayInstance':Hamis
}, {
'id': uuid4(),
'név':'Ventilátor 1',
'ikon':'fa fa-fan',
'állapot':Hamis,
'relayPin':6,
'relayInstance':Hamis
}]
szobák['Fürdőszoba 1'] = [{
'id': uuid4(),
'név':'Fény 1',
'ikon':'fa fa-villanykörte',
'állapot':Hamis,
'relayPin':5,
'relayInstance':Hamis
}]
kb=Lombik(__név__)
kb.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
@kb.útvonal('/')
defitthon():
Visszatérésrender_template('./index.html',szobák=szobák)
deftoggle_appliance_status(id):
számáraszobaban benszobák:
számárakészülékban benszobák[szoba]:
ha o(készülék['id']) == id:
hakészülék['relayInstance']:
készülék['relayInstance'].Bezárás()
készülék['relayInstance'] = Hamis
más:
készülék['relayInstance'] =VEZETTE(készülék['relayPin'])
készülék['relayInstance'].tovább()
készülék['állapot'] = nemkészülék['állapot']
Visszatérés Igaz
Visszatérés Hamis
@kb.útvonal('/device/toggle/')
defdevice_toggle(id):
Visszatérésjsonify({'állapot': toggle_appliance_status(id)})

Ha végzett, nyomja meg a gombot + X követi ÉS és hogy megmentse a szerver.py Python szkript.


Itt az 1-3. Sorok importálják az összes szükséges összetevőt a saját könyvtárukból.


Az 5. sor üreset hoz létre szobák szótár. Ebben a szótárban tároljuk a hálózati eszköz minden olyan adatát, amelyet a webalkalmazásból irányítani szeretnénk.


Az szobák a részleteket a 7-29. sorok tárolják.


Beszéljük meg az egyik szoba adatszerkezetét.

Itt lesz a szoba neve 1. szoba. Így, 1. szoba a kulcsa a szobák szótár.


Az 1. szoba A kulcs tömböt tart értékként. A tömb -elemek száma megegyezik az adott helyiségben található váltakozó áramú háztartási készülékek számával, amelyeket szintén a webalkalmazásból szeretne vezérelni. Ebben az esetben két váltakozó áramú háztartási készülékünk van, amelyeket szabályozni szeretnénk: Fény 1 és Ventilátor 1 .


Minden háztartási készülék definíciónak van egy id . Az id egy véletlenszerűen generált UUID. Ezzel azonosítható, hogy melyik szobát szeretnénk irányítani az API használatával.

A háztartási készülékek a következők mindegyikével rendelkeznek:

  • név (fény 1 ebben az esetben)
  • ikon (Font Awesome ikonosztály, mivel a Font Awesome -ot fogjuk használni az ikonokhoz)
  • állapot (Igaz ha tovább és Hamis ha ki )
  • reléPin (a váltóáramú háztartási készülékhez csatlakoztatott relé vezérléséhez használt GPIO pin -szám)
  • reléInstance (az inicializált VEZETTE tárgya gpiozero a megfelelő GPIO pin vezérléséért felelős könyvtár - reléPin )


A 31. sor inicializálja a lombik Python webszervert.

A 32. sor a lombik webszervert konfigurálja.


A 34-36 sorok küldik a index.html fájl a sablonok/ könyvtárba, amikor meglátogatja az otthoni automatizálás webalkalmazást.

A lombik felhasználása Jinja2 sablonnyelv megjelenítéséhez index.html fájlt. Szóval, átmentem a szobák szótár a index.html fájlt. Jinja2 a weboldalt a. használatával jeleníti meg szobák adat.


A funkció toggle_appliance_status () a 39-52 sorokban a háztartási készülék bekapcsolására szolgál, ha az kikapcsolt állapotban van, és kapcsolja ki a háztartási készüléket, ha be van kapcsolva a készülék használatával id .

Visszatér Igaz ha a váltási művelet sikeres. Ha hiba van, akkor visszatér Hamis .


Az 55-57 sorok a háztartási készülékek váltására szolgálnak a /device/toggle/ A webszerver API végpontja. Itt, id a háztartási készülék azonosítója.


Hozza létre a index.html fájlt a sablonok/ a projekt könyvtárát az alábbiak szerint:

$nanosablonokat/index.html

Írja be a következő kódsorokat a index.html forgatókönyv.


< html lang='tovább'>
< fej >
< meta karakterkészlet='UTF-8'>
< meta név='viewport' tartalom='szélesség = eszközszélesség, kezdeti skála = 1,0'>
< link rel='stíluslap' href='{{url_for (' static ', fájlnév =' fontawesome/css/all.min.css ')}}'>
< link rel='stíluslap' href='{{url_for (' static ', fájlnév =' style.css ')}}'>
< cím >Otthonautomatizálás a Raspberry Pi segítségével</ cím >
</ fej >
< test >
< div id='tartalom'>
< h1 >Raspberry Pi otthoni automatizálás</ h1 >

{ % szoba szobáiban %}
< div osztály='szoba'>
< h2 >{{szoba}}</ h2 >
< div osztály='készülékek'>
{ % a készülékekhez a szobákban [room] %}
< div osztály='készülék' id='{{device [' id ']}}'> ='aktív'>
< én osztály='{{device [' icon ']}}'></ én >
< span >{{készülék ['név']}}</ span >
</ div >
{ % endfor %}
</ div >
</ div >
{ % endfor %}

</ div >

< forgatókönyv src='{{url_for (' static ', filename =' app.js ')}} ” típus='text/javascript'></ forgatókönyv >
</ test >
</ html >

Ha végzett, nyomja meg a gombot + X követi ÉS és hogy megmentse a index.html fájlt.


Hozzon létre egy stílus.css fájlt a statikus/ a projekt könyvtárát az alábbiak szerint:

$nanostatikus/stílus.css


Írja be a következő kódsorokat a stílus.css fájlt.

@import url('https://fonts.googleapis.com/css2?family=BenchNine: [email protected]; 400; 700 & display = swap');

* {
árrés: 0;
párnázás: 0;
betűtípus család: 'BenchNine', sans-serif;
}

#tartalom >h1{
háttér:lineáris gradiens(nak nekjobb, rgb(112, 24, 163), rgb(86, 127, 240));
szín: #fff;
szöveg igazítás: központ;
párnázás: .5em 0;
}

div.szoba {
árrés: .5em;
határ: 2 képpont szilárd rgb(112, 24, 163);
határsugár: 5 képpont;
}

div.szobah2{
/* háttér: rgb (9, 76, 121); */
háttér:lineáris gradiens(nak nekjobb, rgb(112, 24, 163), rgb(86, 127, 240));
párnázás: 0 0 0 .5em;
szín: #fff;
}

div.berendezések {
árrés: .5em .5em 0 0;
kijelző:Flex;
flex-wrap:betakar;
}

div.készülék {
határ: 2 képpont szilárd rgb(112, 24, 163);
határsugár: 5 képpont;
szélesség: 110 képpont;
magasság: 120 képpont;
szöveg igazítás: központ;
árrés: 0 0 .5em .5em;
kijelző:Flex;
flex-irány:oszlop;
}

div.készülékén.fa {
betűméret: 4em;
flex-növekedés: 1;
padding-top: 0.3em;
szín: rgb(204, ötven, ötven);
}

div.készülék[adat-aktív='aktív']én.fa {
szín: rgb(32, 177, 51);
}

div.készülékspan{
kijelző: Blokk;
font-weight: bátor;
háttér: rgb(112, 24, 163);
szín: #fff;
}

Ha végzett, nyomja meg a gombot + X követi ÉS és hogy megmentse a stílus.css fájlt.


Hozzon létre egy app.js fájlt a statikus/ a projekt könyvtárát az alábbiak szerint:

$nanostatikus/app.js


Írja be a következő kódsorokat a app.js fájlt.

ablak.addEventListener('Betöltés',fő-);

funkciófő-() {
funkciótoggleApplianceState(És) {
aholid=És.pálya[1].id;

aholhttp= újXMLHttpRequest();

http.már az államcserénél = funkció() {
ha(ez.readyState === 4 && ez.állapot === 200) {
ha(JSON.elemezni(ez.responseText).állapot === igaz) {
ha(És.pálya[1].hasAttribute('data-active')) {
És.pálya[1].removeAttribute('data-active')
} más {
És.pálya[1].setAttribute('data-active', 'aktív')
}
}
}
}

http.nyisd ki('KAP',``/készülék/váltani/${id}``, igaz);
http.Küld();
}


aholkészülékek=dokumentum.getElementsByClassName('készülék');
számára(én=0;én<készülékek.hossz;én++) {
készülékek[én].addEventListener('kattintson',toggleApplianceState);
}
}

Ha végzett, nyomja meg a gombot + X követi ÉS és megmenteni a app.js fájlt.


Itt az 1. sor a fő() funkciót, amikor a weboldal betöltése befejeződött.

Ban,-ben index.html fájlt, minden háztartási készüléket egy készülék osztály. A 26-29. Sorok segítségével választhatja ki az egyes háztartási készülékeket a weboldalról, és csatolja a kattintson esemény a készülékre. Ha valaki rákattint egy háztartási készülékre a weboldalon, a toggleApplianceState () funkció futni fog.


A 4-23. Sorokban a toggleApplianceState () függvény a /device/toggle/ a webszerver végpontja a kattintott háztartási készülék állapotának megváltoztatásához. A kérés a háttérben történik az AJAX -on keresztül. A válasz beérkezése után a weboldal ennek megfelelően frissül.


Navigáljon a statikus/ könyvtár a projektkönyvtárban az alábbiak szerint:

$CDstatikus/


A Font Awesome letöltése a következő paranccsal:

$wgethttps://use.fontawesome.com/kiadások/v5.15.1/fontawesome-free-5.15.1-web.zip


A Font Awesome letöltése után meg kell találnia az új zip fájlt fontawesome-free-5.15.1-web.zip ban,-ben statikus/ Könyvtár.

$ls -lh


Csomagolja ki a fontawesome-free-5.15.1-web.zip fájlt a következő paranccsal:

$kibontanifontawesome-free-5.15.1-web.zip


Az fontawesome-free-5.15.1-web.zip a fájlt most ki kell csomagolni.


Az új könyvtár fontawesome-free-5.15.1-web/ a static/ könyvtárban kell létrehozni, amint az az alábbi képernyőképen látható.

$ls -lh

Nevezze át a könyvtárat fontawesome-free-5.15.1-web/ nak nek fantasztikus/ a következő paranccsal:

$mv -vfontawesome-free-5.15.1-web fontawesome


Most már nincs szüksége a fontawesome-free-5.15.1-web.zip fájlt. Tehát távolítsa el a fontawesome-free-5.15.1-web.zip fájlt a következő paranccsal:

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


Az statikus/ könyvtár szerkezetének az alábbi képernyőképen láthatónak kell lennie.

$ls -lh


Lépjen vissza a projektkönyvtárba ~/www alábbiak szerint:

$CD..

A Home Automation Web App tesztelése

Az otthoni automatizálás webalkalmazás teszteléséhez futtassa a következő parancsot a projektkönyvtárban:

$FLASK_APP= server.py lombik futtatása


A webalkalmazásnak elérhetőnek kell lennie a Raspberry Pi 5000 -es portján.


A Chromium webböngészőben keresse fel a http: // localhost: 5000 . Az otthoni automatizálási webalkalmazásnak be kell töltődnie.

Kattintson az alábbi képen látható villanykörte ikonra.


A váltakozó áramú izzót most be kell kapcsolni. Az ikon színének is zöldre kell változnia, jelezve, hogy az izzó be van kapcsolva.


Tehát az otthoni automatizálás webes alkalmazás működik. nyomja meg + C a webszerver leállításához.

Systemd szolgáltatás létrehozása a Home Automation Web App számára

Ebben a részben megmutatom, hogyan hozhat létre rendszerezett szolgáltatásfájlt az otthoni automatizálási webalkalmazáshoz, hogy az automatikusan elinduljon a rendszerindításkor.

Először hozza létre a raspi-home-automation.szolgáltatás fájlt a projekt könyvtárában az alábbiak szerint:

$nanoraspi-home-automation.szolgáltatás

Írja be a következő sorokat a raspi-home-automation.service fájlba.

[Mértékegység]
Leírás= Raspberry Pi Home Automation Web Service
Után= network.target
[Szolgáltatás]
WorkingDirectory=/itthon/pi/www
Környezet=FLASK_APP= szerver.py
Környezet=FLASK_ENV= termelés
ExecStart=/usr/am/lombikfutás--házigazda= 0,0,0,0
Standard kimenet= örökölni
StandardError= örökölni
Újrakezd= mindig
Felhasználó= pi
[Telepítés]
WantedBy= többfelhasználós.cél

Ha végzett, nyomja meg a gombot + X követi ÉS és megmenteni a raspi-home-automation.szolgáltatás fájlt.


Másolja a raspi-home-automation.szolgáltatás fájlt a /etc/systemd/system/ könyvtárat a következő paranccsal:

$sudo cp -vraspi-home-automation.szolgáltatás/stb./rendszer/rendszer/


Töltse be újra a rendszerdémonokat, hogy a módosítások az alábbiak szerint lépjenek érvénybe:

$sudosystemctl démon-újratöltés


Adja hozzá a raspi-home-automation szolgáltatás a Raspberry Pi OS rendszerindításához a következő paranccsal:

$sudosystemctlengedélyezzeraspi-home-automation.szolgáltatás


Indítsa újra a Raspberry Pi -t a következő paranccsal:

$sudoújraindítás


Miután a Raspberry Pi csizma, a raspi-home-automation a szolgáltatásnak aktívnak/futónak kell lennie, amint az az alábbi képernyőképen látható.

$sudosystemctl állapot raspi-home-automation.service

A Home Automation Webalkalmazás elérése más eszközökről

Az otthoni automatizálás webes alkalmazás eléréséhez az otthoni hálózat más eszközeiről ismernie kell a Raspberry Pi eszköz IP -címét.

A Raspberry Pi 4 eszköz IP -címét az otthoni útválasztó webkezelő felületéről találhatja meg. Esetemben az IP -cím 192.168.0.103. Ez más lesz az Ön számára. Tehát mostantól mindenképpen cserélje le az IP -címemet a tiétekre.


Ha hozzáfér a Raspberry Pi konzolhoz, akkor az alábbi paranccsal futtathatja az IP -címet is.

$hostname -ÉN


Ha ismeri a Raspberry Pi eszköz IP -címét, elérheti azt az otthoni hálózat bármely eszközéről.

Amint az alábbi képernyőképen látható, Android okostelefonomról elértem az otthoni automatizálás webes alkalmazást.


A villanykörte dugóját feltétlenül csatlakoztassa a fali konnektorhoz.


Az izzót alapértelmezés szerint ki kell kapcsolni.


Ha az otthoni automatizálási webalkalmazásban megérinti a villanykörte ikont, az izzó ikon színe zöldre vált, jelezve, hogy az izzó be van kapcsolva.


Amint az alábbi képen látható, az izzó be van kapcsolva.

Következtetés

Ez a cikk bemutatta, hogyan használhat 5 V-os relét a Raspberry Pi-ből származó nagyfeszültségű váltakozó áramú elektromos eszköz vezérlésére a Python programozási nyelv használatával. A cikk azt is megmutatta, hogyan kell API alapú Python -lombik webes alkalmazást írni a relé vezérléséhez a webböngészőből. Ez a cikk segíthet a Raspberry Pi használatával végzett otthoni automatizálás megkezdésében.