Sett opp Raspberry Pi Home Automation

Set Up Raspberry Pi Home Automation



En av de viktigste tingene for hjemmeautomatisering er å kontrollere høyspent AC ved hjelp av en lavspennings DC. For å kontrollere høyspennings AC fra Raspberry Pi trenger du en 5V relébryter. Du kan kontrollere relébryteren ved hjelp av GPIO -pinnene på Raspberry Pi. Relébryteren kan deretter kontrollere AC -husholdningsapparater gjennom Raspberry Pi.

Denne artikkelen viser deg hvordan du bruker Raspberry Pi og 5V relébryteren til å slå en lyspære av og på fra mobilenheten din. Artikkelen inneholder en web -app som du kan få tilgang til fra hvilken som helst enhet på nettverket ditt og kontrollere trådløse husholdningsapparater i hjemmet ditt. Så la oss komme i gang med vårt enkle Raspberry Pi hjemmeautomatiseringseksperiment.







Ting du trenger

Hvis du vil bruke din Raspberry Pi hodeløs (via SSH eller VNC), trenger du følgende ting:



1) Raspberry Pi 3 eller Raspberry Pi 4.
2) 5V relébryter.
3) Elektriske ledninger.
4) 3 hun-til-hunn-tilkoblingsledninger.
5) AC lyspære.
6) AC lyspæreholder.
7) AC -kontakt.
8) Wirecutter og stripper -verktøy.
9) CR-V 3 skrutrekker.
10) Micro-USB (Raspberry Pi 3) eller USB Type-C (Raspberry Pi 4) strømadapter.
11) 16 GB eller 32 GB microSD -kort med Raspberry Pi OS blinker.
12) Nettverkstilkobling på Raspberry Pi.
13) Bærbar datamaskin eller en stasjonær datamaskin for VNC ekstern skrivebordstilgang eller SSH -tilgang til Raspberry Pi.



Hvis du ikke ønsker å få tilgang til Raspberry Pi eksternt via SSH eller VNC, trenger du også følgende:





14) En skjerm.
15) HDMI- eller mikro-HDMI-kabel.
16) Et tastatur.
17) En mus.

Hvis du trenger hjelp til å blinke Raspberry Pi OS -bildet til microSD -kortet, kan du lese artikkelen How to Install and Use Raspberry Pi Imager.



Hvis du er nybegynner av Raspberry Pi, og du trenger hjelp til å installere Raspberry Pi OS på Raspberry Pi, sjekk artikkelen Slik installerer du Raspberry Pi OS på Raspberry Pi 4.

Hvis du trenger hjelp med det hodeløse oppsettet til Raspberry Pi, kan du se artikkelen Slik installerer og konfigurerer du Raspberry Pi OS på Raspberry Pi 4 uten ekstern skjerm.

Bilder av alle nødvendige verktøy er gitt nedenfor.

Slå på Raspberry Pi

Deretter kobler du strømkabelen til Raspberry Pi og slår på Raspberry Pi.

Når Raspberry Pi er slått på, kan du koble til Raspberry Pi via VNC eller SSH. Eller du kan koble et tastatur, en mus og en skjerm til Raspberry Pi for å få direkte tilgang til den.

5V Relé Pinouts

Et relé er i utgangspunktet en bryter. Men, i motsetning til en tradisjonell bryter, kan et relé styres av en liten mengde likspenning.

5V -reléet er veldig enkelt å bruke. Den har to sider: den ene siden brukes til å styre reléet via lavspennings DC (fra Raspberry Pi), og den andre siden brukes til å kontrollere høyspenningen AC (dvs. lyspæren), avhengig av reléets tilstand .


På den ene siden har reléet to lysdioder (en rød og en grønn) og tre pinner ( IN, GND, og VCC ). Disse tre pinnene brukes til å kontrollere reléet fra Raspberry Pi.

De to første pinnene på den andre siden brukes til å styre husholdningsapparatet.

Koble 5V -reléet til Raspberry Pi

For å koble 5V-reléet til Raspberry Pi trenger du tre hun-til-hunn-tilkoblingskabler.

Plugg den ene siden av tilkoblingskablene til I (gul ledning), GND (svart ledning), og VCC (rød ledning) pinner i 5V -reléet, som vist nedenfor.


