Raspberry Pi

Raspberry Pi-huisautomatisering instellen

Raspberry Pi-huisautomatisering instellen
Een van de belangrijkste dingen voor domotica is het aansturen van hoogspannings-wisselstroom met behulp van een laagspannings-gelijkstroom. Om de hoogspanningswisselstroom van Raspberry Pi te regelen, hebt u een 5V-relaisschakelaar nodig. U kunt de relaisschakelaar bedienen met behulp van de GPIO-pinnen van Raspberry Pi. De relaisschakelaar kan vervolgens de AC-huishoudapparaten bedienen via Raspberry Pi.

Dit artikel laat je zien hoe je de Raspberry Pi en de 5V-relaisschakelaar gebruikt om een ​​gloeilamp aan en uit te zetten vanaf je mobiele apparaat. Het artikel bevat een web-app die u vanaf elk apparaat in uw netwerk kunt openen en waarmee u alle huishoudelijke AC-apparaten in uw huis draadloos kunt bedienen. Dus laten we aan de slag gaan met ons eenvoudige Raspberry Pi-huisautomatiseringsexperiment.

Dingen die je nodig hebt

Als je je Raspberry Pi headless wilt gebruiken (via SSH of VNC), heb je de volgende dingen nodig:

1) Raspberry Pi 3 of Raspberry Pi 4.
2) 5V relaisschakelaar.
3) Elektrische draden.
4) 3 vrouw-naar-vrouw verbindingsdraden.
5) AC-gloeilamp.
6) AC-lamphouder.
7) AC-stekker.
8) Draadknipper en striptang.
9) CR-V 3 schroevendraaier.
10) Micro-USB (Raspberry Pi 3) of USB Type-C (Raspberry Pi 4) voedingsadapter.
11) 16 GB of 32 GB microSD-kaart met Raspberry Pi OS geflitst.
12) Netwerkconnectiviteit op Raspberry Pi.
13) Laptop of een desktopcomputer voor externe VNC-desktoptoegang of SSH-toegang tot Raspberry Pi.

Als je Raspberry Pi niet op afstand wilt benaderen via SSH of VNC, heb je ook het volgende nodig:

14) Een monitor.
15) HDMI- of micro-HDMI-kabel.
16) Een toetsenbord.
17) Een muis.

Als je hulp nodig hebt bij het flashen van de Raspberry Pi OS-image naar de microSD-kaart, bekijk dan het artikel Raspberry Pi Imager installeren en gebruiken.

Als je een Raspberry Pi-beginner bent en hulp nodig hebt bij het installeren van Raspberry Pi OS op Raspberry Pi, bekijk dan het artikel Raspberry Pi OS installeren op Raspberry Pi 4.

Als je hulp nodig hebt bij de headless setup van Raspberry Pi, bekijk dan ook het artikel Raspberry Pi OS installeren en configureren op Raspberry Pi 4 zonder externe monitor.

Hieronder vindt u afbeeldingen van alle benodigde gereedschappen:.

Raspberry Pi inschakelen

Sluit vervolgens de voedingskabel aan op de Raspberry Pi en schakel de Raspberry Pi in.

Zodra Raspberry Pi is ingeschakeld, kunt u verbinding maken met Raspberry Pi via VNC of SSH. Of u kunt een toetsenbord, een muis en een monitor op de Raspberry Pi aansluiten om er direct toegang toe te krijgen.

5V Relais Pinouts

Een relais is in feite een schakelaar. Maar, in tegenstelling tot een traditionele schakelaar, kan een relais worden bestuurd door een kleine hoeveelheid gelijkspanning.

Het 5V-relais is heel gemakkelijk te gebruiken. Het heeft twee kanten: de ene kant wordt gebruikt om het relais te regelen via laagspannings-gelijkstroom (van Raspberry Pi), en de andere kant wordt gebruikt om de hoogspannings-wisselstroom te regelen (i.e., de gloeilamp), afhankelijk van de status van het relais.


Aan de ene kant heeft het relais twee LED's (een rode en een groene) en drie pinnen (IN, GND, en VCC). Deze drie pinnen worden gebruikt om het relais van Raspberry Pi te besturen.

De eerste twee pinnen aan de andere kant worden gebruikt om het AC-huishoudapparaat te bedienen.

Het 5V-relais aansluiten op de Raspberry Pi

Om het 5V-relais op de Raspberry Pi aan te sluiten, heb je drie vrouwelijke naar vrouwelijke verbindingsdraden nodig.

