Configurați Raspberry Pi Home Automation

Set Up Raspberry Pi Home Automation



Unul dintre cele mai importante lucruri pentru automatizarea casei este controlul alternativului de înaltă tensiune folosind un DC de joasă tensiune. Pentru a controla tensiunea alternativă de înaltă tensiune de la Raspberry Pi, veți avea nevoie de un comutator de releu de 5V. Puteți controla comutatorul de releu folosind pinii GPIO ai Raspberry Pi. Comutatorul de releu poate controla apoi aparatele electrocasnice de curent alternativ prin Raspberry Pi.

Acest articol vă va arăta cum să utilizați Raspberry Pi și comutatorul de releu de 5V pentru a porni și a opri becul de pe dispozitivul dvs. mobil. Articolul include o aplicație web pe care o puteți accesa de pe orice dispozitiv din rețeaua dvs. și puteți controla fără fir orice aparate electrocasnice de curent alternativ din casă. Deci, haideți să începem cu experimentul nostru simplu de automatizare a locuinței Raspberry Pi.







Lucruri de care vei avea nevoie

Dacă doriți să utilizați Raspberry Pi fără cap (prin SSH sau VNC), veți avea nevoie de următoarele lucruri:



1) Raspberry Pi 3 sau Raspberry Pi 4.
2) Comutator releu 5V.
3) Firele electrice.
4) 3 fire de conectare de la mamă la mamă.
5) Bec de curent alternativ.
6) Suport bec bec.
7) Fișă de curent alternativ.
8) Instrument de decupare și decapare.
9) Șurubelniță CR-V 3.
10) adaptor de alimentare Micro-USB (Raspberry Pi 3) sau USB Type-C (Raspberry Pi 4).
11) Card microSD de 16 GB sau 32 GB cu sistem de operare Raspberry Pi intermitent.
12) Conectivitate la rețea pe Raspberry Pi.
13) Laptop sau computer desktop pentru acces desktop VNC la distanță sau acces SSH la Raspberry Pi.



Dacă nu doriți să accesați Raspberry Pi de la distanță prin SSH sau VNC, veți avea nevoie și de următoarele:





14) Un monitor.
15) Cablu HDMI sau micro-HDMI.
16) O tastatură.
17) Un șoarece.

Dacă aveți nevoie de asistență pentru afișarea imaginii Raspberry Pi OS pe cardul microSD, consultați articolul Cum se instalează și se utilizează Raspberry Pi Imager.



Dacă sunteți un începător Raspberry Pi și aveți nevoie de asistență pentru instalarea sistemului de operare Raspberry Pi pe Raspberry Pi, consultați articolul Cum se instalează sistemul de operare Raspberry Pi pe Raspberry Pi 4.

De asemenea, dacă aveți nevoie de asistență cu configurarea fără cap a Raspberry Pi, consultați articolul Cum se instalează și se configurează sistemul de operare Raspberry Pi pe Raspberry Pi 4 fără monitor extern.

Imaginile tuturor instrumentelor necesare sunt prezentate mai jos.

Pornirea Raspberry Pi

Apoi, conectați cablul de alimentare la Raspberry Pi și porniți Raspberry Pi.

Odată ce Raspberry Pi este pornit, vă puteți conecta la Raspberry Pi prin VNC sau SSH. Sau, puteți conecta o tastatură, un mouse și un monitor la Raspberry Pi pentru a le accesa direct.

5V relee Pinouts

Un releu este practic un comutator. Dar, spre deosebire de un comutator tradițional, un releu poate fi controlat de o cantitate mică de tensiune continuă.

Releul de 5V este foarte ușor de utilizat. Are două fețe: o parte este utilizată pentru a controla releul prin DC de joasă tensiune (de la Raspberry Pi), iar cealaltă parte este utilizată pentru a controla tensiunea de înaltă tensiune (de exemplu, becul), în funcție de starea releului. .


Pe o parte, releul are două LED-uri (unul roșu și unul verde) și trei pini ( IN, GND, și VCC ). Acești trei pini sunt utilizați pentru a controla releul de la Raspberry Pi.

Primii doi pini de pe cealaltă parte sunt folosiți pentru a controla aparatul de uz casnic.

Conectarea releului de 5V la Raspberry Pi

Pentru a conecta releul de 5V la Raspberry Pi, veți avea nevoie de trei fire de conectare de la mamă la mamă.