Den andre siden av ledningene går inn i GPIO -toppnålene til Raspberry Pi, som vist på bildet nedenfor.

Den røde ledningen skal gå inn i PIN 2 (VCC) av Raspberry Pi.
Den svarte ledningen skal gå inn i PIN 6 (GND) av Raspberry Pi.
Den gule ledningen skal gå inn i PIN 7 (GPIO 4) av Raspberry Pi.


Når 5V -reléet er koblet til Raspberry Pi, skal det se ut som vist på bildet nedenfor.

Tillater GPIO -tilgang til påloggingsbruker

For å gi tilgang til GPIO -pinnene, er standard påloggingsbruker for Raspberry Pi OS pi bør legges til gpio gruppe.

Du kan legge til pi bruker til gpio gruppe med følgende kommando:

$sudobrukerform-aGgpio $(hvem er jeg)


For at endringene skal tre i kraft, start Raspberry Pi på nytt med følgende kommando:

$sudostarte på nytt

Opprette en prosjektkatalog

Det er også en god idé å holde alle prosjektfilene organisert.

For å holde prosjektfilene organisert, opprett prosjektkatalogen ~/www og de nødvendige underkatalogene med følgende kommando:

$mkdir -pv~/www/{maler, statisk}


Når prosjektkatalogen er opprettet, navigerer du til prosjektkatalogen som følger:

$CD~/www

Bytter 5V -reléet fra Raspberry Pi

Nå som du har koblet 5V -reléet til Raspberry Pi, bytter du reléet fra Raspberry Pi ved hjelp av programmeringsspråket Python.

MERK: Bytte er et begrep som brukes i elektronikk. Kobling betyr å kontrollere (dvs. slå på/av) en bestemt elektronisk enhet.

For å eksperimentere med å bytte relé ved hjelp av programmeringsspråket Python, opprett det nye Python -scriptet test.py i prosjektkatalogen som følger:

$nanotest.py


Skriv inn følgende kodelinjer i Python -scriptet test.py.

fragpiozeroimportLED
fra tid importsøvn

samtidig som ekte:
stafett=LED(4)
skrive ut('Stole på')
søvn(5)

stafett.Lukk()
skrive ut('Relé: Av')
søvn(5)

Når du er ferdig, trykker du på + X etterfulgt av OG og for å lagre test.py Python -skript.


Her importerer linje 1 LED fra gpiozero bibliotek, og linje 2 importerer søvn funksjon fra tid bibliotek.


Linje 6-14 er innenfor en uendelig sløyfe.


Linje 6 initialiserer en LED i GPIO 4 av Raspberry Pi, som er koblet til I pin på reléet.


Linje 8 slår på reléet ved hjelp av på() metode.

Linje 9 skriver ut en melding i konsollen ved hjelp av skrive ut() funksjon.

Linje 10 forsinker utførelsen av den neste kodelinjen i fem sekunder med søvn() funksjon.


Linje 12 slår av reléet ved hjelp av Lukk() metode.

På samme måte skriver linje 9 ut en melding på konsollen ved hjelp av skrive ut() funksjon og linje 10 forsinker utførelsen av den neste kodelinjen i 5 sekunder ved bruk av søvn() funksjon.


Deretter kjører du test.py Python -skript som følger:

$python3 test.py


De test.py Python -skriptet bør begynne å bytte 5V -reléet. Du bør høre en klikkelyd hvert femte sekund. Når reléet bytter tilstand (fra på til av eller fra av til på), avgir det en klikkelyd. Dette betyr at reléet fungerer som det skal.


Når reléet er i av-tilstand (normal drift-AC-belastning er frakoblet), er det bare nett LED skal lyse, som du kan se på bildet nedenfor.


Når reléet er i på-tilstand (vekselstrøm er tilkoblet), vil både grønn LED og de nett LED skal lyse, som du kan se på bildet nedenfor.


Når testen er fullført, trykker du på + C å avslutte test.py manus.

Koble lyspæren til 5V -reléet

5V -reléet skal nå fungere skikkelig. Nå vil du koble AC -apparatet (en lyspære, i dette tilfellet) til 5V -reléet.

Kutt først den svarte elektriske ledningen som er koblet til lyspæren med en wirecutter.