Steek een kant van de aansluitdraden in de IN (gele draad), GND (zwarte draad), en VCC (rode draad) pinnen in het 5V-relais, zoals hieronder weergegeven:.


De andere kant van de draden gaat in de GPIO-headerpinnen van Raspberry Pi, zoals weergegeven in de onderstaande afbeelding:.

De rode draad moet in de gaan PIN 2 (VCC) van Raspberry Pi.
De zwarte draad moet in de gaan PIN 6 (GND) van Raspberry Pi.
De gele draad moet in de PIN 7 (GPIO 4) van Raspberry Pi.


Zodra het 5V-relais is aangesloten op Raspberry Pi, zou het eruit moeten zien zoals in de onderstaande afbeelding:.

GPIO-toegang toestaan ​​voor ingelogde gebruiker

Om toegang tot de GPIO-pinnen toe te staan, is de standaard login-gebruiker van Raspberry Pi OS pi moet worden toegevoegd aan de gpio groep.

U kunt de . toevoegen pi gebruiker naar de gpio groep met het volgende commando:

$ sudo usermod -aG gpio $(whoami)


Om de wijzigingen door te voeren, start u Raspberry Pi opnieuw op met de volgende opdracht:

$ sudo opnieuw opstarten

Een projectmap maken Creating

Het is ook een goed idee om alle projectbestanden georganiseerd te houden.

Om de projectbestanden georganiseerd te houden, maakt u de projectdirectory aan ~/www en de vereiste submappen met de volgende opdracht:

$ mkdir -pv ~/www/templates,static


Nadat de projectdirectory is gemaakt, navigeert u als volgt naar de projectdirectory:

$ cd ~/www

Het 5V-relais van Raspberry Pi wisselen

Nu je het 5V-relais op de Raspberry Pi hebt aangesloten, schakel je het relais van de Raspberry Pi met behulp van de programmeertaal Python.

OPMERKING: Overstappen is een term die wordt gebruikt in de elektronica. Schakelen betekent regelen (i.e. aan-/uitzetten) van een bepaald elektronisch apparaat.

Om te experimenteren met het schakelen van het relais met behulp van de programmeertaal Python, maakt u de nieuwe Python-scripttest.py in de projectdirectory als volgt:

$ nano-test.py


Typ de volgende regels codes in de test:.py Python-script.

van gpiozero import LED
van tijd import slaap
terwijl waar:
relais = LED(4)
print("Relais: Aan")
slapen(5)
relais.dichtbij()
print("Relais: Uit")
slapen(5)

Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden test.py Python-script.


Hier, regel 1 importeert LED van de gpiozero bibliotheek, en regel 2 importeert de slaap functie van de tijd bibliotheek.


Regels 6-14 bevinden zich in een oneindige lus.


Regel 6 initialiseert een LED in de GPIO 4 van Raspberry Pi, die is aangesloten op de IN pin van het relais.


Lijn 8 schakelt het relais in met behulp van de Aan() methode.

Regel 9 drukt een bericht af in de console met behulp van de afdrukken() functie.

Regel 10 vertraagt ​​de uitvoering van de volgende regel code gedurende vijf seconden met behulp van de slaap() functie.


Lijn 12 schakelt het relais uit met de dichtbij() methode.

Op dezelfde manier drukt regel 9 een bericht af op de console met behulp van de afdrukken() functie en regel 10 vertraagt ​​de uitvoering van de volgende regel code gedurende 5 seconden met behulp van de slaap() functie.


Voer vervolgens de . uit test.py Python-script als volgt:

$ python3-test.py


De test.py Python-script zou moeten beginnen met het schakelen van het 5V-relais. Je zou elke vijf seconden een klikgeluid moeten horen. Wanneer het relais van status schakelt (van aan naar uit of van uit naar aan), maakt het een klikkend geluid. Dit betekent dat het relais goed functioneert functioning.


Wanneer het relais in de uit-stand staat (normale werking - AC-belasting is losgekoppeld), is alleen de rood LED moet oplichten, zoals je kunt zien in de onderstaande afbeelding image.


Wanneer het relais in de aan-stand staat (AC-belasting is aangesloten), zijn zowel de groen LED en de rood LED moet oplichten, zoals je kunt zien in de onderstaande afbeelding image.


Zodra het testen is voltooid, drukt u op + C om de . te beëindigen test.py script.

De AC-gloeilamp aansluiten op het 5V-relais

