コード例 #1
0
 def _set_function(self, value):
     if value != 'input':
         self._pull = 'floating'
     if value in ('input', 'output') and value in self.GPIO_FUNCTIONS:
         GPIO.setup(self._number, self.GPIO_FUNCTIONS[value], self.GPIO_PULL_UPS[self._pull])
     else:
         raise PinInvalidFunction('invalid function "%s" for pin %r' % (value, self))
コード例 #2
0
 def __new__(cls, number):
     if not cls._PINS:
         GPIO.setmode(GPIO.BCM)
         GPIO.setwarnings(False)
     if cls.PI_INFO is None:
         cls.PI_INFO = pi_info("900092")
         #Fake a Pi Zero 1.2, Closest device as just has GPIO Pins and no camera.
         #cls.PI_INFO = 900092
     try:
         return cls._PINS[number]
     except KeyError:
         self = super(RTkGPIOPin, cls).__new__(cls)
         try:
             cls.PI_INFO.physical_pin('GPIO%d' % number)
         except PinNoPins:
             warnings.warn(
                 PinNonPhysical(
                     'no physical pins exist for GPIO%d' % number))
         self._number = number
         self._pull = 'up' if cls.PI_INFO.pulled_up('GPIO%d' % number) else 'floating'
         self._pwm = None
         self._frequency = None
         self._duty_cycle = None
         self._bounce = -666
         self._when_changed = None
         self._edges = GPIO.BOTH
         GPIO.setup(self._number, GPIO.IN, self.GPIO_PULL_UPS[self._pull])
         cls._PINS[number] = self
         return self
コード例 #3
0
def init(delay=0.0015):
    global running, StepCount, StepDir, stepsToDo, StepPosition, StepPins
    global StepCounter, Seq, WaitTime
    # Use physical pin numbers
    GPIO.setmode(GPIO.BCM)

    # Define GPIO signals to use
    #  StepPins = [35,36,32,33]   # RoboHat
    StepPins = [4, 17, 27, 18]  # ZeroPoint

    # Set all pins as output
    for pin in StepPins:
        GPIO.setup(pin, GPIO.OUT)
        GPIO.output(pin, False)

    # Define pin sequence
    Seq = [[1, 0, 0, 1], [1, 0, 1, 0], [0, 1, 1, 0], [0, 1, 0, 1]]

    StepCount = len(Seq)
    StepDir = 1  # 1 == clockwise, -1 = anticlockwise
    StepsToDo = 0  #number of steps to move
    StepPosition = 0  # current steps anti-clockwise from the zero position

    # Initialise variables
    StepCounter = 0
    WaitTime = delay
    running = True
    # Move pointer to zero position
    StepDir = -1
    stepsToDo = 700
    step()
コード例 #4
0
def executeSonosCommand(sonosUri):
    print("Calling '%s'" % sonosUri)

    # Send command
    response = requests.get(sonosUri)
    print(response.json())
    json_response = response.json()
    json_response = str(json_response)
    success = "success"
    if success in json_response:
        print("Sending success signal to LED")
        # Turn On Pin 12 for x Seconds
        GPIO.setup(12, GPIO.OUT)
        GPIO.output(12, GPIO.HIGH)
        time.sleep(5)
        GPIO.output(12, GPIO.LOW)
        # End Turn On Pin 12 for x Seconds
    else:
        print("Sonos Node Server Error")
        # Turn On Pin 31 for x Seconds
        GPIO.setup(31, GPIO.OUT)
        GPIO.output(31, GPIO.HIGH)
        time.sleep(5)
        GPIO.output(31, GPIO.LOW)
        # End Turn On Pin 31 for x Seconds

    if(response.status_code == 200):
        return True
    else:
        return False