Når den svarte elektriske ledningen som er koblet til lyspæren, er kuttet med en ledningskabel, skal den se ut som vist på bildet nedenfor.


Fjern deretter det ytre laget for å avsløre omtrent en halv tomme av den elektriske ledningen, som vist på bildet nedenfor.


Deretter bretter du de eksponerte ledningene, som vist på bildet nedenfor.


Løsne de merkede skruene på reléet med en CV-3 skrutrekker.


Sett inn de synlige ledningene som du fjernet og brettet tidligere i de to skrueterminalene, og stram til skruene med en CV-3 skrutrekker.

Test relébryter etter tilkobling av vekselstrøm

Når AC -belastningen er koblet til 5V -reléet, kobler du lyspæren til stikkontakten.


Kjør test.py Python -skript fra prosjektkatalogen som følger:

$python3 test.py


De test.py Python-script bør begynne å bytte 5V-reléet, som igjen vil bytte høyspennings AC-lyspære med fem sekunders intervaller. AC -lyspæren skal holde seg på i fem sekunder, så holde den av i fem sekunder og så videre.

Lyspæren er slått av på bildet nedenfor.


Lyspæren er på i bildet nedenfor.


Som du kan se, kan vi bytte relé og kontrollere høyspent AC -lyspære ved hjelp av programmeringsspråket Python. Så trykk + C å avslutte test.py manus.

La oss nå gå videre til neste avsnitt.

Skriver Home Automation Web App

I denne delen vil jeg vise deg hvordan du skriver en API-basert webapp ved hjelp av programmeringsspråket Python. Du kan bruke webappen til å kontrollere reléet og AC -apparatet eller elektriske enheter som er koblet til reléet fra en nettleser.

MERK: Alle kodene som vises i denne delen er tilgjengelige i mitt GitHub -depot shovon8 / bringebær-pi-hjemmeautomatisering . Hvis du vil, kan du klone GitHub -depotet mitt og hoppe over alle kodene.

Lag server.py Python -skriptet i prosjektkatalogen som følger:

$nanoserver.py


Skriv inn følgende kodelinjer i server.py Python -skript.

frakolbeimportKolbe,jsonify,url_for,render_template
fragpiozeroimportLED
frauuidimportuuid4
rom= {}
rom['Rom 1'] = [{
'id': uuid4(),
'Navn':'Lys 1',
'ikon':'fa fa-lyspære',
'status':Falsk,
'relayPin':4,
'relayInstance':Falsk
}, {
'id': uuid4(),
'Navn':'Fan 1',
'ikon':'fa fa-fan',
'status':Falsk,
'relayPin':6,
'relayInstance':Falsk
}]
rom['Bad 1'] = [{
'id': uuid4(),
'Navn':'Lys 1',
'ikon':'fa fa-lyspære',
'status':Falsk,
'relayPin':5,
'relayInstance':Falsk
}]
app=Kolbe(__Navn__)
app.konfigur['SEND_FILE_MAX_AGE_DEFAULT'] = 0
@app.rute('/')
defhjem():
komme tilbakerender_template('./index.html',rom=rom)
deftoggle_appliance_status(id):
tilromirom:
tilapparatetirom[rom]:
hvis s(apparatet['id']) == id:
hvisapparatet['relayInstance']:
apparatet['relayInstance'].Lukk()
apparatet['relayInstance'] = Falsk
ellers:
apparatet['relayInstance'] =LED(apparatet['relayPin'])
apparatet['relayInstance'].()
apparatet['status'] = ikkeapparatet['status']
komme tilbake ekte
komme tilbake Falsk
@app.rute('/apparat/veksle/')
defdevice_toggle(id):
komme tilbakejsonify({'status': toggle_appliance_status(id)})

Når du er ferdig, trykker du på + X etterfulgt av OG og for å lagre server.py Python -skript.


Her importerer linje 1-3 alle nødvendige komponenter fra sine respektive biblioteker.


Linje 5 lager en tom rom ordbok. I denne ordboken vil vi lagre alle AC -apparatdetaljer som vi vil kontrollere fra nettappen.


De rom detaljer lagres i linje 7-29.


La oss diskutere datastrukturen til et av rommene.

Her vil romnavnet være Rom 1. Så, Rom 1 er nøkkelen til rom ordbok.