Conectați o parte a firelor de conectare la ÎN (fir galben), GND (fir negru) și VCC (fir roșu) pini în releul de 5V, așa cum se arată mai jos.


Cealaltă parte a firelor intră în pinii antet GPIO ai Raspberry Pi, așa cum se arată în imaginea de mai jos.

Firul roșu ar trebui să intre în PIN 2 (VCC) de Raspberry Pi.
Firul negru ar trebui să intre în PIN 6 (GND) de Raspberry Pi.
Firul galben ar trebui să intre în PIN 7 (GPIO 4) de Raspberry Pi.


Odată ce releul de 5V este conectat la Raspberry Pi, acesta ar trebui să arate așa cum se arată în imaginea de mai jos.

Permiterea accesului GPIO la utilizator de autentificare

Pentru a permite accesul la pinii GPIO, utilizatorul implicit de conectare al sistemului de operare Raspberry Pi pi ar trebui adăugat la gpio grup.

Puteți adăuga pi utilizator la gpio grupați cu următoarea comandă:

$sudousermod-aGgpio $(cine sunt)


Pentru ca modificările să aibă efect, reporniți Raspberry Pi cu următoarea comandă:

$sudoreporniți

Crearea unui director de proiect

De asemenea, este o idee bună să păstrați toate fișierele de proiect organizate.

Pentru a menține fișierele proiectului organizate, creați directorul proiectului ~ / www și subdirectoarele necesare cu următoarea comandă:

$mkdir -pv~/www/{șabloane, statice}


Odată ce directorul proiectului este creat, navigați la directorul proiectului după cum urmează:

$CD~/www

Comutarea releului de 5V de la Raspberry Pi

Acum că ați conectat releul de 5V la Raspberry Pi, veți comuta releul de la Raspberry Pi utilizând limbajul de programare Python.

NOTĂ: Comutare este un termen folosit în electronică. Comutarea înseamnă controlul (adică pornirea / oprirea) unui anumit dispozitiv electronic.

Pentru a experimenta comutarea relei folosind limbajul de programare Python, creați noul script Python test.py în directorul proiectului după cum urmează:

$nanotest.py


Tastați următoarele linii de coduri în scriptul test.py Python.

dingpiozeroimportLED
din timp importdormi

in timp ce Adevărat:
releu=LED(4)
imprimare('A se baza pe')
dormi(5)

releu.închide()
imprimare(„Releu: Dezactivat”)
dormi(5)

Odată ce ați terminat, apăsați + X urmată de ȘI și pentru a salva test.py Script Python.


Aici, linia 1 importă LED de la gpiozero bibliotecă, iar linia 2 importă dormi funcție din timp bibliotecă.


Liniile 6-14 se află într-o buclă infinită.


Linia 6 inițializează un LED în GPIO 4 de Raspberry Pi, care este conectat la ÎN pinul releului.


Linia 8 pornește releul folosind pe() metodă.

Linia 9 tipărește un mesaj în consolă folosind imprimare() funcţie.

Linia 10 întârzie execuția următoarei linii de cod timp de cinci secunde folosind dormi() funcţie.


Linia 12 oprește releul folosind închide() metodă.

În același mod, linia 9 imprimă un mesaj pe consolă folosind imprimare() funcția și linia 10 întârzie execuția următoarei linii de cod timp de 5 secunde folosind dormi() funcţie.


Apoi, rulați test.py Script Python după cum urmează:

$python3 test.py


The test.py Scriptul Python ar trebui să înceapă să comute releu de 5V. Ar trebui să auziți un clic la fiecare cinci secunde. Când releul comută starea (de la pornit la oprit sau de la oprit la pornit), acesta face un zgomot de clic. Aceasta înseamnă că releul funcționează corect.


Când releul se află în starea oprită (funcționare normală - sarcina de curent alternativ este deconectată), numai net LED-ul ar trebui să se aprindă, după cum puteți vedea în imaginea de mai jos.


Când releul este în stare de pornire (sarcina de curent alternativ este conectată), ambele verde LED și the net LED-ul ar trebui să se aprindă, după cum puteți vedea în imaginea de mai jos.


După finalizarea testării, apăsați + C pentru a termina test.py scenariu.

Conectarea becului AC la releu de 5V

Releul de 5V ar trebui să funcționeze acum corect. Acum, veți conecta aparatul dvs. casnic de curent alternativ (un bec, în acest caz) la releul de 5V.

Mai întâi, tăiați firul electric negru conectat la bec cu ajutorul unui cablu.