Het 5V-relais zou nu correct moeten werken. Nu sluit je je AC-huishoudapparaat (in dit geval een gloeilamp) aan op het 5V-relais.

Knip eerst de zwarte elektrische draad die op de gloeilamp is aangesloten door met een draadknipper.


Zodra de zwarte elektrische draad die op de gloeilamp is aangesloten, is doorgesneden met een draadknipper, moet deze eruit zien zoals weergegeven in de onderstaande afbeelding.


Verwijder vervolgens de buitenste laag om ongeveer ½ inch van de elektrische draad bloot te leggen, zoals weergegeven in de onderstaande afbeelding.


Vouw vervolgens de blootliggende draden, zoals weergegeven in de onderstaande afbeelding.


Draai de gemarkeerde schroeven van het relais los met een CV-3 schroevendraaier.


Steek de blootliggende draden die u eerder hebt gestript en gevouwen in de twee schroefklemmen en draai de schroeven vast met een CV-3-schroevendraaier.

Testen van relaisschakeling na aansluiting van AC-belasting

Zodra de AC-belasting is aangesloten op het 5V-relais, sluit u de gloeilampstekker aan op het stopcontact wall.


Voer de ... uit test.py Python-script uit de projectdirectory als volgt:

$ python3-test.py


De test.py Python-script zou moeten beginnen met het schakelen van het 5V-relais, dat op zijn beurt de hoogspannings-AC-gloeilamp met intervallen van vijf seconden zal schakelen. De AC-lamp moet vijf seconden aan blijven, dan vijf seconden uit, enzovoort.

De gloeilamp is uit in de onderstaande afbeelding.


De gloeilamp is aan in de onderstaande afbeelding.


Zoals je kunt zien, kunnen we het relais schakelen en de hoogspannings-AC-gloeilamp bedienen met behulp van de programmeertaal Python Python. Dus, druk op + C om de . te beëindigen test.py script.

Laten we nu verder gaan met de volgende sectie.

De web-app voor huisautomatisering schrijven

In dit gedeelte laat ik u zien hoe u een op API gebaseerde web-app schrijft met behulp van de programmeertaal Python. U kunt de web-app gebruiken om het relais en de AC-huishoudapparaten of elektrische apparaten die op het relais zijn aangesloten, te bedienen vanuit een webbrowser.

OPMERKING: Alle codes die in deze sectie worden getoond, zijn beschikbaar in mijn GitHub-repository shovon8/raspberry-pi-home-automation. Als je wilt, kun je mijn GitHub-repository klonen en alle codes overslaan.

Maak de server.py Python-script in de projectdirectory als volgt:

$ nano-server.py


Typ de volgende regels codes in de server.py Python-script.

from flask import Flask, jsonify, url_for, render_template
van gpiozero import LED
van uuid import uuid4
kamers =
kamers['Kamer 1'] = [
'id': uuid4(),
'naam': 'Licht 1',
'icon': 'fa fa-gloeilamp',
'status': False,
'relaispin': 4,
'relayInstance': False
,
'id': uuid4(),
'naam': 'Ventilator 1',
'icon': 'fa fa-fan',
'status': False,
'relaispin': 6,
'relayInstance': False
]
kamers['Badkamer 1'] = [
'id': uuid4(),
'naam': 'Licht 1',
'icon': 'fa fa-gloeilamp',
'status': False,
'relaispin': 5,
'relayInstance': False
]
app = Kolf(__naam__)
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
@app.route('/')
zeker thuis():
return render_template('./inhoudsopgave.html', kamers=kamers)
def toggle_appliance_status(id):
voor kamer in kamers:
voor apparaat in kamers [kamer]:
if str(apparaat['id']) == id:
if appliance['relayInstance']:
apparaat['relayInstance'].dichtbij()
appliance['relayInstance'] = False
anders:
apparaat['relayInstance'] = LED(apparaat['relayPin'])
apparaat['relayInstance'].Aan()
apparaat['status'] = niet apparaat['status']
retourneer True
retourneer False
@app.route('/apparaat/toggle/')
def appliance_toggle(id):
return jsonify('status': toggle_appliance_status(id))

Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden server.py Python-script.


Hier importeren regels 1-3 alle benodigde componenten uit hun respectievelijke bibliotheken.


Regel 5 maakt een lege kamers woordenboek. In dit woordenboek slaan we alle details van het AC-apparaat op die we willen bedienen vanuit de web-app.


De kamers details worden opgeslagen in regels 7-29.