De Rom 1 nøkkelen inneholder en matrise som verdien. Antall arrayelementer er lik antallet AC -husholdningsapparater du har i det rommet som du også vil kontrollere fra nettappen. I dette tilfellet har vi to AC -husholdningsapparater som vi vil kontrollere: Lys 1 og Vifte 1 .


Hver definisjon av husholdningsapparater har en id . De id er en tilfeldig generert UUID. Dette brukes til å identifisere hvilket rom vi vil kontrollere ved hjelp av API.

Et husholdningsapparat har også alt av følgende:

  • navn (lys 1 i dette tilfellet)
  • ikon (Ikonklassen Font Awesome, ettersom vi skal bruke Font Awesome for ikonene)
  • status (sant hvis og Falsk hvis av )
  • reléPin (GPIO -pin -nummeret som brukes til å kontrollere reléet som er koblet til husholdningsapparatet)
  • reléInstance (den initialiserte LED gjenstand for gpiozero bibliotek som er ansvarlig for å kontrollere den respektive GPIO -pinnen - reléPin )


Linje 31 initialiserer en kolbe Python -webserver.

Linje 32 konfigurerer kolbe -webserveren.


Linje 34-36 sender index.html filen fra maler/ katalog når du besøker hjemmesiden for hjemmeautomatisering.

Kolbe bruker Jinja2 malingsspråk for å gjengi index.html fil. Så, jeg har bestått rom ordbok til index.html fil. Jinja2 vil gjengi hjemmesiden ved hjelp av rom data.


Funksjonen toggle_appliance_status () i linje 39-52 brukes til å slå på husholdningsapparatet hvis det er slått av og slå på husholdningsapparatet hvis det er på ved bruk av apparatets id .

Det kommer tilbake ekte hvis veksleoperasjonen er vellykket. Hvis det er en feil, kommer den tilbake Falsk .


Linje 55-57 brukes til å veksle et husholdningsapparat med /apparat/veksle/ API -endepunkt for webserveren. Her, id er ID -en til husholdningsapparatet.


Lag index.html filen i maler/ katalogen for prosjektet ditt som følger:

$nanomaler/index.html

Skriv inn følgende kodelinjer i index.html manus.


< html lang='på'>
< hode >
< meta tegnsett='UTF-8'>
< meta Navn='viewport' innhold='width = device-width, initial-scale = 1.0'>
< lenke rel='stilark' href='{{url_for (' statisk ', filnavn =' fontawesome/css/all.min.css ')}}'>
< lenke rel='stilark' href='{{url_for (' statisk ', filnavn =' style.css ')}}'>
< tittel >Hjemmeautomatisering med Raspberry Pi</ tittel >
</ hode >
< kropp >
< div id='innhold'>
< h1 >Raspberry Pi Home Automation</ h1 >

{ % for rom i rom %}
< div klasse='rom'>
< h2 >{{room}}</ h2 >
< div klasse='apparater'>
{ % for apparat i rom [rom] %}
< div klasse='apparat' id='{{device [' id ']}}'> ='aktiv'>
< Jeg klasse='{{device [' icon ']}}'></ Jeg >
< spenn >{{device ['name']}}</ spenn >
</ div >
{ % endfor %}
</ div >
</ div >
{ % endfor %}

</ div >

< manus src='{{url_for (' static ', filnavn =' app.js ')}}' type='tekst/javascript'></ manus >
</ kropp >
</ html >

Når du er ferdig, trykker du på + X etterfulgt av OG og for å lagre index.html fil.


Lage en style.css filen i statisk/ katalogen for prosjektet ditt som følger:

$nanostatisk/style.css


Skriv inn følgende kodelinjer i style.css fil.

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

* {
margin: 0;
polstring: 0;
font-familie: 'BenchNine', sans serif;
}

#innhold >h1{
bakgrunn:lineær gradient(tilIkke sant, rgb(112, 24, 163), rgb(86, 127, 240));
farge: #fff;
tekstjustering: senter;
polstring: .5em 0;
}

div.rom {
margin: .5em;
grense: 2px fast rgb(112, 24, 163);
grense-radius: 5px;
}