Odată ce firul electric negru conectat la bec a fost tăiat cu un cablu, acesta ar trebui să arate așa cum se arată în imaginea de mai jos.


Apoi, îndepărtați stratul exterior pentru a expune aproximativ ½ inch din firul electric, așa cum se arată în imaginea de mai jos.


Apoi, pliați firele expuse, așa cum se arată în imaginea de mai jos.


Slăbiți șuruburile marcate ale releului cu o șurubelniță CV-3.


Introduceți firele expuse pe care le-ați dezbrăcat și pliat mai devreme în cele două borne cu șurub și strângeți șuruburile cu o șurubelniță CV-3.

Testarea comutării releului după conectarea sarcinii de curent alternativ

Odată ce sarcina de curent alternativ este conectată la releul de 5V, conectați mufa becului la priza de perete.


Rulați test.py Script Python din directorul proiectului după cum urmează:

$python3 test.py


The test.py Scriptul Python ar trebui să înceapă să comute releul de 5V, care, la rândul său, va comuta becul de înaltă tensiune la intervale de cinci secunde. Becul AC ar trebui să rămână aprins cinci secunde, apoi să stea oprit cinci secunde și așa mai departe.

Becul este oprit în imaginea de mai jos.


Becul este aprins în imaginea de mai jos.


După cum puteți vedea, putem comuta releul și putem controla becul de înaltă tensiune AC folosind limbajul de programare Python. Deci, apăsați + C pentru a termina test.py scenariu.

Să trecem acum la secțiunea următoare.

Scrierea aplicației web de automatizare pentru domiciliu

În această secțiune, vă voi arăta cum să scrieți o aplicație web bazată pe API folosind limbajul de programare Python. Puteți utiliza aplicația web pentru a controla releul și aparatele electrocasnice AC sau dispozitivele electrice conectate la releu dintr-un browser web.

NOTĂ: Toate codurile afișate în această secțiune sunt disponibile în depozitul meu GitHub shovon8 / raspberry-pi-home-automation . Dacă doriți, puteți clona depozitul meu GitHub și sări peste toate codurile.

Creați scriptul server.py Python în directorul proiectului după cum urmează:

$nanoserver.py


Tastați următoarele linii de coduri în server.py Script Python.

dinbalonimportBalon,jsonify,url_for,render_template
dingpiozeroimportLED
dinuuidimportuuid4
camere= {}
camere[„Camera 1”] = [{
„id”: uuid4(),
'Nume':„Lumina 1”,
„pictogramă”:„fa fa-bec”,
'stare':Fals,
'relayPin':4,
'relayInstance':Fals
}, {
„id”: uuid4(),
'Nume':„Fan 1”,
„pictogramă”:„fa fa-fan”,
'stare':Fals,
'relayPin':6,
'relayInstance':Fals
}]
camere[„Baia 1”] = [{
„id”: uuid4(),
'Nume':„Lumina 1”,
„pictogramă”:„fa fa-bec”,
'stare':Fals,
'relayPin':5,
'relayInstance':Fals
}]
aplicație=Balon(__Nume__)
aplicație.config[„SEND_FILE_MAX_AGE_DEFAULT”] = 0
@aplicație.traseu(„/”)
defAcasă():
întoarcererender_template(„./index.html”,camere=camere)
deftoggle_appliance_status(id):
pentrucamerăîncamere:
pentruaparatîncamere[cameră]:
dacă str(aparat[„id”]) == id:
dacăaparat['relayInstance']:
aparat['relayInstance'].închide()
aparat['relayInstance'] = Fals
altceva:
aparat['relayInstance'] =LED(aparat['relayPin'])
aparat['relayInstance'].pe()
aparat['stare'] = nuaparat['stare']
întoarcere Adevărat
întoarcere Fals
@aplicație.traseu('/ appliance / toggle /')
defappliance_toggle(id):
întoarcerejsonify({'stare': toggle_appliance_status(id)})

Odată ce ați terminat, apăsați + X urmată de ȘI și pentru a salva server.py Script Python.


Aici, liniile 1-3 importă toate componentele necesare din bibliotecile lor respective.


Linia 5 creează un gol camere dicţionar. În acest dicționar, vom stoca toate detaliile aparatului AC pe care dorim să le controlăm din aplicația web.


The camere detaliile sunt stocate în rândurile 7-29.


Să discutăm structura de date a uneia dintre camere.

Aici, numele camerei va fi Camera 1. Asa de, Camera 1 este cheia pentru camere dicţionar.