Laten we de datastructuur van een van de kamers bespreken.

Hier zal de kamernaam zijn Kamer 1. Zo, Kamer 1 is de sleutel tot de kamers woordenboek.


De Kamer 1 sleutel bevat een array als de waarde. Het aantal array-elementen is gelijk aan het aantal AC-huishoudapparaten dat je in die kamer hebt staan ​​en die je ook wilt bedienen vanuit de webapp. In dit geval hebben we twee huishoudelijke AC-apparaten die we willen bedienen: Licht 1 en Ventilator 1.


Elke definitie van huishoudelijke apparaten heeft een ID kaart. De ID kaart is een willekeurig gegenereerde UUID. Dit wordt gebruikt om te identificeren welke kamer we willen besturen met behulp van de API.

Een huishoudelijk apparaat heeft ook al het volgende:

  • naam (Licht 1 in dit geval)
  • icoon (Font Awesome-pictogramklasse, omdat we Font Awesome voor de pictogrammen zullen gebruiken)
  • status (waar als Aan en niet waar als uit)
  • relaisPin (het GPIO-pinnummer dat wordt gebruikt om het relais te bedienen dat is aangesloten op het AC-huishoudapparaat)
  • relayInstance (de geïnitialiseerde LED voorwerp van gpiozero bibliotheek die verantwoordelijk is voor het besturen van de respectieve GPIO-pin - relaisPin)


Regel 31 initialiseert een flask Python-webserver.

Regel 32 configureert de flask-webserver.


Lijnen 34-36 sturen de inhoudsopgave.html bestand van de Sjablonen/ directory wanneer u de web-app voor huisautomatisering bezoekt.

Kolf gebruikt Jinja2 sjabloontaal om de . weer te geven inhoudsopgave.html het dossier. Dus ik ben geslaagd voor de kamers woordenboek naar de inhoudsopgave.html het dossier. Jinja2 zal de startpagina weergeven met behulp van de kamers gegevens.


De functie toggle_appliance_status() in regels 39-52 wordt gebruikt om het huishoudapparaat in te schakelen als het uit staat en het huishoudapparaat uit te schakelen als het aan staat met behulp van de ID kaart.

Het keert terug waar als de wisselbewerking succesvol is operation. Als er een fout is, keert het terug niet waar.


Regels 55-57 worden gebruikt om een ​​huishoudapparaat te schakelen met behulp van de /apparaat/toggle/ API-eindpunt van de webserver. Hier, ID kaart is de ID van het huishoudapparaat.


Maak de inhoudsopgave.html bestand in de Sjablonen/ directory van uw project als volgt:

$ nano-sjablonen/index.html

Typ de volgende regels codes in de inhoudsopgave.html script.








Domotica met Raspberry Pi



Raspberry Pi-huisautomatisering


% voor kamer in kamers %

kamer



% voor apparaat in kamers[kamer] %


apparaat['naam']

% eindvoor %


% eindvoor %



Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden inhoudsopgave.html het dossier.


Maak een stijl.css bestand in de statisch/ directory van uw project als volgt:

$ nano statisch/stijl.css


Typ de volgende regels codes in de stijl.css het dossier.

@import url('https://fonts.googleapis.com/css2?family=BenchNine:[email protected];400;700&display=swap');
*
marge: 0;
opvulling: 0;
font-familie: 'BenchNine', schreefloos;

#inhoud > h1
achtergrond: lineair verloop (naar rechts, rgb(112, 24, 163), rgb(86, 127, 240));
kleur: #fff;
tekst uitlijnen: midden;
opvulling: .5em 0;

div.kamer
marge: .5em;
rand: 2px effen rgb (112, 24, 163);
grens-radius: 5px;

div.kamer h2
/* achtergrond: rgb(9, 76, 121); */
achtergrond: lineair verloop (naar rechts, rgb(112, 24, 163), rgb(86, 127, 240));
opvulling: 0 0 0 .5em;
kleur: #fff;

div.huishoudelijke apparaten
marge: .5em .5em 0 0;
weergave: flexibel;
flexomslag: omslag;

div.apparaat
rand: 2px effen rgb (112, 24, 163);
grens-radius: 5px;
breedte: 110px;
hoogte: 120px;
tekst uitlijnen: midden;
marge: 0 0 .5em .5em;
weergave: flexibel;
flex-richting: kolom;

div.apparaat i.fa
lettergrootte: 4em;
flex groeien: 1;
padding-top: 0.3em;
kleur: rgb (204, 50, 50);

