def set_servo(x): duty = x for j in range(20): gpio.digitalWrite(servo_pin, gpio.HIGH) delayMicroseconds(duty) gpio.digitalWrite(servo_pin, gpio.LOW) delayMicroseconds(20000-duty)
def blinking(): """ Just testing! """ # Setup. pins_led = [18, 23, 24, 25] pin_switch_a = 17 pin_switch_b = 4 val = gpio.wiringPiSetupGpio() if val < 0: raise Exception('Problem seting up WiringPI.') # Configure GPIO pins. for pin in pins_led: gpio.pinMode(pin, gpio.OUTPUT) gpio.pinMode(pin_switch_a, gpio.INPUT) gpio.pinMode(pin_switch_b, gpio.INPUT) gpio.pullUpDnControl(pin_switch_a, gpio.PUD_DOWN) gpio.pullUpDnControl(pin_switch_b, gpio.PUD_DOWN) time_delta = 0.1 # Main loop. flag = True while flag: time.sleep(time_delta) # Read switches. val_a = gpio.digitalRead(pin_switch_a) val_b = gpio.digitalRead(pin_switch_b) if val_a: time_delta *= 1.1 print(time_delta) if val_b: time_delta *= 0.9 print(time_delta) # Set LEDs. for pin in pins_led: value_rnd = np.random.random_integers(0, 1) gpio.digitalWrite(pin, value_rnd)
def _power_cycle(self): logger.warning("entering power cycle") if cfg.getItemValueFromConfig('platform_name') == "RPi2": GPIO.setup(self.powerPin, GPIO.OUT) #set pin as OP GPIO.output(self.powerPin, GPIO.LOW) #set low to power off sensor logger.warning("sensor power cycle - power off") sleep(3) GPIO.output(self.powerPin, GPIO.HIGH) #hi to power on sensor logger.warning("sensor power cycle - Power back ON") sleep(1) elif cfg.getItemValueFromConfig('platform_name') == "PCDuino": gpio.pinMode(self.powerPin, gpio.OUTPUT) gpio.digitalWrite(self.powerPin, gpio.LOW) #power off sleep(1.0 * 3000 / 1000) gpio.digitalWrite(self.powerPin, gpio.HIGH) #power on sleep(1.0 * 3000 / 1000)
def on_message(client, userdata, msg): gpio_msc = str(msg.payload) print(msg.topic+" "+gpio_msc) if gpio_msc == 'dev1-on': gpio.digitalWrite(dev1_pin, gpio.HIGH) elif gpio_msc == 'dev1-off': gpio.digitalWrite(dev1_pin, gpio.LOW) elif gpio_msc == 'dev2-on': gpio.digitalWrite(dev2_pin, gpio.HIGH) elif gpio_msc == 'dev2-off': gpio.digitalWrite(dev2_pin, gpio.LOW)
def action(changepin,value): setpin = changepin message = " " deviceName = pins[setpin]['name'] if value == "on" : gpio.digitalWrite(setpin,gpio.HIGH) message = "turned " + deviceName + " on." if value == "off" : gpio.digitalWrite(setpin,gpio.LOW) message = "turned " + deviceName + " off." if value == "toggle" : gpio.digitalWrite(setpin,not gpio.digitalRead(setpin)) message = "toggled " + deviceName + " ." for pin in pins: pins[pin]['state'] = gpio.digitalRead(pin) templateData = { 'message' : message , 'pins' : pins } return render_template('pin.html',**templateData)
def switch_relays(self, heaterState, ventState, fanState, ventSpeedState): #check if in safe mode #if sensor.getSafeMode() #print('....fan switch state', fanState) if cfg.getItemValueFromConfig('platform_name') == "RPi2": GPIO.output(self.heaterRelay, heaterState) GPIO.output(self.ventRelay, ventState) GPIO.output(self.fanRelay, fanState) GPIO.output(self.relay4, ventSpeedState) elif cfg.getItemValueFromConfig('platform_name') == "PCDuino": #print 'switch relays' gpio.digitalWrite(heaterRelay, heaterState) gpio.digitalWrite(ventRelay, ventState) gpio.digitalWrite(fanRelay, fanState) gpio.digitalWrite(relay4, ventSpeedState)
def loop(): while not myDisplay.isDone(): old_x = 1450 duty = 1500 frame = myCamera.getImage() faces = frame.findHaarFeatures('face') if faces: for face in faces: new_x = (face.points[1][0]+face.points[0][0])/2 new_y = (face.points[3][1]+face.points[0][1])/2 if new_x != old_x : if new_x > old_x : duty -= 50 set_servo(duty) if new_x < old_x : duty +=50 set_servo(duty) facelayer = DrawingLayer((frame.width, frame.height)) facelayer.circle( (new_x,new_y),(face.points[3][1]-face.points[0][1])/2,color=Color.RED ) #facelayer.circle( (face.points[0][0],face.points[0][1]),2,color=Color.RED ) #facelayer.circle( (face.points[1][0],face.points[1][1]),2,color=Color.RED ) #facelayer.circle( (face.points[2][0],face.points[2][1]),2,color=Color.RED ) #facelayer.circle( (face.points[3][0],face.points[3][1]),2,color=Color.RED ) #facebox_dim = (200,200) #center_point = (frame.width/2, frame.height/2) #facebox = facelayer.centeredRectangle(center_point,facebox_dim) #facelayer.text("GO", (0,0), color=Color.WHITE) #frame.addDrawingLayer(newlayer) frame.addDrawingLayer(facelayer) frame.applyLayers() frame.show() old_x = new_x old_y = new_y else: gpio.digitalWrite(servo_pin, gpio.LOW) #set_servo(1500) frame.save(myDisplay) sleep(.1)
def _setupIO_pins(self): logger.info('initialising io pins') if cfg.getItemValueFromConfig('platform_name') == "RPi2": GPIO.setup(self.heaterRelay, GPIO.OUT) #set pin as OP GPIO.output(self.heaterRelay, 0) #heat off GPIO.setup(self.ventRelay, GPIO.OUT) #set pin as OP GPIO.output(self.ventRelay, 1) #vent on GPIO.setup(self.fanRelay, GPIO.OUT) #set pin as OP GPIO.output(self.fanRelay, 1) #fan on GPIO.setup(self.relay4, GPIO.OUT) #set pin as OP GPIO.output(self.relay4, 0) #speed low GPIO.setup(self.alivePin, GPIO.OUT) #set pin as OP GPIO.output(self.alivePin, 1) #signal alive to io board GPIO.setup(self.watchDogPin, GPIO.OUT) #set pin as OP GPIO.output(self.watchDogPin, 1) #signal alive to io board elif cfg.getItemValueFromConfig('platform_name') == "PCDuino": for portpin in relaypins: gpio.pinMode(portpin, gpio.OUTPUT) # for portpin in relaypins: gpio.digitalWrite(portpin, gpio.HIGH) #turn off all relays
def setup(): dht22.setup() #init dht22 pins etc for portpin in relaypins: gpio.pinMode(portpin, gpio.OUTPUT) # for portpin in relaypins: gpio.digitalWrite(portpin, gpio.HIGH) #turn off all relays for portpin in relaypins: gpio.digitalWrite(portpin, gpio.LOW) #turn on relays in turn delay(200) #pause a bit for portpin in relaypins: delay(500) #pause gpio.digitalWrite(portpin, gpio.HIGH) #turn off start_time = time.time()
def loop(): while(1): dht22.loop() #perform loop in c driver gpio.digitalWrite(led1_pin, gpio.HIGH) delay(50) gpio.digitalWrite(led1_pin, gpio.LOW) #switch ops if reqd if dht22.cvar.temperature < setPoint: gpio.digitalWrite(heaterPin, gpio.LOW) #turn on heater else: gpio.digitalWrite(heaterPin, gpio.HIGH) #turn off heater #delay(100) end_time = time.time() uptime = end_time - start_time human_uptime = str(timedelta(seconds=int(uptime))) #print human_uptime print "degrees:%.1f , humidity:%.1f, uptime:%s " % (dht22.cvar.temperature, dht22.cvar.humidity, human_uptime) print
def loop(): duty = 0 while True: for i in range(5): duty +=500 for j in range(20): gpio.digitalWrite(servo_pin, gpio.HIGH) delayMicroseconds(duty) gpio.digitalWrite(servo_pin, gpio.LOW) delayMicroseconds(20000-duty) delay(500) time.sleep(1.5) for i in range(5): duty -=500 for j in range(20): gpio.digitalWrite(servo_pin, gpio.HIGH) delayMicroseconds(duty) gpio.digitalWrite(servo_pin, gpio.LOW) delayMicroseconds(20000-duty) delay(500) time.sleep(1.5)
def destroy(): gpio.digitalWrite(dev1_pin,gpio.LOW)
import gpio import time gpio.pinMode(171, 'out') while(True): gpio.digitalWrite(171,1) time.sleep(1) gpio.digitalWrite(171,0) time.sleep(1)
def detectarpcduino(estado_queue, permiso_queue): while 1: rojo = "gpio6" verde = "gpio7" alarma = "gpio8" gpio.pinMode(rojo, gpio.OUTPUT) gpio.pinMode(verde, gpio.OUTPUT) gpio.pinMode(alarma, gpio.OUTPUT) A = gpio.digitalRead(sensor1) B = gpio.digitalRead(sensor2) estado = False if A == True: while B == False and y != "salir": print "Escalon 1A (Persona entra)" B = gpio.digitalRead(sensor2) if B == True: A = False while B == True: B = gpio.digitalRead(sensor2) print "Escalon 2A (Persona entra)" y = "salir" estado = True y = "" if B == True: while A == False and y != "salir": print "Escalon 1B (Persona sale)" A = gpio.digitalRead(sensor1) if A == True: B = False while A == True: A = gpio.digitalRead(sensor1) print "Escalon 2B (Persona sale)" y = "salir" estado = False ################### VERIFICA PERMISO DE ENTRADA Permiso = permiso_queue.get() permiso_queue.put(Permiso) print "La lectura de entradas es: ", estado print "el permiso de entrar es: ", Permiso print "tamaño", permiso_queue.qsize() if estado == False and Permiso == False: gpio.digitalWrite(alarma, gpio.LOW) gpio.digitalWrite(rojo, gpio.LOW) gpio.digitalWrite(verde, gpio.LOW) print "alarma, rojo y verde apagados" if estado == False and Permiso == True: gpio.digitalWrite(verde, gpio.HIGH) print "verde prendido" if estado == True and Permiso == False: gpio.digitalWrite(alarma, gpio.HIGH) gpio.digitalWrite(rojo, gpio.HIGH) print "Rojo y alarma prendidos.. delay" time.sleep(3) estado = False permiso_queue.get() permiso_queue.put(False) if estado == True and Permiso == True: time.sleep(.2) estado = False permiso_queue.get() permiso_queue.put(False) time.sleep(.05)
def doNormalPost(t=0.5): gpio.digitalWrite(NORMAL_STATE_PIN,gpio.LOW) time.sleep(t) gpio.digitalWrite(NORMAL_STATE_PIN,gpio.HIGH)
def digitalWrite(self, pin_no, pin_value): gpio.digitalWrite(self.getPin(pin_no), self.getPinValue(pin_value))
def left(): gpio.digitalWrite(IN1, gpio.LOW) gpio.digitalWrite(IN2, gpio.LOW) gpio.digitalWrite(IN3, gpio.HIGH) gpio.digitalWrite(IN4, gpio.LOW) delay(80)
def back(): gpio.digitalWrite(IN1, gpio.LOW) gpio.digitalWrite(IN2, gpio.HIGH) gpio.digitalWrite(IN3, gpio.LOW) gpio.digitalWrite(IN4, gpio.HIGH)
import gpio import time gpio.pinMode(171, 'out') gpio.pinMode(189, 'in') while(True): gpio.digitalWrite(171,gpio.digitalRead(189))
def decidir(estado_queue, permiso_queue): ### DESCOMENTAR EN PCDUINO rojo = "gpio6" verde = "gpio7" alarma = "gpio8" gpio.pinMode(rojo, gpio.OUTPUT) gpio.pinMode(verde, gpio.OUTPUT) gpio.pinMode(alarma, gpio.OUTPUT) while 1: edo = estado_queue.get() if edo == None or edo == "sale": edo = False if edo == "entra": edo = True perm = permiso_queue.get() print "Estado: ", edo print "Permiso: ", perm if edo == False and perm == False: gpio.digitalWrite(alarma, gpio.LOW) gpio.digitalWrite(rojo, gpio.LOW) gpio.digitalWrite(verde, gpio.LOW) print "alarma, rojo y verde apagados" if edo == False and perm == True: gpio.digitalWrite(verde, gpio.HIGH) print "verde prendido" if edo == True and perm == False: gpio.digitalWrite(alarma, gpio.HIGH) gpio.digitalWrite(rojo, gpio.HIGH) print "Rojo y alarma prendidos.. delay" time.sleep(3) estado_queue.put(False) permiso_queue.put(False) if edo == True and perm == True: time.sleep(.2) estado_queue.put("sale") permiso_queue.put(False)
def doModbusNormal(): gpio.digitalWrite(MODBUS_ERR_PIN, gpio.HIGH)
def received_message(self, msg): print str(msg) pins = eval(str(msg)) for pin in pins: gpio.pinMode(pin, gpio.OUTPUT) gpio.digitalWrite(pin,int(pins[pin]))
def doModbusErr(): doNetworkNormal() gpio.digitalWrite(MODBUS_ERR_PIN, gpio.LOW)
def doNetworkNormal(): gpio.digitalWrite(NETWORK_ERR_PIN, gpio.HIGH)
def doNetworkErr(): doModbusNormal() gpio.digitalWrite(NETWORK_ERR_PIN, gpio.LOW)
def detectarpcduino(estado_queue, permiso_queue): while 1: rojo = "gpio6" verde = "gpio7" alarma= "gpio8" gpio.pinMode(rojo, gpio.OUTPUT) gpio.pinMode(verde, gpio.OUTPUT) gpio.pinMode(alarma, gpio.OUTPUT) A=gpio.digitalRead(sensor1) B= gpio.digitalRead(sensor2) estado= False if A==True: while B==False and y!= "salir": print "Escalon 1A (Persona entra)" B=gpio.digitalRead(sensor2) if B==True: A=False while B==True: B=gpio.digitalRead(sensor2) print "Escalon 2A (Persona entra)" y= "salir" estado=True y="" if B==True: while A==False and y!= "salir": print "Escalon 1B (Persona sale)" A=gpio.digitalRead(sensor1) if A==True: B=False while A==True: A=gpio.digitalRead(sensor1) print "Escalon 2B (Persona sale)" y= "salir" estado=False ################### VERIFICA PERMISO DE ENTRADA Permiso=permiso_queue.get() permiso_queue.put(Permiso) print "La lectura de entradas es: ", estado print "el permiso de entrar es: ", Permiso print "tamaño", permiso_queue.qsize() if estado==False and Permiso== False: gpio.digitalWrite(alarma, gpio.LOW) gpio.digitalWrite(rojo, gpio.LOW) gpio.digitalWrite(verde, gpio.LOW) print "alarma, rojo y verde apagados" if estado==False and Permiso== True: gpio.digitalWrite(verde, gpio.HIGH) print "verde prendido" if estado==True and Permiso== False: gpio.digitalWrite(alarma, gpio.HIGH) gpio.digitalWrite(rojo, gpio.HIGH) print "Rojo y alarma prendidos.. delay" time.sleep(3) estado=False permiso_queue.get() permiso_queue.put(False) if estado==True and Permiso== True: time.sleep(.2) estado=False permiso_queue.get() permiso_queue.put(False) time.sleep(.05)
def led(id): json = request.get_json() state = json['state'] gpio.digitalWrite(LED_PIN, state) return jsonify(state=state)
def stop(): gpio.digitalWrite(IN1, gpio.LOW) gpio.digitalWrite(IN2, gpio.LOW) gpio.digitalWrite(IN3, gpio.LOW) gpio.digitalWrite(IN4, gpio.LOW)
import gpio import time # Put a led with positive leg in p8_3 and negative pin in p8_1 gpio.pinMode("P8_3",gpio.OUTPUT) gpio.pinMode("P8_4",gpio.INPUT) gpio.digitalWrite("P8_3",gpio.HIGH) #Now your led are lighting val = gpio.digitalRead("P8_4") # If P8_4 is connected with P8_3 val = 1 print val time.sleep(1) #To turn off your led gpio.digitalWrite("P8_3",gpio.LOW) val = gpio.digitalRead("P8_4") # If P8_4 is connected with P8_3 val = 0 print val
def front(): gpio.digitalWrite(IN1, gpio.HIGH) gpio.digitalWrite(IN2, gpio.LOW) gpio.digitalWrite(IN3, gpio.HIGH) gpio.digitalWrite(IN4, gpio.LOW)
def off(self): gpio.digitalWrite(self.gpio_str, gpio.LOW)
def moveCommand(direction): #if windows, let's go out of here is_windows = sys.platform.startswith('win') if is_windows: return #switch off gpio.pinMode(led_pin17, gpio.OUTPUT) gpio.pinMode(led_pin16, gpio.OUTPUT) gpio.pinMode(led_pin15, gpio.OUTPUT) gpio.pinMode(led_pin14, gpio.OUTPUT) gpio.digitalWrite(led_pin17, gpio.LOW) gpio.digitalWrite(led_pin16, gpio.LOW) gpio.digitalWrite(led_pin15, gpio.LOW) gpio.digitalWrite(led_pin14, gpio.LOW) ''' pins: 14, 15, 16, 17 none - 0000 centered - 1111 forward - 0001 right - 0010 back - 0100 left - 1000 ''' if direction == 'centered': gpio.digitalWrite(led_pin14, gpio.HIGH) gpio.digitalWrite(led_pin15, gpio.HIGH) gpio.digitalWrite(led_pin16, gpio.HIGH) gpio.digitalWrite(led_pin17, gpio.HIGH) elif direction == 'forward': gpio.digitalWrite(led_pin17, gpio.HIGH) elif direction == 'right': gpio.digitalWrite(led_pin16, gpio.HIGH) elif direction == 'back': gpio.digitalWrite(led_pin15, gpio.HIGH) elif direction == 'left': gpio.digitalWrite(led_pin14, gpio.HIGH) elif direction == 'none': gpio.digitalWrite(led_pin17, gpio.LOW) gpio.digitalWrite(led_pin16, gpio.LOW) gpio.digitalWrite(led_pin15, gpio.LOW) gpio.digitalWrite(led_pin14, gpio.LOW) return
def setup(): gpio.pinMode(dev1_pin, gpio.OUTPUT) gpio.digitalWrite(dev1_pin, gpio.LOW)
def loop(): while (1): gpio.digitalWrite(led_pin, gpio.HIGH) delay(200) gpio.digitalWrite(led_pin, gpio.LOW) delay(100)
def decidir(estado_queue, permiso_queue): ### DESCOMENTAR EN PCDUINO rojo = "gpio6" verde = "gpio7" alarma= "gpio8" gpio.pinMode(rojo, gpio.OUTPUT) gpio.pinMode(verde, gpio.OUTPUT) gpio.pinMode(alarma, gpio.OUTPUT) while 1: edo= estado_queue.get() if edo== None or edo== "sale": edo= False if edo=="entra": edo= True perm= permiso_queue.get() print "Estado: ", edo print "Permiso: ", perm if edo==False and perm== False: gpio.digitalWrite(alarma, gpio.LOW) gpio.digitalWrite(rojo, gpio.LOW) gpio.digitalWrite(verde, gpio.LOW) print "alarma, rojo y verde apagados" if edo==False and perm== True: gpio.digitalWrite(verde, gpio.HIGH) print "verde prendido" if edo==True and perm== False: gpio.digitalWrite(alarma, gpio.HIGH) gpio.digitalWrite(rojo, gpio.HIGH) print "Rojo y alarma prendidos.. delay" time.sleep(3) estado_queue.put(False) permiso_queue.put(False) if edo==True and perm== True: time.sleep(.2) estado_queue.put("sale") permiso_queue.put(False)
def on(self): gpio.digitalWrite(self.gpio_str, gpio.HIGH)
def loop(): while(1): dht22.loop() #perform loop in c driver gpio.digitalWrite(led1_pin, gpio.HIGH) delay(50) gpio.digitalWrite(led1_pin, gpio.LOW) #switch ops if reqd if dht22.cvar.temperature < setPoint: gpio.digitalWrite(relay1, gpio.LOW) #turn on heater else: gpio.digitalWrite(relay1, gpio.HIGH) #turn off heater if dht22.cvar.temperature < setPoint + 0.25: gpio.digitalWrite(relay2, gpio.LOW) #turn on heater else: gpio.digitalWrite(relay2, gpio.HIGH) #turn off heater if dht22.cvar.temperature < setPoint +0.5: gpio.digitalWrite(relay3, gpio.LOW) #turn on heater else: gpio.digitalWrite(relay3, gpio.HIGH) #turn off heater if dht22.cvar.temperature < setPoint + 0.75: gpio.digitalWrite(relay4, gpio.LOW) #turn on heater else: gpio.digitalWrite(relay4, gpio.HIGH) #turn off heater #delay(100) end_time = time.time() uptime = end_time - start_time human_uptime = str(timedelta(seconds=int(uptime))) #print human_uptime print "degrees:%.1f , humidity:%.1f, uptime:%s " % (dht22.cvar.temperature, dht22.cvar.humidity, human_uptime) print
def loop(): while(1): gpio.digitalWrite(led_pin, gpio.HIGH) delay(200) gpio.digitalWrite(led_pin, gpio.LOW) delay(100)
import gpio from flask import Flask, render_template, request app = Flask(__name__) pins = { 'gpio0':{'name':'Red_LED','state':False}, 'gpio1':{'name':'Blue_LED','state':True} } for pin in pins: gpio.pinMode(pin,gpio.OUTPUT) gpio.digitalWrite(pin,gpio.LOW) @app.route("/") def main(): for pin in pins : pins[pin]['state'] = gpio.digitalRead(pin) templateData = { 'pins':pins } #def hello_world(): #return 'Hello World!' return render_template('pin.html',**templateData) @app.route('/hello') def hello(): return 'Hello World' @app.route("/<changepin>/<value>") def action(changepin,value):
def received_message(self, msg): print str(msg) pins = eval(str(msg)) for pin in pins: gpio.pinMode(pin, gpio.OUTPUT) gpio.digitalWrite(pin, int(pins[pin]))
def decidir(estado_queue, permiso_queue): pass ### DESCOMENTAR EN PCDUINO rojo = "gpio6" verde = "gpio7" alarma= "gpio8" gpio.pinMode(rojo, gpio.OUTPUT) gpio.pinMode(verde, gpio.OUTPUT) gpio.pinMode(alarma, gpio.OUTPUT) while 1: if estado_queue.qsize>0: Estado= estado_queue.get() else: Estado= False if permiso_queue.qsize>0: Permiso=permiso_queue.get() else: Permiso= False if Estado==False and Permiso== False: gpio.digitalWrite(alarma, gpio.LOW) gpio.digitalWrite(rojo, gpio.LOW) gpio.digitalWrite(verde, gpio.LOW) print "alarma, rojo y verde apagados" if Estado==False and Permiso== True: gpio.digitalWrite(verde, gpio.HIGH) print "verde prendido" if Estado==True and Permiso== False: gpio.digitalWrite(alarma, gpio.HIGH) gpio.digitalWrite(rojo, gpio.HIGH) print "Rojo y alarma prendidos.. delay" time.sleep(3) Estado=False Permiso=False if Estado==True and Permiso== True: time.sleep(.2) Estado=False Permiso=False time.sleep(1)
import gpio import time # Put a led with positive leg in p8_3 and negative pin in p8_1 gpio.pinMode("P8_3", gpio.OUTPUT) gpio.pinMode("P8_4", gpio.INPUT) gpio.digitalWrite("P8_3", gpio.HIGH) #Now your led are lighting val = gpio.digitalRead("P8_4") # If P8_4 is connected with P8_3 val = 1 print val time.sleep(1) #To turn off your led gpio.digitalWrite("P8_3", gpio.LOW) val = gpio.digitalRead("P8_4") # If P8_4 is connected with P8_3 val = 0 print val
def doNormalPost(t=0.5): gpio.digitalWrite(NORMAL_STATE_PIN, gpio.LOW) time.sleep(t) gpio.digitalWrite(NORMAL_STATE_PIN, gpio.HIGH)