Exemple #1
0
def receiveSignal(signalNumber, frame):
    """ When any error signal is received:
    - print signal number,
    - turn of ledBar,
    - and exit """
    print("Received: ", signalNumber)
    print("Exit Python!")
    # Turn of LED bar
    grovepi.ledBar_setLevel(port_ledbar, 0)
    os._exit(0)
        async def processing_loop():
            LED_BAR_PORT = 5  #D5
            counter = 0

            print("GROVEIOT: setting up device communication")
            grovepi.pinMode(LED_BAR_PORT, "OUTPUT")
            time.sleep(1)
            print("GROVEIOT: initializing device")
            grovepi.ledBar_init(LED_BAR_PORT, counter)
            time.sleep(.1)

            print("GROVEIOT: entering processing loop")
            while not stopFlag.isSet():
                counter = counter + 1
                grovepi.ledBar_setLevel(LED_BAR_PORT, counter % 10)
                time.sleep(1)

            # we're done, turn off the lights
            grovepi.ledBar_setLevel(LED_BAR_PORT, 0)
Exemple #3
0
def main():
    with open('config.yaml', 'r') as config_file:
        config = yaml.load(config_file)

    es = Elasticsearch([config['es']['url']])
    es_alias_name = 'moisture-index'

    detector = MoistureDetector(port=0)
    interval = 5 * 60
    led = 5
    grovepi.pinMode(led, "OUTPUT")
    grovepi.ledBar_init(led, 0)

    while True:
        try:
            moisture, condition = detector.read_moisture_value()

            doc = {
                'moisture': moisture,
                'condition': condition,
                'timestamp': datetime.utcnow()
            }
            es_index_name = "{}-{}".format(es_alias_name,
                                           datetime.now().strftime("%Y%m"))
            if not es.indices.exists(es_index_name):
                es.indices.create(index=es_index_name)

            res = es.index(index=es_index_name, body=doc)
            print(res)

            led_brightness = int(min(moisture / 300 * 10, 10)) + 1
            grovepi.ledBar_setLevel(led, led_brightness)

            # Alert @ 7am
            now = datetime.utcnow()
            if now.hour == 23 and condition == "DRY":
                pass

            time.sleep(interval)

        except KeyboardInterrupt:
            break
Exemple #4
0
def LEDBarGraph(level):

	grovepi.ledBar_setLevel(ledbar,level)
	time.sleep(0.1)
Exemple #5
0
# grovepi.ledBar_setBits(pin,state)
# grovepi.ledBar_getBits(pin)

while True:
    try:
        print "Test 1) Initialise - red to green"
        # ledbar_init(pin,orientation)
        # orientation: (0 = red to green, 1 = green to red)
        grovepi.ledBar_init(ledbar, 0)
        time.sleep(.5)

        print "Test 2) Set level"
        # ledbar_setLevel(pin,level)
        # level: (0-10)
        for i in range(0, 11):
            grovepi.ledBar_setLevel(ledbar, i)
            time.sleep(.2)
        time.sleep(.3)

        grovepi.ledBar_setLevel(ledbar, 8)
        time.sleep(.5)

        grovepi.ledBar_setLevel(ledbar, 2)
        time.sleep(.5)

        grovepi.ledBar_setLevel(ledbar, 5)
        time.sleep(.5)

        print "Test 3) Switch on/off a single LED"
        # ledbar_setLed(pin,led,state)
        # led: which led (1-10)
Exemple #6
0
 def setLevel(self, levelValue):
     print "set level ", levelValue
     grovepi.ledBar_setLevel(self.port, levelValue)
     return
Exemple #7
0
import time
import grovepi

led = 5
button = 2

grovepi.pinMode(led, "OUTPUT")
grovepi.pinMode(button, "OUTPUT")
time.sleep(1)
grovepi.ledBar_init(led, 1)
time.sleep(1)

grovepi.ledBar_setLevel(led, 0)
time.sleep(3)

limit = 10
len = 1

grovepi.ledBar_setBits(led, len)

grovepi.digitalWrite(button, 1)

while (len < limit):
    try:
        len += 1
        grovepi.ledBar_setBits(led, len)
        time.sleep(1)
    except IOError:
        print("Error")