div.romh2{
/* bakgrunn: rgb (9, 76, 121); */
bakgrunn:lineær gradient(tilIkke sant, rgb(112, 24, 163), rgb(86, 127, 240));
polstring: 0 0 0 .5em;
farge: #fff;
}

div.apparater {
margin: .5em .5em 0 0;
vise:fleks;
flex-wrap:pakke inn;
}

div.apparat {
grense: 2px fast rgb(112, 24, 163);
grense-radius: 5px;
bredde: 110px;
høyde: 120px;
tekstjustering: senter;
margin: 0 0 .5em .5em;
vise:fleks;
fleksibel retning:kolonne;
}

div.apparatJeg.fa {
skriftstørrelse: 4em;
flex-vokse: 1;
polstring: 0,3 em;
farge: rgb(204, femti, femti);
}

div. apparat[dataaktive='aktiv']Jeg.fa {
farge: rgb(32, 177, 51);
}

div.apparatspenn{
vise: blokkere;
font-vekt: modig;
bakgrunn: rgb(112, 24, 163);
farge: #fff;
}

Når du er ferdig, trykker du på + X etterfulgt av OG og for å lagre style.css fil.


Lag en app.js filen i statisk/ katalogen for prosjektet ditt som følger:

$nanostatisk/app.js


Skriv inn følgende kodelinjer i app.js fil.

vindu.addEventListener('laste',hoved-);

funksjonhoved-() {
funksjontoggleApplianceState(Og) {
hvorid=Og.sti[1].id;

hvorhttp= nyXMLHttpRequest();

http.onreadystatechange = funksjon() {
hvis(dette.readyState === 4 && dette.status === 200) {
hvis(JSON.analysere(dette.responseText).status === ekte) {
hvis(Og.sti[1].hasAttribute('data-aktiv')) {
Og.sti[1].removeAttribute('data-aktiv')
} ellers {
Og.sti[1].setAttribute('data-aktiv', 'aktiv')
}
}
}
}

http.åpen('FÅ',``/apparatet/veksle/${id}``, ekte);
http.sende();
}


hvorapparater=dokument.getElementsByClassName('apparat');
til(Jeg=0;Jeg<apparater.lengde;Jeg++) {
apparater[Jeg].addEventListener('klikk',toggleApplianceState);
}
}

Når du er ferdig, trykker du på + X etterfulgt av OG og for å lagre app.js fil.


Her kjører linje 1 hoved() funksjon når websiden er lastet inn.

I index.html hver husholdningsapparat er vedlagt i en apparatet klasse. Linje 26-29 brukes til å velge hvert husholdningsapparat fra websiden og legge ved klikk hendelse for apparatet. Når noen klikker på et husholdningsapparat fra nettsiden, vises toggleApplianceState () funksjonen vil kjøre.


I linje 4-23, toggleApplianceState () funksjonen brukes til å be om /apparat/veksle/ endepunktet til webserveren for å endre tilstanden til det klikkede hjemmeapparatet. Forespørselen sendes i bakgrunnen via AJAX. Når svaret er mottatt, oppdateres websiden tilsvarende.


Naviger til statisk/ katalogen i prosjektkatalogen din som følger:

$CDstatisk/


Last ned Font Awesome med følgende kommando:

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


Når Font Awesome er lastet ned, bør du finne den nye zip -filen fontawesome-free-5.15.1-web.zip i statisk/ katalog.

$ls -lh


Pakk ut fontawesome-free-5.15.1-web.zip fil med følgende kommando:

$pakke utfontawesome-free-5.15.1-web.zip


De fontawesome-free-5.15.1-web.zip filen skal nå pakkes ut.


Den nye katalogen fontawesome-free-5.15.1-web/ skal opprettes i statikken/ katalogen, som du kan se på skjermbildet nedenfor.

$ls -lh

Gi nytt navn til katalogen fontawesome-free-5.15.1-web/ til fontawesome/ med følgende kommando:

$mv -vfontawesome-free-5.15.1-web fontawesome


Nå trenger du ikke lenger fontawesome-free-5.15.1-web.zip fil. Så fjern fontawesome-free-5.15.1-web.zip fil med følgende kommando:

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


De statisk/ katalogstrukturen skal se ut som vist på skjermbildet nedenfor.

$ls -lh


Naviger tilbake til prosjektkatalogen ~/www følgende:

$CD..

