soakforjesus/rpiserver/relays.py

42 lines
701 B
Python

import asyncio
import RPi.GPIO as GPIO
RELAY1 = 4
RELAY2 = 22
RELAY3 = 6
RELAY4 = 26
RELAY_ON = True
RELAY_OFF = False
RELAYS = [RELAY1, RELAY2, RELAY3, RELAY4]
def set_relay(r, state):
GPIO.output(r, state)
def all_off():
for r in RELAYS:
set_relay(r, RELAY_OFF)
def init_relays():
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
for r in RELAYS:
GPIO.setup(r, GPIO.OUT)
all_off()
async def test():
for r in RELAYS:
set_relay(r, RELAY_ON)
await asyncio.sleep(0.5)
set_relay(r, RELAY_OFF)
if __name__ == '__main__':
init_relays()
loop = asyncio.get_event_loop()
loop.run_until_complete(test())
loop.close()