grovepi.digitalWrite(button, 0)
Exemple #8
0
def on_message(client, userdata, msg):
    information = str(msg.payload)
    print(information)
    level = information[0]
    if (level == 'e'):
        print("No Person")
        grovepi.ledBar_setLevel(ledbar, 0)
        grovepi.fourDigit_digit(display, 0, 9)
        grovepi.fourDigit_digit(display, 1, 0)
        grovepi.fourDigit_digit(display, 2, 0)
        grovepi.fourDigit_digit(display, 3, 125)
        time.sleep(5)
        #grovepi.fourDigit_off(display)
        print("NEXT")

    else:
        num = information[1:]
        i = int(num)

        binary5 = i // 32
        binary6 = (i % 32) // 16
        binary7 = (i % 16) // 8
        binary8 = (i % 8) // 4
        binary9 = (i % 4) // 2
        binary10 = i % 2

        print("Client " + information)

        if (level == 'A'):
            grovepi.ledBar_setLevel(ledbar, 3)
            grovepi.ledBar_setLed(ledbar, 5, binary5)
            grovepi.ledBar_setLed(ledbar, 6, binary6)
            grovepi.ledBar_setLed(ledbar, 7, binary7)
            grovepi.ledBar_setLed(ledbar, 8, binary8)
            grovepi.ledBar_setLed(ledbar, 9, binary9)
            grovepi.ledBar_setLed(ledbar, 10, binary10)
            grovepi.fourDigit_digit(display, 0, 10)
            grovepi.fourDigit_digit(display, 3, i)
            time.sleep(5)
            #grovepi.fourDigit_off(display)
            print("NEXT")

        if (level == 'B'):
            grovepi.ledBar_setLevel(ledbar, 2)
            grovepi.ledBar_setLed(ledbar, 5, binary5)
            grovepi.ledBar_setLed(ledbar, 6, binary6)
            grovepi.ledBar_setLed(ledbar, 7, binary7)
            grovepi.ledBar_setLed(ledbar, 8, binary8)
            grovepi.ledBar_setLed(ledbar, 9, binary9)
            grovepi.ledBar_setLed(ledbar, 10, binary10)
            grovepi.fourDigit_digit(display, 0, 11)
            grovepi.fourDigit_digit(display, 3, i)
            time.sleep(5)
            #grovepi.fourDigit_off(display)
            print("NEXT")

        if (level == 'C'):
            grovepi.ledBar_setLevel(ledbar, 1)
            grovepi.ledBar_setLed(ledbar, 5, binary5)
            grovepi.ledBar_setLed(ledbar, 6, binary6)
            grovepi.ledBar_setLed(ledbar, 7, binary7)
            grovepi.ledBar_setLed(ledbar, 8, binary8)
            grovepi.ledBar_setLed(ledbar, 9, binary9)
            grovepi.ledBar_setLed(ledbar, 10, binary10)
            grovepi.fourDigit_digit(display, 0, 12)
            grovepi.fourDigit_digit(display, 3, i)
            time.sleep(5)
            #grovepi.fourDigit_off(display)
            print("NEXT")
    os._exit(0)


# When a signal is received, activate the (above) receiveSignal method.
signal.signal(signal.SIGINT, receiveSignal)

# Set sensor ports and settings
port_ledbar = 2  # Put Ledbar to grovepi digital connector D2

# Initialize LED Bar
grovepi.ledBar_init(port_ledbar, 0)
grovepi.ledBar_orientation(port_ledbar, 1)
grovepi.pinMode(port_ledbar, "OUTPUT")

# Settings
ledbar_nof_levels = 10  # Number of LEDs
""" Endless loop """
print("Start Event Log ...")
while True:
    # Ask for a user input between 0 and 10
    userinput = input('Geben sie einen Wert zwischen 0 und 10 ein: ')
    # Save as integer
    userinput = int(userinput)

    # Set ledbar level
    if userinput >= 0 and userinput <= ledbar_nof_levels:
        grovepi.ledBar_setLevel(port_ledbar, userinput)
        print(userinput)  # Print the given value to screen
    else:
        print("Wert auserhalb des gültigen Bereichs")
Exemple #10
0
# grovepi.ledBar_getBits(pin)