The Camera 1 cheia deține o matrice ca valoare. Numărul de elemente de matrice este egal cu numărul de electrocasnice AC pe care le aveți în camera respectivă pe care doriți să le controlați și din aplicația web. În acest caz, avem două electrocasnice de curent alternativ pe care vrem să le controlăm: Lumina 1 și Ventilatorul 1 .


Fiecare definiție a electrocasnicului are un id . The id este un UUID generat aleatoriu. Aceasta este utilizată pentru a identifica ce cameră dorim să controlăm folosind API-ul.

Un electrocasnic are, de asemenea, toate următoarele:

  • nume (Lumina 1 în acest caz)
  • pictogramă (Clasa de pictograme Font Awesome, deoarece vom folosi Font Awesome pentru pictograme)
  • status (Adevărat dacă pe și Fals dacă oprit )
  • releu Pin (numărul pinului GPIO utilizat pentru controlul releului conectat la aparatul de uz casnic)
  • relayInstance (inițializat LED obiect al gpiozero biblioteca responsabilă de controlul pinului GPIO respectiv - releu Pin )


Linia 31 inițializează un flask server web Python.

Linia 32 configurează serverul web al balonului.


Liniile 34-36 trimit index.html fișier din șabloane / director atunci când accesați aplicația web de automatizare la domiciliu.

Flask utilizează Jinja2 limbaj de modelare pentru a reda index.html fişier. Deci, am trecut de camere dicționar către index.html fişier. Jinja2 va reda pagina de pornire folosind camere date.


Functia toggle_appliance_status () în rândurile 39-52 este utilizat pentru a porni aparatul de uz casnic dacă este oprit și pentru a opri aparatul de uz casnic dacă este pornit folosind aparatul id .

Se întoarce Adevărat dacă operația de comutare este reușită. Dacă există o eroare, aceasta va reveni Fals .


Liniile 55-57 sunt utilizate pentru a comuta un aparat de uz casnic folosind / aparat / comutare / Punct final API al serverului web. Aici, id este ID-ul aparatului de uz casnic.


Creați index.html fișier în șabloane / directorul proiectului dvs. după cum urmează:

$nanoșabloane/index.html

Tastați următoarele linii de coduri în index.html scenariu.


< html lang='pe'>
< cap >
< meta set de caractere=„UTF-8”>
< meta Nume=„vizualizare” conţinut=„lățime = lățimea dispozitivului, scara inițială = 1,0”>
< legătură rel=„foaie de stil” href='{{url_for (' static ', filename =' fontawesome / css / all.min.css ')}}'>
< legătură rel=„foaie de stil” href='{{url_for (' static ', filename =' style.css ')}}'>
< titlu >Home Automation cu Raspberry Pi</ titlu >
</ cap >
< corp >
< div id='conţinut'>
< h1 >Raspberry Pi Home Automation</ h1 >

{% pentru cameră în camere%}
< div clasă='cameră'>
< h2 >{{ cameră }}</ h2 >
< div clasă=„aparate”>
{% pentru aparatul din camere [cameră]%}
< div clasă='aparat' id='{{appliance [' id ']}}'> ='activ'>
< eu clasă='{{appliance [' icon ']}}'></ eu >
< span >{{aparat ['nume']}}</ span >
</ div >
{% endfor%}
</ div >
</ div >
{% endfor%}

</ div >

< scenariu src='{{url_for (' static ', filename =' app.js ')}}' tip=„text / javascript”></ scenariu >
</ corp >
</ html >

Odată ce ați terminat, apăsați + X urmată de ȘI și pentru a salva index.html fişier.


Creeaza o stil.css fișier în static/ directorul proiectului dvs. după cum urmează:

$nanostatic/stil.css


Tastați următoarele linii de coduri în stil.css fişier.

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

* {
marjă: 0;
căptușeală: 0;
familie de fonturi: „BenchNine”, sans-serif;
}

#conţinut >h1{
fundal:gradient liniar(ladreapta, rgb(112, 24, 163), rgb(86, 127, 240));
culoare: #fff;
aliniere text: centru;
căptușeală: .5em 0;
}

div.cameră {
marjă: .5em;
frontieră: 2px solid rgb(112, 24, 163);
frontieră-rază: 5px;
}

div.camerăh2{
/ * fundal: rgb (9, 76, 121); * /
fundal:gradient liniar(ladreapta, rgb(112, 24, 163), rgb(86, 127, 240));
căptușeală: 0 0 0 .5em;
culoare: #fff;
}