コード例 #5
0
 def __new__(cls, number):
     if not cls._PINS:
         GPIO.setmode(GPIO.BCM)
         GPIO.setwarnings(False)
     if cls.PI_INFO is None:
         cls.PI_INFO = pi_info("900092")
         #Fake a Pi Zero 1.2, Closest device as just has GPIO Pins and no camera.
         #cls.PI_INFO = 900092
     try:
         return cls._PINS[number]
     except KeyError:
         self = super(RTkGPIOPin, cls).__new__(cls)
         try:
             cls.PI_INFO.physical_pin('GPIO%d' % number)
         except PinNoPins:
             warnings.warn(
                 PinNonPhysical('no physical pins exist for GPIO%d' %
                                number))
         self._number = number
         self._pull = 'up' if cls.PI_INFO.pulled_up('GPIO%d' %
                                                    number) else 'floating'
         self._pwm = None
         self._frequency = None
         self._duty_cycle = None
         self._bounce = -666
         self._when_changed = None
         self._edges = GPIO.BOTH
         GPIO.setup(self._number, GPIO.IN, self.GPIO_PULL_UPS[self._pull])
         cls._PINS[number] = self
         return self
コード例 #6
0
def setup():
    GPIO.setmode(GPIO.BCM)
    for l in LED_GPIO:
        GPIO.setup(l, GPIO.OUT)
        GPIO.output(l, False)

    for b in BUTTON_GPIO:
        GPIO.setup(b, GPIO.IN)
コード例 #7
0
 def input_with_pull(self, pull):
     if pull != 'up' and self.PI_INFO.pulled_up('GPIO%d' % self._number):
         raise PinFixedPull('%r has a physical pull-up resistor' % self)
     try:
         GPIO.setup(self._number, GPIO.IN, self.GPIO_PULL_UPS[pull])
         self._pull = pull
     except KeyError:
         raise PinInvalidPull('invalid pull "%s" for pin %r' % (pull, self))
コード例 #8
0
 def input_with_pull(self, pull):
     if pull != 'up' and self.PI_INFO.pulled_up('GPIO%d' % self._number):
         raise PinFixedPull('%r has a physical pull-up resistor' % self)
     try:
         GPIO.setup(self._number, GPIO.IN, self.GPIO_PULL_UPS[pull])
         self._pull = pull
     except KeyError:
         raise PinInvalidPull('invalid pull "%s" for pin %r' % (pull, self))
コード例 #9
0
 def _set_function(self, value):
     if value != 'input':
         self._pull = 'floating'
     if value in ('input', 'output') and value in self.GPIO_FUNCTIONS:
         GPIO.setup(self._number, self.GPIO_FUNCTIONS[value],
                    self.GPIO_PULL_UPS[self._pull])
     else:
         raise PinInvalidFunction('invalid function "%s" for pin %r' %
                                  (value, self))
コード例 #10
0
 def _set_pull(self, value):
     if self.function != 'input':
         raise PinFixedPull('cannot set pull on non-input pin %r' % self)
     if value != 'up' and self.PI_INFO.pulled_up('GPIO%d' % self._number):
         raise PinFixedPull('%r has a physical pull-up resistor' % self)
     try:
         GPIO.setup(self._number, GPIO.IN, self.GPIO_PULL_UPS[value])
         self._pull = value
     except KeyError:
         raise PinInvalidPull('invalid pull "%s" for pin %r' % (value, self))
コード例 #11
0
 def _set_pull(self, value):
     if self.function != 'input':
         raise PinFixedPull('cannot set pull on non-input pin %r' % self)
     if value != 'up' and self.PI_INFO.pulled_up('GPIO%d' % self._number):
         raise PinFixedPull('%r has a physical pull-up resistor' % self)
     try:
         GPIO.setup(self._number, GPIO.IN, self.GPIO_PULL_UPS[value])
         self._pull = value
     except KeyError:
         raise PinInvalidPull('invalid pull "%s" for pin %r' %
                              (value, self))