while True:
    try:
        print "Test 1) Initialise - red to green"
        # ledbar_init(pin,orientation)
        # orientation: (0 = red to green, 1 = green to red)
        grovepi.ledBar_init(ledbar, 0)
        time.sleep(.5)


        print "Test 2) Set level"
        # ledbar_setLevel(pin,level)
        # level: (0-10)
        for i in range(0,11):
            grovepi.ledBar_setLevel(ledbar, i)
            time.sleep(.2)
        time.sleep(.3)

        grovepi.ledBar_setLevel(ledbar, 8)
        time.sleep(.5)

        grovepi.ledBar_setLevel(ledbar, 2)
        time.sleep(.5)

        grovepi.ledBar_setLevel(ledbar, 5)
        time.sleep(.5)


        print "Test 3) Switch on/off a single LED"
        # ledbar_setLed(pin,led,state)
Exemple #11
0
    def setLevel(self, level=0):
        """
	level = 1-10
	level - 5 turns on LEDs 1 to 5
	"""
        grovepi.ledBar_setLevel(self.ledbar, level)
Exemple #12
0
    os._exit(0)
signal.signal(signal.SIGINT, receiveSignal)

########## YOUR CODE GOES HERE ##########
import grovepi

port_ledbar = # FIXME: Put Ledbar to grovepi connector 5
port_ranger = # FIXME: Put Ledbar to grovepi connector 4

grovepi.ledBar_init(port_ledbar, 0)
grovepi.ledBar_orientation(port_ledbar, 1)
grovepi.pinMode(port_ledbar, "OUTPUT")

range_max = 30
ledbar_nof_levels = 10
lvl = 0

while True:
    dist = grovepi.ultrasonicRead(port_ranger)

    if dist <= range_max :
        lvl = int((range_max - dist)/(range_max/ledbar_nof_levels))
    else:
        lvl = 0

    if lvl >= 0 and lvl <= ledbar_nof_levels:
        grovepi.ledBar_setLevel(port_ledbar, lvl)

    print lvl , "<->" , dist

########## YOUR CODE ENDS HERE ##########
        [temp, humidity] = grovepi.dht(sensor, blue)

        # Changed temp from celsius to fahrenheit
        fahrenheit = (temp * 1.8) + 32

        # Get sensor value
        sensor_value = grovepi.analogRead(light_sensor)

        # Calculate resistance of sensor in K
        resistance = (float)(1023 - sensor_value) * 10 / sensor_value

        if resistance < threshold:
            if fahrenheit > 60 and fahrenheit < 85 and humidity < 80:
                # Send highest red to switch on LED
                #grovepi.digitalWrite(ledbar,1)
                grovepi.ledBar_setLevel(ledbar, 10)
            if fahrenheit > 85 and fahrenheit < 95 and humidity < 80:
                # Send yellow to switch on LED
                #grovepi.digitalWrite(ledbar,1)
                grovepi.ledBar_setLevel(ledbar, 9)
            if fahrenheit > 95:
                # Send lowest green to switch on LED
                #grovepi.digitalWrite(ledbar,1)
                grovepi.ledBar_setLevel(ledbar, 1)
            if humidity > 80:
                # Send medium green to switch on LED
                #grovepi.digitalWrite(ledbar,1)
                grovepi.ledBar_setLevel(ledbar, 5)
        else:
            # Send LOW to switch off LED
            #grovepi.digitalWrite(ledbar,0)
Exemple #14
0
def LEDBarGraph(level):

    grovepi.ledBar_setLevel(ledbar, level)
    time.sleep(0.1)
Exemple #15
0
def main():
   timer = -1
    #Calcul nombre de lignes dans la table log
   while(True):
        try:
