Exemplo n.º 1
0
    def __init__(self, pin=3, color=0):
        """
	color = 0 starts counting led 1 from  the Red LED end
	color = 0 starts counting led 1 from the green LED end
	"""
        self.ledbar = pin
        grovepi.ledBar_init(self.ledbar, color)
Exemplo n.º 2
0
def start():
    grovepi.pinMode(ledbar, "OUTPUT")
    grovepi.ledBar_init(ledbar, 0)
    grovepi.ledBar_orientation(ledbar, 1)
    pinMode(led, "OUTPUT")

    json_obj = getTankInfos(code)
    if json_obj != []:
        updateTankStatus(json_obj)
        data = checkLightUPnP()
        if data != None:
            if data[0] == '1':
                level = int(data[1])
            else:
                json_brightness = getBrightnessLevel(json_obj)
                if json_brightness['time'] == "sun":
                    level = float(json_brightness['brightness'])
                else:
                    level = float(json_brightness['brightness'])
        setLedValue(int(level))
    else:
        for i in range(0, 4):
            digitalWrite(led, 1)
            time.sleep(1)
            digitalWrite(led, 0)
            time.sleep(1)
        time.sleep(60)
        start(json_obj)
        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)
Exemplo n.º 4
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
Exemplo n.º 5
0
import time
import grovepi

# DI,DCKI,VCC,GND
leftledbar = 6
rightledbar = 5
grovepi.ledBar_init(leftledbar, 0)
grovepi.ledBar_init(rightledbar, 0)
grovepi.pinMode(rightledbar, "OUTPUT")
grovepi.pinMode(leftledbar, "OUTPUT")
i = 0
grovepi.ledBar_orientation(rightledbar, 0)
grovepi.ledBar_orientation(leftledbar, 0)

# ledbar_setLed(pin,led,state)
# led: which led (1-10)
# state: off or on (0,1)

# ledbar_setLevel(pin,level)
# level: (0-10)

while True:
    try:
        for i in range(3, 10):
            grovepi.ledBar_setLed(rightledbar, i, 1)
            grovepi.ledBar_setLed(leftledbar, i, 1)
            time.sleep(.05)

        for i in range(3, 10):
            grovepi.ledBar_setLed(rightledbar, i, 0)
            grovepi.ledBar_setLed(leftledbar, i, 0)
Exemplo n.º 6
0
blue = 0

# Reading counter
counter_id = 0

# declare json array information
outputData = {}
outputData['readings'] = []

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

# Initialize ledbar
grovepi.ledBar_init(ledbar, 0)

#set ledbar lights to all off
for i in range(0,11):
    grovepi.ledBar_setLed(ledbar, i, 0)

# set start text for LCD screen
setText("Push the button for a reading")
setRGB(0,128,64)

# Turn on ledbar once sensor exceeds threshold resistance
threshold = 50
day_mode = False

while True:
    try:
Exemplo n.º 7
0
 def __init__(self, id):
     self.__pin = id
     grovepi.ledBar_init(self.__pin, 1)
Exemplo n.º 8
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) 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)
Exemplo n.º 9
0
 def __init__(self, digitalPort, orientation):
     print "Initialising LED bar stack digital port", digitalPort
     self.port = digitalPort
     grovepi.pinMode(self.port, "OUTPUT")
     grovepi.ledBar_init(self.port, orientation)
Exemplo n.º 10
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)
Exemplo n.º 11
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))
Exemplo n.º 12
0
    print "Received: ", signalNumber
    print "Exit Python!"
    ########## YOUR CODE GOES HERE ##########

    # TODO: Turnoff all lights when exit
    # grovepi.ledBar_setLevel(port_ledbar, 0)

    ########## YOUR CODE ENDS HERE ##########
    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
Exemplo n.º 13
0
    print("Received: ", signalNumber)
    print("Exit Python!")
    # Turn of LED bar
    grovepi.ledBar_setLevel(port_ledbar, 0)
    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
port_ranger = 5  # Put Ultra Sonic Ranger to grovepi digital connector D5

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

# Settings
range_max = 30  # Max range
ledbar_nof_levels = 10  # Number of LEDs
lvl = 0  # Starting level
""" Endless loop """
print("Start Event Log ...")
while True:
    dist = grovepi.ultrasonicRead(port_ranger)  # Measure distance

    # Find the appropriate number of LEDs, set to 0 if out of range.
    if dist <= range_max:
        lvl = int(-(ledbar_nof_levels / range_max) * dist + ledbar_nof_levels)