コード例 #12
0
 def __init__(self,Ena,in1,in2):
     # in1= input 1 forward
     # in2=input 2 backward
     self.Ena=Ena
     self.in1=in1
     self.in2=in2
     
     GPIO.setup(self.in1,GPIO.OUT)
     GPIO.setup(self.in2,GPIO.OUT)
     GPIO.setup(self.Ena,GPIO.OUT)
     self.p=GPIO.PWM(Ena,1000)
コード例 #13
0
from RTk import GPIO
from time import sleep

Green_LED = 26
Amber_LED = 19
Red_LED = 13
GPIO.setmode(GPIO.BCM)
GPIO.setup(Green_LED, GPIO.OUT)
GPIO.setup(Amber_LED, GPIO.OUT)
GPIO.setup(Red_LED, GPIO.OUT)

Doze = 2.0

while True:
    GPIO.output(Red_LED, 1)
    sleep(Doze)
    GPIO.output(Red_LED, 0)
    GPIO.output(Amber_LED, 0)
    sleep(Doze / 4)
    GPIO.output(Amber_LED, 1)
    sleep(Doze / 4)
    GPIO.output(Amber_LED, 0)
    sleep(Doze / 4)
    GPIO.output(Amber_LED, 1)
    sleep(Doze / 4)
    GPIO.output(Amber_LED, 0)
    sleep(Doze / 4)
    GPIO.output(Amber_LED, 1)
    sleep(Doze / 4)
    GPIO.output(Amber_LED, 0)
    sleep(Doze / 4)
コード例 #14
0
 def output_with_state(self, state):
     self._pull = 'floating'
     GPIO.setup(self._number, GPIO.OUT, initial=state)
コード例 #15
0
def main():
  # Main program block

  #GPIO.setwarnings(False)
  GPIO.setmode(GPIO.BCM)       # Use BCM GPIO numbers
  GPIO.setup(LCD_E, GPIO.OUT)  # E
  GPIO.setup(LCD_RS, GPIO.OUT) # RS
  GPIO.setup(LCD_D4, GPIO.OUT) # DB4
  GPIO.setup(LCD_D5, GPIO.OUT) # DB5
  GPIO.setup(LCD_D6, GPIO.OUT) # DB6
  GPIO.setup(LCD_D7, GPIO.OUT) # DB7


  # Initialise display
  lcd_init()

  while True:

    # Send some test
    lcd_string("RTk.GPIO",LCD_LINE_1)
    lcd_string("16x2 LCD Test",LCD_LINE_2)

    time.sleep(3) # 3 second delay

    # Send some text
    lcd_string("1234567890123456",LCD_LINE_1)
    lcd_string("abcdefghijklmnop",LCD_LINE_2)



    time.sleep(3) # 3 second delay

    # Send some text
    lcd_string("Code by",LCD_LINE_1)
    lcd_string("RPiSPY",LCD_LINE_2)

    time.sleep(3)

    # Send some text
    lcd_string("Wow, Very LCD",LCD_LINE_1)
    lcd_string("Such Magic",LCD_LINE_2)

    time.sleep(3)

    lcd_string("All done on a", LCD_LINE_1)
    lcd_string("Desktop Computer", LCD_LINE_2)
    time.sleep(3)
コード例 #16
0
import time

TIME = 0.1
import RTk.GPIO as GPIO
from threading import Thread
BUTTON = 25

RED = 24
YEL = 23
GRN = 22

GPIO.setmode(GPIO.BCM)

GPIO.setup(RED, GPIO.OUT)
GPIO.setup(YEL, GPIO.OUT)
GPIO.setup(GRN, GPIO.OUT)