# orientation: (0 = red to green, 1 = green to red)
            grovepi.ledBar_init(ledbar, 0)
            time.sleep(.5)
            grovepi.fourDigit_init(display)
            time.sleep(.5)
            sensor_value = grovepi.analogRead(air_sensor)
            val = str(sensor_value)
            horloge= datetime.datetime.now().strftime("%H:%M:%S")
            print ("Qualite de l air : " + val)
            time.sleep(1)
            [temp,humidity] = grovepi.dht(sensor,blue)
            if math.isnan(temp) == False and math.isnan(humidity) == False:
                timer = timer+1 
                print ("timer" + str(timer)) 
                print("temp = %.02f C humidity =%.02f%%"%(temp,humidity))
                setText("Temp : " + str(temp) + "     Hum : " + str(humidity)+"%")
                if (timer%12==0):
                        print("La temperature de la piece a  " +str(horloge) + " est de : " + str(temp) + "  C")
                        api.PostUpdate("La temperature de la piece a " +str(horloge) + " est de : " + str(temp) + "  C")                
                else:
                        pass
            if sensor_value > 130:
                setText("Temp : " + str(temp) + "     Hum : " + str(humidity)+"%")
                setRGB(247,35,12)
                digitalWrite(ledvert,0)
                digitalWrite(ledrouge,1)
                time.sleep(.5)
                digitalWrite(ledrouge,0)
                grovepi.ledBar_setLevel(ledbar, 2)
                time.sleep(.5)
            elif sensor_value > 70:
                setText("Temp : " + str(temp) + "     Hum : " + str(humidity)+"%")
                setRGB(255,215,0)
                digitalWrite(ledvert,0)
                digitalWrite(ledrouge,1)
                time.sleep(2)
                digitalWrite(ledrouge,0)
                grovepi.ledBar_setLevel(ledbar, 5)
                time.sleep(.5)
            else: 
                setText("Temp : " + str(temp) + "     Hum : " + str(humidity)+"%")
                setRGB(15,157,232)
                digitalWrite(ledrouge,0)
                digitalWrite(ledvert,1)
                time.sleep(1)
                grovepi.ledBar_setLevel(ledbar, 11)
                time.sleep(.5)
            curs.execute("SELECT COUNT(*) FROM log2")
            lignes=curs.fetchone()
            nblignes=lignes[0]
            compteur = nblignes
            print("Il y a " +  str(compteur) + " personnes " )
            leading_zero = 0
            grovepi.fourDigit_number(display,compteur,leading_zero)
            time.sleep(.5)
            if (compteur !=0):
                digitalWrite(lumiere,1)
            else:
                digitalWrite(lumiere,0)

            f = PyFingerprint('/dev/ttyUSB0', 57600, 0xFFFFFFFF, 0x00000000)

            if ( f.verifyPassword() == False ):
                raise ValueError('The given fingerprint sensor password is wrong!')
        except Exception as e:
            print('The fingerprint sensor could not be initialized!')
            print('Exception message: ' + str(e))

    #while ( f.readImage() == False ):
     #       pass
        try:
            key= f.readImage()
            today= datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            rdy = datetime.datetime.now().strftime("%b %d %Y")
            #str(today)
            clock= datetime.datetime.now().strftime("%H:%M:%S")
            if (key == False):
                pass
            if (key != False):
                curs.execute("SELECT COUNT(*) FROM log2")
                lignes=curs.fetchone()
                nblignes=lignes[0]
                print(nblignes)
    ## Converts read image to characteristics and stores it in charbuffer 1
                f.convertImage(0x01)
    ## Searchs template
                result = f.searchTemplate()

                positionNumber = result[0]
                curs.execute("SELECT statut FROM user WHERE id_finger= ('%s')" %positionNumber)
                statut = curs.fetchone()
                stat=statut[0]
                print("Vous etes un : " + str(stat))
                salle ="T229"
                if (stat == "PROF"):
                        today= datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
                        str(today)
                        print(today)
                        curs.execute("SELECT nomP FROM prof  WHERE id_finger = ('%s')" %positionNumber)
                        nomP= curs.fetchone()
                        nomtemp = nomP[0]
                        print( nomtemp)
                        curs.execute("SELECT numP FROM prof  WHERE id_finger = ('%s')" %positionNumber)
                        numP= curs.fetchone()
                        numtemp = numP[0]
                        print( numtemp)
                        sql=("SELECT COUNT(*) FROM log2  WHERE(nom='%s')" %(nomtemp))
                        curs.execute(sql)
                        nboccu=curs.fetchone()
                        noccu=nboccu[0]
                        if (noccu==0):
                                curs.execute("INSERT INTO log2 (nom, date, salle, num, statut) VALUES ('%s', '%s', '%s','%s','%s')" %(nomtemp, today, salle, numtemp, stat))
                                db.commit()
                        else:
                                curs.execute("DELETE FROM log2  WHERE num = ('%s')" %numtemp)
                                db.commit()
                else:
                        today= datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
                        str(today)
                        print(today)
                        curs.execute("SELECT nomE FROM eleve  WHERE id_finger = ('%s')" %positionNumber)
                        nomE= curs.fetchone()
                        nomtemp = nomE[0]
                        print( numtemp)

                        sql=("SELECT COUNT(*) FROM log2  WHERE(nom='%s')" %(nomtemp))
                        curs.execute(sql)
                        nboccu=curs.fetchone()
                        noccu=nboccu[0]
                        if (noccu==0):
                                curs.execute("INSERT INTO log2 (nom, date, salle, num, statut) VALUES ('%s', '%s', '%s','%s','%s')" %(nomtemp, today, salle, numtemp, stat))
                                db.commit()
                        else:
                                curs.execute("DELETE FROM log2  WHERE num = ('%s')" %numtemp)
                                db.commit()
        except KeyboardInterrupt:
                digitalWrite(lumiere,0)
                digitalWrite(ledrouge,0)
                digitalWrite(lumiere,0)
                digitalWrite(ledvert,0)
                quit(1)

        except Exception as e:
            print("Empreinte non reconnue , reesayez")
            print("Duplicate Tweet or Twitter Refusal: {}".format(e))
