Beispiel #1
0
    def __init__(self, config):
        gpio.setwarnings(False)
        gpio.cleanup()
        gpio.setmode(gpio.BCM)
        self.config = config
        self.doors = [Door(n, c) for (n, c) in config['doors'].items()]
        self.updateHandler = UpdateHandler(self)
        for door in self.doors:
            door.last_state = 'unknown'
            door.last_state_time = time.time()

        self.use_alerts = config['config']['use_alerts']
        self.alert_type = config['alerts']['alert_type']
        self.ttw = config['alerts']['time_to_wait']
        if self.alert_type == 'smtp':
            self.use_smtp = False
            smtp_params = ("smtphost", "smtpport", "smtp_tls", "username",
                           "password", "to_email")
            self.use_smtp = ('smtp'
                             in config['alerts']) and set(smtp_params) <= set(
                                 config['alerts']['smtp'])
            syslog.syslog("we are using SMTP")
        elif self.alert_type == 'pushbullet':
            self.pushbullet_access_token = config['alerts']['pushbullet'][
                'access_token']
            syslog.syslog("we are using Pushbullet")
        elif self.alert_type == 'pushover':
            self.pushover_user_key = config['alerts']['pushover']['user_key']
            syslog.syslog("we are using Pushover")
        else:
            self.alert_type = None
            syslog.syslog("No alerts configured")