GPIO.setup(BUTTON, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.output(GRN, True)


def pinread():
    while True:
        time.sleep(TIME)
        b = GPIO.input(BUTTON)
        if not b:
            print("pressed")
        else:
            print("released")

コード例 #17
0
ファイル: testPWM.py プロジェクト: hinxx/rtk-gpio-python-side
# testLED.py - 06/06/2014 D.J.Whale
# Modified by Ryan Walmsley
# Test flashing an LED

from time import sleep
t = 0.01

# RTk.GPIO
import RTk.GPIO as GPIO

P = 22

GPIO.setmode(GPIO.BCM)
GPIO.setup(P, GPIO.OUT)

while True:
    GPIO.output(P, True)
    sleep(t)
    GPIO.output(P, False)
    sleep(t)

# END
コード例 #18
0
# Import libraries
import threading
from time import strftime
from bs4 import BeautifulSoup
from RTk import GPIO
import sqlite3
from datetime import datetime, timedelta

# setup GPIO PINS
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setwarnings(False)

# Define variables
pollcount = 0
increment = 1
statusPath = "PATH/nginx/html/status.html"
closed = datetime.now()
writeentry = True

# check if database is built and build SQL connection to sqlite database
con = sqlite3.connect("Database location")
cur = con.cursor()
cur.execute(
    "SELECT count(*) FROM sqlite_master WHERE type='table' and name='" +
    datetime.now().strftime("%m/%d/%Y") + "_time_log';")
if cur.fetchone()[0] == 0:
    cur.execute("CREATE TABLE '" + datetime.now().strftime("%m/%d/%Y") +
                "_time_log' (in_time, out_time);")
con.commit()
con.close()
コード例 #19
0
#Set the modes
RPIGPIO.setmode(RPIGPIO.BCM)
RTKGPIO.setmode(RTKGPIO.BCM)

#
#Define GPIO pins
gpios = [4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]
#2,3,26 and 27 removed for now
errorPins = []

print("Setting up GPIO Outs on the RTK Board")
#Setup the RPi
for gpio in gpios:
	print(gpio)
	RTKGPIO.setup(gpio, RTKGPIO.OUT)
	#sleep(0.1)

print("Setting up GPIO Ins on the RPi Board")
for gpio in gpios:
	print(gpio)
	RPIGPIO.setup(gpio, RPIGPIO.IN,pull_up_down=RPIGPIO.PUD_DOWN)

print("Now Testing")
for gpio in gpios:
	print("Testing GPIO%s",str(gpio))
	print("Turning off")
	RTKGPIO.output(gpio,0)
	sleep(0.1)
	print("Reading input")
	input1 = RPIGPIO.input(gpio)
コード例 #20
0
args = parser.parse_args()

is_test = args.test
SonosController.SONOS_BASE_URI = args.sonosUri
SonosController.SONOS_ROOM = args.sonosRoom

last_nfc_uri = ""
last_time = datetime.now() - timedelta(seconds=60)
debounce = timedelta(seconds=args.debounce)
card_timeout = timedelta(seconds=args.cardTimeout)

MIFAREReader = MFRC522.MFRC522()

## _________LED Test____________
# Turn On IO 29 for x Seconds
GPIO.setup(29, GPIO.OUT)
GPIO.output(29, GPIO.HIGH)
time.sleep(1)
GPIO.output(29, GPIO.LOW)
# End Turn On Pin 29 for x Seconds
## _________End LED Test____________

print("Add NFC Tag ...")

# Program start
# This loop keeps checking for chips. If one is near it will get the UID and authenticate
while continue_reading:

    now = datetime.now()

    # Debounce card reader
コード例 #21
0
#TrafficHAT KS Demo
from time import sleep
t = 0.2
import RTk.GPIO as GPIO

outputs = [22,23,24,5]
BUTT = 25

GPIO.setmode(GPIO.BCM)
#sleep(t)
GPIO.setup(outputs, GPIO.OUT)
#sleep(t)

GPIO.setup(BUTT,GPIO.IN,pull_up_down=GPIO.PUD_UP)
#sleep(t)


try:
	while True:
		while(GPIO.input(BUTT)):
			pass
		GPIO.output(22, True)
		sleep(t)
		GPIO.output(23, True)
		sleep(t)
		GPIO.output(24, True)
		sleep(2)
		GPIO.output(22, False)
		sleep(t)
		GPIO.output(23, False)
		sleep(t)
コード例 #22
0
 def __init__(self, pin):
     self.pin = pin
     GPIO.setup(pin, GPIO.OUT)
     GPIO.output(pin, False)
コード例 #23
0
 def output_with_state(self, state):
     self._pull = 'floating'
     GPIO.setup(self._number, GPIO.OUT, initial=state)
コード例 #24
0
from time import sleep

t = 0.2
import RTk.GPIO as GPIO

RED = 27
YEL = 17
GRN = 4
BUZZ = 18
OUT1 = 22
OUT2 = 23
OUT3 = 24
OUT4 = 25

GPIO.setmode(GPIO.BCM)
GPIO.setup(RED, GPIO.OUT)
GPIO.setup(YEL, GPIO.OUT)
GPIO.setup(GRN, GPIO.OUT)
GPIO.setup(OUT1, GPIO.OUT)
GPIO.setup(OUT2, GPIO.OUT)
GPIO.setup(OUT3, GPIO.OUT)
GPIO.setup(OUT4, GPIO.OUT)

try:
    while True:
        GPIO.output(RED, True)
        sleep(t)
        GPIO.output(YEL, True)
        sleep(t)
        GPIO.output(GRN, True)
        sleep(t)
コード例 #25
0
def setup():
  GPIO.setmode(GPIO.BCM)
  GPIO.setup(BUTTON, GPIO.IN)
コード例 #26
0
def init(pin):
    GPIO.setup(pin,GPIO.OUT)
    GPIO.output(pin,False)
コード例 #27
0
#!/usr/bin/env python3

from RTk import GPIO
from time import sleep

GREEN_LED = 5
RED_LED = 6
BLUE_LED = 13

GPIO.setmode(GPIO.BCM)
GPIO.setup(GREEN_LED, GPIO.OUT)
GPIO.setup(RED_LED, GPIO.OUT)
GPIO.setup(BLUE_LED, GPIO.OUT)

while True:
    GPIO.output(GREEN_LED, 0)
    GPIO.output(RED_LED, 0)
    GPIO.output(BLUE_LED, 0)
    sleep(0.5)

    GPIO.output(GREEN_LED, 1)
    sleep(0.5)

    GPIO.output(GREEN_LED, 0)
    GPIO.output(RED_LED, 1)
    sleep(0.5)

    GPIO.output(RED_LED, 0)
    GPIO.output(BLUE_LED, 1)
    sleep(0.5)
コード例 #28
0
ファイル: home_automation.py プロジェクト: nvmanh/plant
# client side
import time
# import RPi.GPIO as GPIO
from RTk import GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(12, GPIO.OUT)
GPIO.setup(13, GPIO.OUT)
GPIO.setup(5, GPIO.OUT)
GPIO.setup(6, GPIO.OUT)
def motor_control(direction):
#  print direction
  
  
  if (direction == "fwd"):
    GPIO.output(12, True)
    GPIO.output(13, False)
    GPIO.output(5, False)
    GPIO.output(6, False)

    print ("forward position led flow")

 
  if (direction == "bwd"):
   
    GPIO.output(13, True)
    GPIO.output(12, False)
    GPIO.output(5, False)
    GPIO.output(6, False)

    print ("backward position led flow")
   
コード例 #29
0
# client side
import time
# import RPi.GPIO as GPIO
from RTk import GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(12, GPIO.OUT)
GPIO.setup(13, GPIO.OUT)
GPIO.setup(5, GPIO.OUT)
GPIO.setup(6, GPIO.OUT)


def motor_control(direction):
    #  print direction

    if (direction == "fwd"):
        GPIO.output(12, True)
        GPIO.output(13, False)
        GPIO.output(5, False)
        GPIO.output(6, False)

        print("forward position led flow")

    if (direction == "bwd"):

        GPIO.output(13, True)
        GPIO.output(12, False)
        GPIO.output(5, False)
        GPIO.output(6, False)

        print("backward position led flow")
コード例 #30
0
from RTk import GPIO
import time

LED_PIN = 4

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(LED_PIN, GPIO.OUT)

while True:

    print("LED on")
    GPIO.output(LED_PIN, GPIO.HIGH)
    time.sleep(1)
    print("LED off")
    GPIO.output(LED_PIN, GPIO.LOW)
    time.sleep(1)
コード例 #31
0
RTKGPIO.setmode(RTKGPIO.BCM)

#
#Define GPIO pins
gpios = [
    4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
    24, 25
]
#2,3,26 and 27 removed for now
errorPins = []

print("Setting up GPIO Outs on the RTK Board")
#Setup the RPi
for gpio in gpios:
    print(gpio)
    RTKGPIO.setup(gpio, RTKGPIO.IN)
    #sleep(0.1)

print("Setting up GPIO Ins on the RPi Board")
for gpio in gpios:
    print(gpio)
    RPIGPIO.setup(gpio, RPIGPIO.OUT)

print("Now Testing")
for gpio in gpios:
    print("Testing GPIO%s", str(gpio))
    print("Turning off")
    RPIGPIO.output(gpio, 0)
    sleep(0.1)
    print("Reading input")
    input1 = RTKGPIO.input(gpio)
コード例 #32
0
 def __init__(self,TRIG,ECHO):
     self.TRIG=TRIG
     self.ECHO=ECHO
     GPIO.setup(self.TRIG,GPIO.OUT)
     GPIO.setup(self.ECHO,GPIO.IN)
     GPIO.output(self.TRIG, False)
コード例 #33
0
#TrafficHAT KS Demo
from time import sleep
t = 0.2
import RTk.GPIO as GPIO

outputs = [22, 23, 24, 5]
BUTT = 25

GPIO.setmode(GPIO.BCM)
sleep(t)
GPIO.setup(outputs, GPIO.OUT)
sleep(t)

GPIO.setup(BUTT, GPIO.IN)
sleep(t)

try:
    while True:
        GPIO.output(22, True)
        sleep(t)
        GPIO.output(23, True)
        sleep(t)
        GPIO.output(24, True)
        sleep(2)
        GPIO.output(22, False)
        sleep(t)
        GPIO.output(23, False)
        sleep(t)
        GPIO.output(24, False)
        sleep(2)
コード例 #34
0
#TrafficHAT KS Demo
from time import sleep
t = 0.1
import RTk.GPIO as GPIO

gpios = [
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
    21, 22, 23, 24, 25, 26, 27
]

GPIO.setmode(GPIO.BCM)
while True:
    for cGPIO in gpios:
        print("Testing GPIO", cGPIO)
        GPIO.setup(cGPIO, GPIO.OUT)
        raw_input("Press enter to continue")
        GPIO.output(cGPIO, 1)
    sleep(1)
    for cGPIO in gpios:
        #sleep(t)
        raw_input("Press enter to continue")
        GPIO.output(cGPIO, 0)
        #sleep(t)
    sleep(1)
コード例 #35
0
ファイル: test.py プロジェクト: kerzhang/installation-scripts
#import RPi.GPIO as GPIO
import RTk.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)  # Broadcom pin-numbering scheme

ledPin = 21

GPIO.setup(ledPin, GPIO.OUT)
GPIO.output(ledPin, GPIO.HIGH)
time.sleep(0.2)
GPIO.output(ledPin, GPIO.LOW)
time.sleep(0.2)

ledPin = 20

while True:
    GPIO.setup(ledPin, GPIO.OUT)
    GPIO.output(ledPin, GPIO.HIGH)
    time.sleep(0.002)
    GPIO.output(ledPin, GPIO.LOW)
    time.sleep(0.002)