div.apparaat[data-active="active"] i.fa
kleur: rgb(32, 177, 51);

div.apparaat overspanning
weergave: blok;
lettergewicht: vet;
achtergrond: rgb(112, 24, 163);
kleur: #fff;

Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden stijl.css het dossier.


Creëer een app.js bestand in de statisch/ directory van uw project als volgt:

$ nano statisch/app.js


Typ de volgende regels codes in de app.js het dossier.

venster.addEventListener('load', main);
functie hoofd()
functie toggleApplianceState(e)
var id = e.pad[1].ID kaart;
var http = nieuwe XMLHttpRequest();
http.onreadystatechange = functie()
als dit.readyState === 4 && dit.status === 200)
als (JSON).ontleden (dit.reactietekst).status === waar)
als (e.pad[1].hasAttribute('data-actief'))
e.pad[1].removeAttribute('data-actief')
anders
e.pad[1].setAttribute('data-actief', 'actief')




http.open("GET", '/appliance/toggle/$id', true);
http.sturen();

var toestellen = document.getElementsByClassName('apparaat');
voor(i=0; i < appliances.length; i++)
apparaten[i].addEventListener('klik', toggleApplianceState);

Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden app.js het dossier.


Hier voert lijn 1 de hoofd() functie wanneer de webpagina klaar is met laden.

In de inhoudsopgave.html bestand, is elk huishoudapparaat ingesloten in een apparaat klasse. Regels 26-29 worden gebruikt om elk huishoudapparaat van de webpagina te selecteren en de Klik gebeurtenis naar het apparaat. Wanneer iemand vanaf de webpagina op een huishoudapparaat klikt, toggleApplianceState() functie wordt uitgevoerd.


In regels 4-23, de toggleApplianceState() functie wordt gebruikt om de . aan te vragen /apparaat/toggle/ eindpunt van de webserver om de status van het aangeklikte huishoudapparaat te wijzigen. Het verzoek wordt op de achtergrond gedaan via AJAX. Zodra het antwoord is ontvangen, wordt de webpagina dienovereenkomstig bijgewerkt.


Navigeer naar de statisch/ directory in uw projectdirectory als volgt:

$ cd statisch/


Download Font Awesome met het volgende commando:

$ wget https://gebruiken.geweldig.com/releases/v5.15.1/fontawesome-vrij-5.15.1-web.zip


Zodra Font Awesome is gedownload, zou je het nieuwe zipbestand moeten vinden fontawsome-vrij-5.15.1-web.zip in de statisch/ map.

$ ls -lh


Pak de uit fontawsome-vrij-5.15.1-web.zip bestand met het volgende commando:

$ unzip fontawesome-free-5.15.1-web.zip


De fontawsome-vrij-5.15.1-web.zip bestand moet nu worden uitgepakt.


De nieuwe map fontawsome-vrij-5.15.1-web/ moet worden gemaakt in de static/ directory, zoals je kunt zien in de onderstaande schermafbeelding.

$ ls -lh

Hernoem de map fontawsome-vrij-5.15.1-web/ naar geweldig/ met het volgende commando:

$ mv -v fontawesome-free-5.15.1-web geweldig


Nu heb je de fontawsome-vrij-5.15.1-web.zip het dossier. Dus verwijder de fontawsome-vrij-5.15.1-web.zip bestand met het volgende commando:

$ rm -v fontawesome-free-5.15.1-web.zip


De statisch/ directorystructuur zou eruit moeten zien zoals getoond in de onderstaande schermafbeelding.

$ ls -lh


Navigeer terug naar de projectdirectory ~/www als volgt:

$ cd…

De web-app voor huisautomatisering testen

Om de domotica-webapp te testen, voert u de volgende opdracht uit in uw projectdirectory:

$ FLASK_APP=server.py flask run


De web-app moet beschikbaar zijn op poort 5000 van uw Raspberry Pi.


Ga vanuit de Chromium-webbrowser naar http://localhost:5000. De web-app voor huisautomatisering moet worden geladen.

Klik op het gloeilamppictogram, aangegeven in de onderstaande afbeelding.


De AC-lamp zou nu moeten worden ingeschakeld. De pictogramkleur moet ook groen worden, wat aangeeft dat de gloeilamp aan is light.


De web-app voor domotica werkt dus. druk op + C om de webserver te beëindigen.

Systemd-service maken voor de Home Automation-webapp