Testing av hjemmeautomatisering -webappen

For å teste webapplikasjonen for hjemmeautomatisering, kjør følgende kommando i prosjektkatalogen:

$FLASK_APP= server.py kolbe kjøre


Nettappen bør være tilgjengelig på port 5000 på din Raspberry Pi.


Gå til Chromium -nettleseren http: // lokal vert: 5000 . Hjemmeautomatiseringsnettappen bør lastes inn.

Klikk på lyspæreikonet, angitt på bildet nedenfor.


AC -lyspæren skal nå slås på. Ikonfargen bør også endres til grønt, noe som indikerer at lyspæren er på.


Så, hjemmeautomatiseringswebappen fungerer. trykk + C å avslutte webserveren.

Opprette Systemd Service for Home Automation Web App

I denne delen vil jeg vise deg hvordan du oppretter en systemd -servicefil for hjemmeautomatiseringswebappen slik at den starter automatisk ved oppstart.

Opprett først raspi-home-automation.service filen i prosjektkatalogen som følger:

$nanoraspi-home-automation.service

Skriv inn følgende linjer i raspi-home-automation.service-filen.

[Enhet]
Beskrivelse= Raspberry Pi Home Automation Web Service
Etter= nettverk.mål
[Service]
WorkingDirectory=/hjem/pi/www
Miljø=FLASK_APP= server.py
Miljø=FLASK_ENV= produksjon
ExecStart=/usr/er/kolbe kjøre--vert= 0.0.0.0
Standard utgang= arve
Standard feil= arve
Omstart= alltid
Bruker= pi
[Installere]
WantedBy= multi-user.target

Når du er ferdig, trykker du på + X etterfulgt av OG og for å lagre raspi-home-automation.service fil.


Kopier raspi-home-automation.service filen til /etc/systemd/system/ katalog med følgende kommando:

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


Last inn systemdemonene på nytt for at endringene skal tre i kraft som følger:

$sudosystemctl daemon-reload


Legg til raspi-hjemmeautomatisering service til systemoppstart av Raspberry Pi OS med følgende kommando:

$sudosystemctlmuliggjøreraspi-home-automation.service


Start Raspberry Pi på nytt med følgende kommando:

$sudostarte på nytt


Når Raspberry Pi støvler, vil raspi-hjemmeautomatisering tjenesten skal være aktiv/kjørende, som du kan se på skjermbildet nedenfor.

$sudosystemctl status raspi-home-automation.service

Få tilgang til hjemmeautomatisering -webappen fra andre enheter

For å få tilgang til hjemmeautomatiseringswebappen fra andre enheter i hjemmenettverket, må du vite IP -adressen til Raspberry Pi -enheten din.

Du kan finne IP -adressen til Raspberry Pi 4 -enheten din fra webadministrasjonsgrensesnittet til hjemmeruteren. I mitt tilfelle er IP -adressen 192.168.0.103. Dette vil være annerledes for deg. Så husk å erstatte min IP med din fra nå av.


Hvis du har tilgang til Raspberry Pi -konsollen, kan du også kjøre følgende kommando for å finne IP -adressen.

$vertsnavn -JEG


Når du kjenner IP -adressen til Raspberry Pi -enheten din, kan du få tilgang til den fra hvilken som helst enhet i hjemmenettverket.

Som du kan se på skjermbildet nedenfor, har jeg fått tilgang til hjemmesiden for automatisering av hjemmet fra min Android -smarttelefon.


Sørg for å koble lyspæren til vegguttaket.


Lyspæren bør være slått av som standard.


Hvis du trykker på lyspæreikonet fra hjemmesiden for hjemmeautomatisering, bør fargen på lyspæren endres til grønt, noe som indikerer at lyspæren er på.


Som du kan se på bildet nedenfor, er lyspæren på.

Konklusjon

Denne artikkelen viste deg hvordan du bruker et 5V-relé for å kontrollere en høyspennings AC-enhet fra Raspberry Pi ved hjelp av programmeringsspråket Python. Artikkelen viste deg også hvordan du skriver en API -basert Python -kolbe -webapp for å kontrollere reléet fra nettleseren. Denne artikkelen skal hjelpe deg med å komme i gang med hjemmeautomatisering ved hjelp av Raspberry Pi.