Exemple #16
0
signal.signal(signal.SIGINT, receiveSignal)

###### YOUR CODE GOES HERE ######
import grovepi
ledbar = 5  # Connect the Grove LED Bar to digital port D5
ultrasonic_ranger = 4  # Connect the Grove Ultrasonic Ranger to digital port D4

grovepi.ledBar_init(ledbar, 0)
grovepi.ledBar_orientation(ledbar, 1)
grovepi.pinMode(ledbar, "OUTPUT")
i = 0
wert = 20

while True:

    # Read distance value from Ultrasonic
    dist = grovepi.ultrasonicRead(ultrasonic_ranger)

    # calculation for LED Bar
    if wert < 31:
        wert = (30 - dist) / 3
    else:
        wert = 0

    if wert >= 0 and wert <= 10:
        grovepi.ledBar_setLevel(ledbar, wert)

    print wert

###### YOUR CODE ENDS HERE ######
i = 0

# LED Bar methods
# grovepi.ledBar_init(pin,orientation)
# grovepi.ledBar_orientation(pin,orientation)
# grovepi.ledBar_setLevel(pin,level)
# grovepi.ledBar_setLed(pin,led,state)
# grovepi.ledBar_toggleLed(pin,led)
# grovepi.ledBar_setBits(pin,state)
# grovepi.ledBar_getBits(pin)

while True:
    try:
        print "Test 1) Initialize - red to green"
        for i in range(0,11):
            grovepi.ledBar_setLevel(ledbar, i)
            time.sleep(.2)

        """print "Test 2) Set level"
        for i in range(0,11):
            grovepi.ledBar_setLevel(ledbar, i)
            time.sleep(.2)
        time.sleep(.3)

        grovepi.ledBar_setLevel(ledbar, 8)
        time.sleep(.5)

        grovepi.ledBar_setLevel(ledbar, 2)
        time.sleep(.5)

        grovepi.ledBar_setLevel(ledbar, 5)
Exemple #18
0
 def setLevel(self, level):
     grovepi.ledBar_setLevel(self.__pin, level)
light_sensor = 0

# D4 = servo
ledbar = 4

threshold = 10

grovepi.pinMode(light_sensor, "INPUT")
grovepi.pinMode(ledbar, "OUTPUT")

# main loop
if __name__ == '__main__':
    while True:
        try:
            sensor_value = grovepi.analogRead(light_sensor)

            resistance = (float)(1023 - sensor_value) * 10 / sensor_value

            if resistance < threshold:
                grovepi.ledBar_setLevel(ledbar, int(resistance))
                time.sleep(0.2)
            else:
                grovepi.ledBar_setLevel(ledbar, 10)

            print(
                f'Valoarea sensorului: {sensor_value}\nRezistenta: {resistance}'
            )
            time.sleep(1)
        except IOError:
            print('Eroare!')