In dit gedeelte laat ik u zien hoe u een systemd-servicebestand maakt voor de web-app voor huisautomatisering, zodat het automatisch wordt gestart bij het opstarten.

Maak eerst de raspi-home-automation.onderhoud bestand als volgt in uw projectdirectory:

$ nano raspi-huisautomatisering.onderhoud

Typ de volgende regels in de raspi-home-automation.servicebestand.

[Eenheid]
Description=Raspberry Pi Home Automation Web Service
Na=netwerk.doelwit
[Onderhoud]
WorkingDirectory=/home/pi/www
Omgeving=FLASK_APP=server.py
Omgeving=FLASK_ENV=productie
ExecStart=/usr/bin/flask run --host=0.0.0.0
StandardOutput=overnemen
StandardError=overnemen
Opnieuw opstarten=altijd
Gebruiker=pi
[Installeren]
WantedBy=meerdere gebruikers.doelwit

Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden raspi-home-automation.onderhoud het dossier.


Kopieer de raspi-home-automation.onderhoud bestand naar de /etc/systemd/system/ map met het volgende commando:

$ sudo cp -v raspi-home-automation.service /etc/systemd/system/


Laad de systemd-daemons opnieuw om de wijzigingen als volgt door te voeren:

$ sudo systemctl daemon-reload


Voeg de . toe raspi-home-automation service aan het opstarten van het systeem van Raspberry Pi OS met de volgende opdracht:

$ sudo systemctl activeer raspi-home-automation.onderhoud


Start Raspberry Pi opnieuw op met het volgende commando:

$ sudo opnieuw opstarten


Zodra Raspberry Pi opstart, is de raspi-home-automation service zou actief/actief moeten zijn, zoals je kunt zien in de onderstaande schermafbeelding.

$ sudo systemctl status raspi-home-automation.onderhoud

Toegang krijgen tot de Home Automation Web App vanaf andere apparaten

Om toegang te krijgen tot de web-app voor huisautomatisering vanaf andere apparaten in uw thuisnetwerk, moet u het IP-adres van uw Raspberry Pi-apparaat weten.

U kunt het IP-adres van uw Raspberry Pi 4-apparaat vinden via de webbeheerinterface van uw thuisrouter. In mijn geval is het IP-adres 192.168.0.103. Dit zal voor jou anders zijn. Dus zorg ervoor dat je vanaf nu mijn IP vervangt door die van jou.


Als je toegang hebt tot de Raspberry Pi-console, kun je ook de volgende opdracht uitvoeren om het IP-adres te vinden:.

$ hostnaam -I


Zodra u het IP-adres van uw Raspberry Pi-apparaat kent, kunt u het openen vanaf elk apparaat in uw thuisnetwerk.

Zoals je kunt zien in de onderstaande schermafbeelding, heb ik toegang gekregen tot de web-app voor huisautomatisering vanaf mijn Android-smartphone.


Zorg ervoor dat u de stekker van de gloeilamp in het stopcontact steekt.


De gloeilamp moet standaard zijn uitgeschakeld.


Als u op het gloeilamppictogram tikt vanuit de web-app voor huisautomatisering, moet de kleur van het gloeilamppictogram veranderen in groen, wat aangeeft dat de gloeilamp aan is.


Zoals je in de onderstaande afbeelding kunt zien, is de gloeilamp aan.

Conclusie

Dit artikel liet je zien hoe je een 5V-relais gebruikt om een ​​hoogspannings-wisselstroomapparaat van Raspberry Pi te bedienen met behulp van de programmeertaal Python. Het artikel liet je ook zien hoe je een API-gebaseerde Python-flask-webapp schrijft om het relais vanuit de webbrowser te besturen. Dit artikel zou je moeten helpen om aan de slag te gaan met domotica met behulp van Raspberry Pi.

Doom installeren en spelen op Linux
Inleiding tot Doom De Doom-serie is ontstaan ​​in de jaren 90 na de release van de originele Doom. Het was meteen een hit en vanaf die tijd heeft de g...
Vulkan voor Linux-gebruikers
Met elke nieuwe generatie grafische kaarten zien we game-ontwikkelaars de grenzen van grafische betrouwbaarheid verleggen en een stap dichter bij foto...
OpenTTD versus Simutrans
Je eigen transportsimulatie maken kan leuk, ontspannend en buitengewoon aanlokkelijk zijn. Daarom moet je ervoor zorgen dat je zoveel mogelijk spellen...