div.aparate {
marjă: .5em .5em 0 0;
afişa:contracta;
flex-wrap:înveliți;
}

div.aparat {
frontieră: 2px solid rgb(112, 24, 163);
frontieră-rază: 5px;
lăţime: 110 px;
înălţime: 120 px;
aliniere text: centru;
marjă: 0 0 .5em .5em;
afişa:contracta;
direcție flexibilă:coloană;
}

div.aparateu.fa {
marimea fontului: 4em;
flex-cresc: 1;
căptușeală: 0.3em;
culoare: rgb(204, cincizeci, cincizeci);
}

div.apparat[activ de date='activ']eu.fa {
culoare: rgb(32, 177, 51);
}

div.aparatspan{
afişa: bloc;
grosimea fontului: îndrăzneţ;
fundal: rgb(112, 24, 163);
culoare: #fff;
}

Odată ce ați terminat, apăsați + X urmată de ȘI și pentru a salva stil.css fişier.


Creaza un app.js fișier în static/ directorul proiectului dvs. după cum urmează:

$nanostatic/app.js


Tastați următoarele linii de coduri în app.js fişier.

fereastră.addEventListener('sarcină',principal);

funcţieprincipal() {
funcţietoggleApplianceState(Și) {
Undeid=Și.cale[1].id;

Undehttp= nouXMLHttpRequest();

http.onreadystatechange = funcţie() {
dacă(acest.readyState === 4 && acest.stare === 200) {
dacă(JSON.analiza(acest.text de răspuns).stare === Adevărat) {
dacă(Și.cale[1].hasAttribute(„date-active”)) {
Și.cale[1].removeAttribute(„date-active”)
} altceva {
Și.cale[1].setAttribute(„date-active”, 'activ')
}
}
}
}

http.deschis('OBȚINE',/aparat/comutare/${id}, Adevărat);
http.trimite();
}


Undeelectrocasnice=document.getElementsByClassName('aparat');
pentru(eu=0;eu<electrocasnice.lungime;eu++) {
electrocasnice[eu].addEventListener('clic',toggleApplianceState);
}
}

Odată ce ați terminat, apăsați + X urmată de ȘI și pentru a salva app.js fişier.


Aici, linia 1 rulează principal() funcția când pagina web se termină de încărcat.

În index.html fișier, fiecare aparat de uz casnic este închis într-un fișier aparat clasă. Liniile 26-29 sunt utilizate pentru a selecta fiecare aparat de uz casnic din pagina web și a atașa clic eveniment la aparat. Când cineva face clic pe un electrocasnic de pe pagina web, fișierul toggleApplianceState () funcția va rula.


În rândurile 4-23, toggleApplianceState () funcția este utilizată pentru a solicita / aparat / comutare / punctul final al serverului web pentru a modifica starea aparatului de acasă făcut clic. Solicitarea se face în fundal prin AJAX. Odată ce răspunsul este primit, pagina web este actualizată corespunzător.


Navigați la static/ din directorul proiectului dvs. după cum urmează:

$CDstatic/


Descărcați Font Awesome cu următoarea comandă:

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


Odată ce Font Awesome este descărcat, ar trebui să găsiți noul fișier zip fontawesome-free-5.15.1-web.zip în static/ director.

$eu sunt -lh


Dezarhivați fișierul fontawesome-free-5.15.1-web.zip fișier cu următoarea comandă:

$dezarhivațifontawesome-free-5.15.1-web.zip


The fontawesome-free-5.15.1-web.zip fișierul ar trebui acum dezarhivat.


Noul director fontawesome-free-5.15.1-web / trebuie creat în directorul static /, așa cum puteți vedea în captura de ecran de mai jos.

$eu sunt -lh

Redenumiți directorul fontawesome-free-5.15.1-web / la fontawesome / cu următoarea comandă:

$mv -vfontawesome-free-5.15.1-web fontawesome


Acum, nu mai aveți nevoie de fontawesome-free-5.15.1-web.zip fişier. Deci, eliminați fontawesome-free-5.15.1-web.zip fișier cu următoarea comandă:

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


The static/ structura directorului ar trebui să arate așa cum se arată în captura de ecran de mai jos.

$eu sunt -lh


Navigați înapoi la directorul proiectului ~ / www după cum urmează:

$CD..

Testarea aplicației web de automatizare la domiciliu

Pentru a testa aplicația web de automatizare a casei, rulați următoarea comandă în directorul proiectului:

