Hallo,
ich möchte in der Nacht überprüfen lassen, ob alle Rollläden geschlossen sind. Dazu habe ich in die Panzer Magnete eingebaut, die bei einer bestimmten Stellung einen Reedkontakt mit Adressgeber schließen. Es entsteht dann ein Ordner in der Art
Zitat/sys/bus/w1/devices/01-0000161f81b5/name
dessen Vorhandensein ich abfragen kann. Sind alle Ordner vorhanden, soll eine grüne LED leuchten.
Die Frage ist nun, welche Strategie ist am effizientesten, belastet also den RasPi am wenigsten?
Sollte ich ein Programm schreiben in der Art:
#!/bin/bash
#
echo "0" > /sys/class/gpio/gpio7/value # Kontroll-LED kurz aus
sleep 0.5
if [ -f /sys/bus/w1/devices/01-0000161ed6bf/name ];then
echo "1" > /sys/class/gpio/gpio7/value
fi
Exit 0
und lasse das Programm mittels crontab zwischen meinetwegen 22 Uhr bis 6 Uhr alle Minute starten?
Oder
packe die Abfrage in eine while-Schleife mit einer zeitabhängigen Abbruchbedingung und starte das Programm jeden Tag um 22 Uhr?
#!/bin/bash
#
while true
do
echo "0" > /sys/class/gpio/gpio7/value # Kontroll-LED kurz aus um zu signalisieren, dass das Programm noch läuft
sleep 0.5
if [ -f /sys/bus/w1/devices/01-0000161ed6bf/name ];then
echo "1" > /sys/class/gpio/gpio7/value
sleep 60
fi
break # es ist nach 6 Uhr: %H>5
done
Exit 0
Alles anzeigen
Bitte nicht kreuzigen, ich bin kein Programmierer.
Also, welche Strategie ist besser, oder gibt es noch was Anderes?
EDIT: die andere Frage hat sich erledigt, es fehlte ein Leerzeichen. Darum habe ich sie gelöscht, um nicht zu verwirren.