Domoticz – relais schakelen via GPIO

Deze tutorial beschrijft hoe je een relaisbord op een Raspberry Pi installeert en hoe je het bedient met Domoticz. Met een relais kun je apparatuur aansturen die een hogere spanning/stroom nodig hebben dan de Raspberry Pi kan leveren, denk aan de lamp bij de voordeur of een vijverpomp. Bij grote spanningen/stromen wordt vaak gebruik gemaakt van een stuur- en lastrelais combinatie.

Stap 1: Sluit het relais aan op de Raspberry Pi
Sluit het relais(bord) aan op de Raspberry Pi. Gebruik de volgende tabel voor de pinaansluiting.

Aansluittabel

Bij gebruik van een relaismodule ziet de opstelling er als volgt uit.

Aansluitschema

Stap 2: Valideer de werking via de WiringPi gpio-module
Controleer eerst de installatie van de WiringPi-module met dit commando

gpio -v

Als het resultaat eruitziet als ‘gpio: commando niet gevonden’, moeten we het WiringPi-pakket installeren met het commando

sudo apt-get install wiringpi

Om GPIO17 als type OUT in te schakelen, kunt u de volgende opdracht typen:

gpio export 17 out

Nu GPIO17 wordt geëxporteerd als de UITgang en het relais wordt ingeschakeld. Speel gewoon wat rond met de volgende commando’s:

gpio readall

Bovenstaande commando toont de huidige status van alle pinnen gpio exports, daarnaast toont het alle huidige geëxporteerde pinnen.

Alle geëxporteerde pinnen kunnen door Domoticz worden gelezen. Bij GPIO 17 (pin 11) zie je dat het nu een ‘OUT’-pin is. Je kunt hier kijken: http://wiringpi.com/the-gpio-utility/ voor meer informatie.

Stap 3: Bereid de GPIO-pinnen voor Domoticz voor met sysfs
Volgens Domoticz is het gebruik van de wiringPi-module de ‘oude’ manier en de ‘nieuwe’ manier is met Generic sysfs GPIO. Als we GPIO17 willen exporteren, kunt u de volgende opdracht gebruiken:

echo 27 >> /sys/class/gpio/export

Gebruik de volgende opdracht om te controleren of de pin geëxporteerd is:

ls -l /sys/class/gpio

Zoals je hierboven ziet is de standaard richting van de pinnen IN. Net als de wiringPi-module kunnen we de richting veranderen door:

echo out >> /sys/class/gpio/gpio27/direction

Echter! zoals we hebben gemerkt door de wiringPi, als we de status op OUT zetten, wordt de pin actief en wordt het relais ingeschakeld. We willen niet dat de relais standaard is ingeschakeld, dus we moeten de direction op HOOG zetten.

We moeten ook de status van de GPIO-pin omschakelen. Standaard denkt Domoticz dat de schakelaar aan staat als en het relais uit is.
Gebruik de volgende opdrachten om de GPIO status om te zetten:

sudo sh -c “echo ‘1’ >> /sys/class/gpio/gpio27/active_low”
echo high > /sys/class/gpio/gpio27/direction

Nu hebben we de status omgeschakeld en het relais is standaard uitgeschakeld. Je kunt de volgende commando’s geven om het relais in en uit te schakelen:

echo 1 > /sys/class/gpio/gpio27/value
echo 0 > /sys/class/gpio/gpio27/value

Stap 4: Schakel de GPIO automatisch in na een herstart
We weten nu hoe we een GPIO-pin kunnen inschakelen met wiringPi en sysfs. Na een herstart worden echter alle pinnen in hun standaardstatus (in) gezet. Er zijn verschillende manieren, maar mijn voorkeur gaat uit naar een eigen bashscript (.sh) uitgevoerd vanuit rc.local.

Maak een setGpio.sh-scriptbestand
We voegen een setGpio.sh-scriptbestand toe aan onze homedirectory. In dit script exporteren we GPIO17 en GPIO27 omdat we twee relais in domoticz willen beheren. Open de editor:

nano ~/setGpio.sh

Kopieer de code van het script en plak deze in de editor. Sla het bash-script op en sluit de editor af.

Geef het script de volgende permissies:

chmod +x setGpio.sh

Voer dit script uit in het bestand rc.local:

sudo nano /etc/rc.local

Voeg aan het einde van jet script en voor exit 0 de volgende regel:

/home/pi/setGpio.sh

Sla het bestand op en activeer een herstart:

sudo reboot

Na het opnieuw opstarten kun je de geëxporteerde pinnen controleren:

gpio exports

Het resultaat zou er als volgt uit moeten zien:

GPIO Pins exported:
17: out 0 none
27: out 0 none

Zo niet, controleer dan je logbestanden in /var/log (begin met de bootlog: cat /var/log/boot.log)

Stap 4: Voeg schakelaars toe in Domoticz
Nu kunnen we de relais beheren. We willen twee schakelaars in Domoticz om de status van de relais te wijzigen.

a) GPIO-hardware toevoegen
Voeg in Instellingen -> Hardware het type ‘Generic sysfs GPIO‘ toe. Geef het een naam zoals: Algemeen GPIO.

Klik op ‘Toevoegen’. Je zou nu de naam en het type in het overzicht moeten zien.

b) Apparaten bewerken
Ga naar Instellingen -> Apparaten. Je ziet automatisch de geëxporteerde GPIO-pinnen.

Het project voor mij is het automatiseren van mijn voordeur. Dus met de ene schakelaar wil ik de lamp bij de voordeur inschakelen en met de andere schakelaar de lamp in de tuin.

Ik hernoem Idx1 (GPIO17) naar Lamp Voordeur en Idx2 (GPIO27) naar Lamp Tuin door op het potlood (edit) te klikken. Je kunt dit ook doen via Aanpassen in het Domoticz venster.

c) Schakel schakelaars in
Je kunt de schakelaars in Domoticz inschakelen door op de groene pijl van een apparaat op de pagina Instellingen -> Apparaten te klikken.

d) gebruik de schakelaars in Domoticz
Ga naar de Schakelaars pagina in Domoticz. Hier zie je de twee toegevoegde schakelaars voor de lampen. Je kunt ze aan- of uitzetten door op het lampje te klikken.

Have A Nice Day!

Geef als eerste een reactie

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd.


*