43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
import time
|
|
import os
|
|
from datetime import datetime
|
|
|
|
def debug_print(message: str):
|
|
now = datetime.now()
|
|
current_time = now.strftime("%H:%M:%S")
|
|
print('[DEBUG]['+current_time+'] '+message)
|
|
|
|
def error_print(message: str):
|
|
now = datetime.now()
|
|
current_time = now.strftime("%H:%M:%S")
|
|
print('[ERROR]['+current_time+'] '+message)
|
|
|
|
|
|
relay_channels = ["19", "16", "26", "20"]
|
|
for channel in relay_channels:
|
|
os.system('echo "'+channel+'" /sys/class/gpio/export')
|
|
os.system('echo "out" > /sys/class/gpio/gpio'+channel+'/direction')
|
|
|
|
|
|
def relay_controller(pin: int, state: str):
|
|
if state == "True":
|
|
os.system('echo "1" > /sys/class/gpio/gpio'+str(pin)+'/value')
|
|
debug_print("Set relay-pin "+str(pin)+" to state True")
|
|
elif state == "False":
|
|
os.system('echo "0" > /sys/class/gpio/gpio'+str(pin)+'/value')
|
|
debug_print("Set relay-pin "+str(pin)+" to state False")
|
|
else:
|
|
error_print("Unknown state ("+state+") for relay channel "+str(pin))
|
|
|
|
channel_1 = 19
|
|
channel_2 = 16
|
|
channel_3 = 26
|
|
channel_4 = 20
|
|
|
|
relay_controller(channel_1, "True")
|
|
time.sleep(2)
|
|
relay_controller(channel_1, "False")
|
|
time.sleep(5)
|
|
|
|
for channel in relay_channels:
|
|
os.system('echo "'+channel+'" > /sys/class/gpio/unexport') |