Beispiel #2
0
    def __init__(self, headset):
        Thread.__init__(self)
        self.hs = headset
        self.finish = False

        GPIO.setwarnings(False)
        GPIO.setmode(GPIO.BOARD)
        GPIO.setup(self.DIAL_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
        GPIO.setup(self.PULSE_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
        GPIO.setup(self.HOOK_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
Beispiel #3
0
    def servo(angle):
        dutyCycle = (angle + 45) / 18  #convert degrees to duty cycle
        GPIO.setmode(GPIO.ASUS)
        GPIO.setwarnings(False)

        servo = 32

        GPIO.setup(servo, GPIO.OUT)
        pwm = GPIO.PWM(servo, 50)
        pwm.ChangeDutyCycle(dutyCycle)
        time.sleep(1)
Beispiel #4
0
	def __init__(self):
		rospy.init_node('l298_motorcontroller_node')
		GPIO.setwarnings(False)
		GPIO.setmode(GPIO.ASUS)


		wheel_radius = 0.1
		ticks_pr_round = 2.0
		gear = 50.0
		wheel_circumference = 2.0 * math.pi * wheel_radius * gear
		m_pr_tick = wheel_circumference/ticks_pr_round

		left_motor = SingleMotorController( 238, 185, 224, 168, m_pr_tick )
		right_motor = None #SingleMotorController( 239, 223, 187, 188, m_pr_tick )
		DifferentialDriveMotorController(left_motor, right_motor, 0.6)
Beispiel #5
0
    def __init__(self, LED_OK, LED_NG, BTN_input):
        """ Mamos setup"""
        self.LED_OK = LED_OK
        self.LED_NG = LED_NG
        self.BTN_input = BTN_input
        self.prev_input = False

        try:
            GPIO.setwarnings(False)
            GPIO.setmode(GPIO.ASUS)
            GPIO.setup(LED_OK, GPIO.OUT)
            GPIO.setup(LED_NG, GPIO.OUT)
            GPIO.setup(BTN_input, GPIO.IN, pull_up_down=GPIO.PUD_UP)
        except:
            pass
def triggerON(portNumber):
    import ASUS.GPIO as GPIO
    import time
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.ASUS)
    light = portNumber
    GPIO.setup(light, GPIO.OUT)
    GPIO.output(light, GPIO.LOW)
    try:
        print("open led: {0}".format(light))
        GPIO.output(light, GPIO.HIGH)
        time.sleep(3)
        GPIO.output(light, GPIO.LOW)
        print("close led: {0}".format(light))
    except KeyboardInterrupt:
        GPIO.cleanup()
def cleanup():
    import ASUS.GPIO as GPIO
    import time
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.ASUS)
    GPIO.setup(164, GPIO.IN)
    GPIO.setup(166, GPIO.IN)
    GPIO.setup(167, GPIO.IN)
    time.sleep(0.5)
    GPIO.setup(164, GPIO.HIGH)
    GPIO.setup(166, GPIO.HIGH)
    GPIO.setup(167, GPIO.HIGH)
    time.sleep(0.5)
    GPIO.setup(164, GPIO.LOW)
    GPIO.setup(166, GPIO.LOW)
    GPIO.setup(167, GPIO.LOW)
Beispiel #8
0
    def __init__(self):

        #GPIOs

        self.led_pin = 7
        self.fan_pin = 8
        self.reset_pin = 3
        self.power_pin = 5
        self.check_pin = 10

        #vars

        self.fan_hysteresis = 5
        self.fan_starttemp = 60
        self.fan_hysteresis_pwm = 20
        self.fan_starttemp_pwm = 60
        self.reset_hold_short = 100
        self.reset_hold_long = 500
        self.debounce_time = 0.1
        self.counter_time = 0.01
        self.delay_until_reset = 2
        self.is_pwm = False

        #path

        self.kintaro_folder = "/opt/KintaroSnes/"
        self.start_folder = "start/"
        self.intro_video = self.kintaro_folder + self.start_folder + "intro.mp4"
        self.config_file = self.kintaro_folder + self.start_folder + "kintaro.config"
        # self.temp_command = 'vcgencmd measure_temp'

        #Set the GPIOs

        GPIO.setmode(GPIO.BOARD)  # Use the same layout as the pins
        GPIO.setwarnings(False)
        GPIO.setup(self.led_pin, GPIO.OUT)  # LED Output
        GPIO.setup(self.fan_pin, GPIO.OUT)  # Fan normal Output
        GPIO.setup(self.power_pin, GPIO.IN)  # set pin as input
        GPIO.setup(
            self.reset_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP
        )  # set pin as input and switch on internal pull up resistor
        GPIO.setup(self.check_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
        if self.return_config_bool("PWM_FAN"):
            self.is_pwm = True
            self.pwm = GPIO.PWM(self.fan_pin, 50)
            self.pwm.start(0)
Beispiel #9
0
def show():
    """Output the buffer to Blinkt!"""
    global _gpio_setup

    if not _gpio_setup:
        GPIO.setmode(GPIO.BOARD)
        GPIO.setwarnings(False)
        GPIO.setup(DAT, GPIO.OUT)
        GPIO.setup(CLK, GPIO.OUT)
        _gpio_setup = True

    _sof()

    for pixel in pixels:
        r, g, b, brightness = pixel
        _write_byte(0b11100000 | brightness)
        _write_byte(b)
        _write_byte(g)
        _write_byte(r)

    _eof()
Beispiel #10
0
    def __init__(self, inputs=[[0x48, 0]], rdy_pin=17):
        self.inputs = inputs
        self.rdy_pin = rdy_pin
        self.current_input = 0
        self.last_val = 0

        rospy.init_node('adc_node')
        GPIO.setwarnings(False)
        GPIO.setmode(GPIO.ASUS)
        GPIO.setup(self.rdy_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
        GPIO.add_event_detect(self.rdy_pin,
                              GPIO.FALLING,
                              callback=self.reading_ready,
                              bouncetime=1)
        self.waiting_for_ready = False

        # Setup adc hi/low tresh to use for conversion ready signal
        for ind in inputs:
            adr = ind[0]
            bus.write_i2c_block_data(adr, 0x02, [0b00000000, 0b00000000])
            bus.write_i2c_block_data(adr, 0x03, [0b10000000, 0b00000000])

        rospy.sleep(0.1)
        self.get_next_reading()
Beispiel #11
0
def GpioSetup():
    GPIO.setwarnings(False)  #disable warning
    GPIO.setmode(GPIO.ASUS)  #USE ASUS mode

    GPIO.setup(encoder_sw, GPIO.IN, pull_up_down=GPIO.PUD_DOWN
               )  #encoder's switch input and disable pull up resistor
    GPIO.setup(encoder_a, GPIO.IN)  #define encoder channel A and B
    GPIO.setup(encoder_b, GPIO.IN)

    GPIO.add_event_detect(encoder_a, GPIO.RISING, callback=RotaryInterrupt)
    GPIO.add_event_detect(encoder_b, GPIO.RISING, callback=RotaryInterrupt)
    GPIO.add_event_detect(encoder_sw,
                          GPIO.RISING,
                          callback=SwitchInterrupt,
                          bouncetime=250)

    GPIO.setup(usb_mode_sw, GPIO.OUT)
    GPIO.setup(i2s_sw, GPIO.OUT)
    GPIO.setup(ac_sw, GPIO.OUT)
    GPIO.setup(dynalo_sw, GPIO.OUT)
    GPIO.setup(relay_en, GPIO.OUT)
    GPIO.setup(relay_s0, GPIO.OUT)
    GPIO.setup(relay_s1, GPIO.OUT)
    GPIO.setup(relay_s2, GPIO.OUT)
Beispiel #12
0
import ASUS.GPIO as GPIO
import dht11
import time
import datetime

# config
DHT11_PIN = 5
LED_G_PIN = 8
LED_Y_PIN = 10
LED_R_PIN = 12
DETECT_INTERVAL = 5

# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.cleanup()

GPIO.setup(LED_G_PIN, GPIO.OUT)
GPIO.setup(LED_Y_PIN, GPIO.OUT)
GPIO.setup(LED_R_PIN, GPIO.OUT)


def resetled():
  GPIO.output(LED_G_PIN, GPIO.LOW)
  GPIO.output(LED_Y_PIN, GPIO.LOW)
  GPIO.output(LED_R_PIN, GPIO.LOW)


resetled()

# read dht11 data
Beispiel #13
0
    def __init__(self, debug=False):
        GPIO.setmode(GPIO.BOARD)
        GPIO.setwarnings(False)
        GPIO.cleanup()
        self.piRevision = self.getPiRevision()
        self.i2cbus = 1
        if self.piRevision == 1:
            self.i2cbus = 0
        print "RPi.GPIO Version" , GPIO.VERSION
        print "Board Revision" , self.piRevision
        

        #Set some constants and initialise lists
        self.numOfPins = 27 #there are actually 26 but python can't count properly :)
        if self.piRevision > 2:
            self.numOfPins = 41
        self.PINPUT = 4
        self.POUTPUT = 1
        self.PPWM = 2
        self.PUNUSED = 8
        self.PSONAR = 16
        self.PULTRA = 32
        self.PSERVOD = 64
        self.PSTEPPER = 128
        self.PCOUNT = 256
        self.PINPUTDOWN = 512
        self.PINPUTNONE = 1024
        self.PPWMMOTOR = 2048
        self.PPWMLED = 4096

        #self.INVERT = False
        self.ledDim = 100

        self.PWMMOTORFREQ = 10        
        
        self.dsSensorId  = ""
        self.senderLoopDelay = 0.2
        self.mFreq = 10
        self.ultraFreq = 1
        self.pFreq = 200
       
       
       

        self.pinUse = [self.PUNUSED] * self.numOfPins
        self.servodPins = None
        
        self.pinRef = [None] * self.numOfPins
        self.pinCount = [0] * self.numOfPins
        self.countDirection = [1] * self.numOfPins
        self.pinEncoderDiff = [0] * self.numOfPins
        self.encoderStopCounting = [0] * self.numOfPins
        self.pinLastState = [0] * self.numOfPins
        self.encoderTime = [0] * self.numOfPins
        self.encoderTimeDiff = [0.0] * self.numOfPins
        self.gpioLookup = [0] * self.numOfPins
        self.callbackInUse = [False] * self.numOfPins
        self.pinValue = [0] * self.numOfPins
        self.pinInvert = [False] * self.numOfPins
        #print "pinValue" , self.pinValue
        #print "pin Value 3 = ", self.pinValue[3]
        self.pinUltraRef = [None] * self.numOfPins
        self.pinTrigger = [0] * self.numOfPins
        self.pinTriggerName = ["x"] * self.numOfPins
        self.anyTrigger = 0
        self.pinServoValue = [None] * self.numOfPins
        self.gpioMyPinEventDetected = [False] * self.numOfPins
        self.pinTriggerLastState = [0] * self.numOfPins        
        self.encoderCallback = 0
        self.piAndBash = [self.PUNUSED] * 16
        
        self.pinEventEnabled = True
        self.encoderInUse = 0
        
        self.nunchuckLevel = 1

        self.capTouch = None
        self.capTouchHelper = None
        self.ADS1015 = None
        self.lightDirection = 0
        self.lightValue = 0
        self.lightInfo = False
        self.autoLink = False
        self.linkPrefix = None

        self.validPins =      [ 3,         5,       7, 8,   10,11,12,13,   15,16,   18,19,   21,22,23,24,   26]
        
        
        if self.piRevision == 1:
        #                       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 28 29 30 31 32 33 34 35 36 37 38 39 40
        #                     [ 3, 5,99,99, 7,99,99,26,24,21,19,23,99,99, 8,10,99,11,12,99,99,13,15,16,18,22,99]
            self.gpioLookup = [99,99,99, 0,99, 1,99, 4,14,99,15,17,18,21,99,22,23,99,24,10,99, 9,25,11, 8,99, 7]
        if self.piRevision == 2:
            self.gpioLookup = [99,99,99, 2,99, 3,99, 4,14,99,15,17,18,27,99,22,23,99,24,10,99, 9,25,11, 8,99, 7]
            
        if self.piRevision > 2:
            self.validPins =  [3,          5,       7, 8,   10,11,12,13,   15,16,   18,19,   21,22,23,24,   26,27,28,     29,   31,32,33,   35,36,37,38,   40]
            self.gpioLookup = [99,99,99, 2,99, 3,99, 4,14,99,15,17,18,27,99,22,23,99,24,10,99, 9,25,11, 8,99, 7,99,99, 5,99, 6,12,13,99,19,16,26,20,99,21]
            
        #self.ULTRA_IN_USE = [False] * self.PINS
        #self.ultraTotalInUse = 0
        #self.ultraSleep = 1.0
        self.debug = debug
        if self.debug:
            print "sghGC Debug enabled"
Beispiel #14
0
#-*-coding:utf-8-*-
import ASUS.GPIO as GPIO  # Asus tinkerboard GPIO kütüphanesi eklendi
import time  # time kütüphanesi eklendi
import serial  # serial kütüphanesi eklendi

GPIO.setwarnings(False)  # GPIO ile ilgili hatalar göz ardı edildi
GPIO.setmode(
    GPIO.ASUS
)  # GPIO modu GPIO.ASUS a göre seçildi (ona göre pin numaraları belirlenecek)

mz80_1 = 252  # 1. MZ80 (Dijital kızılötesi) sensörü için giriş portu belirlendi
mz80_2 = 253  # 2. MZ80 (Dijital kızılötesi) sensörü için giriş portu belirlendi

IR_analog_warn = 257  # Kızılötesi analog sensörlerin uyarı çıkışı
Ultrason_warn = 256  # Ultrasonik sensörlerin uyarı çıkışı
IR_digital_warn = 254  # Kızılötesi dijital sensörlerin uyarı çıkışı

GPIO.setup(
    mz80_1,
    GPIO.IN)  # 1. MZ80 sensörünün çıkışı GPIO'da giriş olarak tanımlandı
GPIO.setup(
    mz80_2,
    GPIO.IN)  # 2. MZ80 sensörünün çıkışı GPIO'da giriş olarak tanımlandı

GPIO.setup(
    IR_analog_warn,
    GPIO.OUT)  # Kızılötesi analog sensörlerin uyarı çıkışı GPIO'da tanımlandı
GPIO.setup(
    IR_digital_warn,
    GPIO.OUT)  # Kızılötesi dijital sensörlerin uyarı çıkışı GPIO'da tanımlandı
GPIO.setup(Ultrason_warn,
Beispiel #15
0
 def __init__(self):
     GPIO.setwarnings(False)
     GPIO.setmode(GPIO.ASUS)
     self.PirSensor = 257
     GPIO.setup(self.PirSensor, GPIO.IN)
Beispiel #16
0
 def initialize(self):
     self._logger.info("Running ASUS.GPIO version '{0}'".format(GPIO.VERSION))
     #if GPIO.VERSION < "0.6":       # Need at least 0.6 for edge detection
     #    raise Exception("ASUS.GPIO must be greater than 0.6")
     GPIO.setwarnings(False)        # Disable GPIO warnings