$FLASK_APP= server.py balonul rulează


Aplicația web ar trebui să fie disponibilă pe portul 5000 al Raspberry Pi.


Din browserul web Chromium, vizitați http: // localhost: 5000 . Aplicația web pentru automatizarea casei ar trebui să se încarce.

Faceți clic pe pictograma becului, indicată în imaginea de mai jos.


Becul de curent alternativ ar trebui să fie pornit. Culoarea pictogramei ar trebui să se schimbe și în verde, indicând faptul că becul este aprins.


Deci, aplicația web de automatizare a casei funcționează. presa + C pentru a termina serverul web.

Crearea serviciului Systemd pentru aplicația web de automatizare la domiciliu

În această secțiune, vă voi arăta cum să creați un fișier de serviciu systemd pentru aplicația web de automatizare a casei, astfel încât să înceapă automat la pornire.

Mai întâi, creați fișierul raspi-home-automation.service fișier în directorul dvs. de proiect după cum urmează:

$nanoraspi-home-automation.service

Tastați următoarele linii în fișierul raspi-home-automation.service.

[Unitate]
Descriere= Serviciul web de automatizare Raspberry Pi
După= network.target
[Serviciu]
Director de lucru=/Acasă/pi/www
Mediu inconjurator=FLASK_APP= server.py
Mediu inconjurator=FLASK_ENV= producție
ExecStart=/usr/a.m/balon rulat--gazdă= 0.0.0.0
StandardOutput= moșteni
Eroare standard= moșteni
Repornire= întotdeauna
Utilizator= pi
[Instalare]
WantedBy= multi-user.target

Odată ce ați terminat, apăsați + X urmată de ȘI și pentru a salva raspi-home-automation.service fişier.


Copiați raspi-home-automation.service fișier la / etc / systemd / system / director cu următoarea comandă:

$sudo cp -vraspi-home-automation.service/etc./sistem/sistem/


Reîncărcați demonii systemd pentru ca modificările să aibă efect după cum urmează:

$sudosystemctl daemon-reload


Adaugă raspi-home-automatizare serviciu pentru pornirea sistemului Raspberry Pi OS cu următoarea comandă:

$sudosystemctlpermiteraspi-home-automation.service


Reporniți Raspberry Pi cu următoarea comandă:

$sudoreporniți


Odată ce Raspberry Pi cizme, raspi-home-automatizare serviciul ar trebui să fie activ / rulat, după cum puteți vedea în captura de ecran de mai jos.

$sudosystemctl status raspi-home-automation.service

Accesarea aplicației Web de automatizare la domiciliu de pe alte dispozitive

Pentru a accesa aplicația web de automatizare casnică de pe alte dispozitive din rețeaua dvs. de domiciliu, va trebui să cunoașteți adresa IP a dispozitivului dvs. Raspberry Pi.

Puteți găsi adresa IP a dispozitivului dvs. Raspberry Pi 4 din interfața de gestionare web a routerului dvs. de acasă. În cazul meu, adresa IP este 192.168.0.103. Acest lucru va fi diferit pentru tine. Deci, asigurați-vă că ați înlocuit IP-ul meu cu al dvs. de acum înainte.


Dacă aveți acces la consola Raspberry Pi, puteți rula următoarea comandă pentru a găsi și adresa IP.

$numele gazdei -Eu


După ce cunoașteți adresa IP a dispozitivului dvs. Raspberry Pi, o puteți accesa de pe orice dispozitiv din rețeaua dvs. de acasă.

După cum puteți vedea în captura de ecran de mai jos, am accesat aplicația web de automatizare a casei de pe smartphone-ul meu Android.


Asigurați-vă că conectați fișa becului la priza de perete.


Becul trebuie oprit în mod implicit.


Dacă atingeți pictograma becului din aplicația web de automatizare a casei, culoarea pictogramei becului ar trebui să se schimbe în verde, indicând faptul că becul este aprins.


După cum puteți vedea în imaginea de mai jos, becul este aprins.

Concluzie

Acest articol v-a arătat cum să utilizați un releu de 5V pentru a controla un dispozitiv electric de înaltă tensiune de la Raspberry Pi utilizând limbajul de programare Python. De asemenea, articolul v-a arătat cum să scrieți o aplicație web basculă Python bazată pe API pentru a controla releul din browserul web. Acest articol ar trebui să vă ajute să începeți cu automatizarea casei folosind Raspberry Pi.