Created
June 20, 2017 12:33
-
-
Save sourceperl/7752d1a5af519fea5209f8d6987bcca7 to your computer and use it in GitHub Desktop.
Command line utility to make a high pulse on relay attach to Rpi GPIO
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
# make high pulse on relay attach to Rpi GPIO | |
# see REL_PIN_MAP to fix GPIO pin number | |
import time | |
import argparse | |
import RPi.GPIO as GPIO | |
# some const | |
REL_PIN_MAP = [29, 23, 21, 19] | |
REL_ON = GPIO.LOW | |
REL_OFF = GPIO.HIGH | |
# parse args | |
parser = argparse.ArgumentParser() | |
parser.add_argument('relay_id', type=int, | |
choices=range(1, len(REL_PIN_MAP) + 1), | |
help='relay ID') | |
parser.add_argument('-s', '--size', type=float, default=1.0, | |
help='pulse size in s (default is 1.0)') | |
args = parser.parse_args() | |
rel_pin = REL_PIN_MAP[args.relay_id - 1] | |
# setup | |
GPIO.setwarnings(False) | |
GPIO.setmode(GPIO.BOARD) | |
GPIO.setup(rel_pin, GPIO.OUT, initial=REL_OFF) | |
# make a pulse | |
GPIO.output(rel_pin, REL_ON) | |
time.sleep(args.size) | |
GPIO.output(rel_pin, REL_OFF) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment