Exemple #1
1
 def __init__(self, rail, config=None):
     lcd.clear()
     bl.off()
     Displayotron.rail = rail
     self.config = config
     if config['use_rbg']:
         bl.use_rbg()
Exemple #2
0
def _idle():
    while 1:
        if message_lock.locked() == False:
            lcd.clear()
            if terminal_enabled != True:
                backlight.value = (1, 0.125, 0.125)
                lcd.write(terminal_locked_message)
                lcd.set_cursor_position(0,2)
                lcd.write(unlock)
            else:
                backlight.on()
                lcd.write(terminal_message)
                lcd.set_cursor_position(0,2)
                lcd.write(chr(7))
                if terminal_amount > 0:
                    lcd.write(refill)
                else:
                    lcd.write(amount)
                terminal_amount_string = locale.format('%.2f', abs(terminal_amount), True, True)
                lcd.set_cursor_position(lcd.COLS-len(terminal_amount_string)-1,2)
                lcd.write(terminal_amount_string)
                lcd.write(chr(7))
            lcd.update_animations()
            time.sleep(1)
        else:
            time.sleep(0.25)
Exemple #3
0
    def on_print_progress(self, storage, path, progress):
        lcd.clear()
        start = path.rfind('/')
        end = path.rfind('.')
        # Just want the file name, no path or extension.
        # The rfind gets us the deepest directory so we can truncate that off the string
        # It also gets us the index of the file extension
        # The code below will substring any directories off the path, and remove the extention
        if (start == -1):
            start = 0
        if (end == -1):
            end = path.len() - 1
        lcd.write(path[start:end])
        backlight.set_graph(progress / 100.0)
        backlight.rgb(0, 0, 255)
        backlight.update()
        lcd.set_cursor_position(0, 1)
        lcd.write('Completed: ' + str(progress) + '%')

        if progress == 1:
            self.start_date = time.time()

        if progress > 10 and progress < 100:
            now = time.time()
            elapsed = now - self.start_date
            average = elapsed / (progress - 1)
            remaining = int((100 - progress) * average)
            remaining = str(datetime.timedelta(seconds=remaining))
            lcd.set_cursor_position(0, 2)
            lcd.write('ETC: ')
            lcd.write(remaining)

        if progress == 100:
            self.JobIsDone(lcd)
Exemple #4
0
def signal_handler(signal, frame):
    global is_active
    is_active = False
    backlight.set_graph(0)
    lcd.clear()
    backlight.off()
    exit(0)
def showWelcomeMessage():
    lcd.clear()
    lcd.set_cursor_position(0,0)
    lcd.write("Welcome!")
    lcd.set_cursor_position(0,1)
    lcd.write("FruityWiFi " +  __FRUITYWIFI__)
    time.sleep(2)
def temperatures():
#--------------------------------
    #TEMPERATURE AMBIANTE
    lcd.clear()                             #Nettoyage de la Zone Affichable
    lcd.set_cursor_position(0,0)            #Positionnement du Curseur à la colonne 0 et ligne 0
    lcd.write("Temp Ambiante:")             #Affichage du String entre guillemet

    
    lcd.set_cursor_position(0,1)            #Positionnement du Curseur à la colonne 0 et ligne 1
    lcd.write(str(climat_now))              #Affichage de la valeur convertis de FLOAT à STRING via une valeur retourné qui a stocker dans une variable
#--------------------------------
    time.sleep(5)
#--------------------------------
    #TEMPERATURE MIN & MAX

    lcd.clear()                         #Nettoyage de la Zone Affichable
    lcd.set_cursor_position(0,0)        #Positionnement du Curseur à la colonne 0 et ligne 0
    lcd.write("Temp MIN/MAX:")          #Affichage du String entre guillemet

    
    lcd.set_cursor_position(0,1)    #Positionnement du Curseur à la colonne 0 et ligne 1
    lcd.write(str(climat_min))      #Affichage de la valeur convertis de FLOAT à STRING via une valeur retourné qui a stocker dans une variable

    lcd.set_cursor_position(0,2)    #Positionnement du Curseur à la colonne 0 et ligne 1
    lcd.write(str(climat_max))      #Affichage de la valeur convertis de FLOAT à STRING via une valeur retourné qui a stocker dans une variable
	def redraw(self, menu):
		lcd.clear()
		lcd.set_cursor_position(3,1)
		lcd.write("Bye (^_^)/")
		for x in reversed(range(127)):
			backlight.rgb(0, x * 2, 0)
		lcd.clear()
		sys.exit(0)
def Vitesse_du_vent():
    #Vitesse du Vent
    #--------------------------------
    lcd.clear()                                 #Nettoyage de la Zone Affichable
    lcd.set_cursor_position(0,0)                #Positionnement du Curseur à la colonne 0 et ligne 0
    lcd.write("Vitesse Vent m/s")               #Affichage du String entre guillemet

    lcd.set_cursor_position(0,1)                #Positionnement du Curseur à la colonne 0 et ligne 1
    lcd.write(str(vitesse_du_vent))             #Affichage de la valeur convertis de FLOAT à STRING via une valeur retourné qui a stocker dans une variable    
Exemple #9
0
 def redraw(self, menu):
     lcd.clear()
     menu.write_option(
         row=0,
         text=
         "About FruityWifi | Site: http://www.fruitywifi.com | Twitter: @fruitywifi @xtr4nge",
         scroll=True)
     menu.write_option(row=1, text=self.fruityWifiVersion, scroll=True)
     menu.write_option(row=2, text=self.fruityFirmware, scroll=True)
 def redraw(self, menu):
     print "Bye ;)"
     lcd.clear()
     lcd.set_cursor_position(4, 1)
     lcd.write("Bye Bye!")
     time.sleep(2)
     lcd.clear()
     backlight.rgb(0, 0, 0)
     sys.exit()
def Taux_de_Nuage():
    #Taux de Nuages présent dans le ciel
    #--------------------------------
    lcd.clear()                                 #Nettoyage de la Zone Affichable
    lcd.set_cursor_position(0,0)                #Positionnement du Curseur à la colonne 0 et ligne 0
    lcd.write("Taux Nuage")                     #Affichage du String entre guillemet

    lcd.set_cursor_position(0,1)                #Positionnement du Curseur à la colonne 0 et ligne 1
    lcd.write(str(couverture_de_nuage))         #Affichage de la valeur convertis de FLOAT à STRING via une valeur retourné qui a stocker dans une variable  
    def redraw(self, menu):
        print "Bye ;)"
	lcd.clear()
	lcd.set_cursor_position(4,1)
	lcd.write("Bye Bye!")
	time.sleep(2)
	lcd.clear()
	backlight.rgb(0,0,0)
	sys.exit()
def Taux_Humidite():
    #Taux d'Humidité présent dans l'Environnement actuel
    #--------------------------------
    lcd.clear()                                 #Nettoyage de la Zone Affichable
    lcd.set_cursor_position(0,0)                #Positionnement du Curseur à la colonne 0 et ligne 0
    lcd.write("Taux d'Humidite")                #Affichage du String entre guillemet

    lcd.set_cursor_position(0,1)                #Positionnement du Curseur à la colonne 0 et ligne 1
    lcd.write(str(pourcentage_humidite))        #Affichage de la valeur convertis de FLOAT à STRING via une valeur retourné qui a stocker dans une variable  
Exemple #14
0
def handle_down(pin):
    global loopcount
    loopcount = 0
    lcd.clear()
    backlight.rgb(255, 0, 0)
    lcd.write("Shutting Down!")
    time.sleep(1)
    os.system('systemctl poweroff')
    sys.exit()
    time.sleep(2)
Exemple #15
0
    def __init__(self):

        # Clear the screen and set the contrast
        lcd.clear()
        lcd.set_contrast(20)  # Tested a bunch of contrasts 20 seems the best

        GPIO.setmode(GPIO.BCM)
        GPIO.setup(5, GPIO.OUT)
        GPIO.setup(6, GPIO.OUT)
        GPIO.setup(13, GPIO.OUT)
Exemple #16
0
def show_follower_count(pin):
    try:
        followers = twitter.follower_count()
        msg = "You have %-6i followers" % followers
    except:
        msg = "Twitter API     limit reached"

    backlight.sweep(random())
    lcd.clear()
    lcd.write(msg)
Exemple #17
0
 def JobIsDone(self, localLcd):
     lcd.clear()
     backlight.rgb(255, 255, 255)
     localLcd.write('Job is Done!')
     for i in range(0, 100):
         backlight.set_graph((100 - i) / 100.0)
         time.sleep(0.05)
     backlight.update()
     lcd.clear()
     lcd.write('Ready for the   next job')
Exemple #18
0
 def redraw(self, menu):
     lcd.clear()
     menu.write_option(row=0, text="About this App")
     menu.write_option(
         row=1,
         text=
         "Site: https://github.com/Floppynator/FruityDisplay_DisplayOTron3000",
         scroll=True)
     lcd.set_cursor_position(0, 2)
     lcd.write("Twitter: @HA1pe")
def Volumes():
    #Volume de Neige (en m² ?)
    #--------------------------------
    lcd.clear()                                     #Nettoyage de la Zone Affichable
    lcd.set_cursor_position(0,0)                    #Positionnement du Curseur à la colonne 0 et ligne 0
    lcd.write("Volumes Neige/Pluie")                #Affichage du String entre guillemet

    lcd.set_cursor_position(0,1)            #Positionnement du Curseur à la colonne 0 et ligne 1
    lcd.write(volume_de_neige)              #Affichage de la valeur convertis de FLOAT à STRING via une valeur retourné qui a stocker dans une variable

    lcd.set_cursor_position(0,2)         #Positionnement du Curseur à la colonne 0 et ligne 1
    lcd.write(str(volume_de_pluie))      #Affichage de la valeur convertis de FLOAT à STRING via une valeur retourné qui a stocker dans une variable    
def condition_climatique():
    #Status de la Météo Actuel
    #--------------------------------
    lcd.clear()                                 #Nettoyage de la Zone Affichable
    lcd.set_cursor_position(0,0)                #Positionnement du Curseur à la colonne 0 et ligne 0
    lcd.write("Condition Meteo")                #Affichage du String entre guillemet

    lcd.set_cursor_position(0,1)            #Positionnement du Curseur à la colonne 0 et ligne 1
    lcd.write("Actuel:")                    #Affichage de la valeur convertis de FLOAT à STRING via une valeur retourné qui a stocker dans une variable

    lcd.set_cursor_position(0,2)            #Positionnement du Curseur à la colonne 0 et ligne 1
    lcd.write(status_climat)                #Affichage de la valeur convertis de FLOAT à STRING via une valeur retourné qui a stocker dans une variable    
Exemple #21
0
    def printIt(self, message1="", message2="", message3=""):
        lcd.clear()
        message1 = self.validateMessage(message1)
        message2 = self.validateMessage(message2)
        message3 = self.validateMessage(message3)
        print "+".ljust(columns+1,"-")+"+"
        print "|"+message1+"|"
        print "|"+message2+"|"
        print "|"+message3+"|"
        print "+".ljust(columns+1,"-")+"+"
	lcd.write(message1)
	lcd.write(message2)
	lcd.write(message3)
def temps_systeme():
    system_time = temps_actuel()

    #Affichage DOT3K
    lcd.clear()  #Nettoyage de la Zone Affichable

    lcd.set_cursor_position(
        0, 0)  #Positionnement du Curseur à la colonne 0 et ligne 0
    lcd.write("Temps/Time:")  #Affichage du String entre guillemet

    lcd.set_cursor_position(
        0, 1)  #Positionnement du Curseur à la colonne 0 et ligne 1
    lcd.write(system_time)
def affichage_numero():
    #--------------------------------
    #NUMEROS D'URGENCES INTERNATIONAUX
    lcd.clear()  #Nettoyage de la Zone Affichable
    lcd.set_cursor_position(
        0, 0)  #Positionnement du Curseur à la colonne 0 et ligne 0
    lcd.write("Numero Urgence:")  #Affichage du String entre guillemet

    lcd.set_cursor_position(
        0, 1)  #Positionnement du Curseur à la colonne 0 et ligne 1
    print(tel_urgence)
    lcd.write(
        str(tel_urgence)
    )  #Affichage de la valeur convertis de FLOAT à STRING via une valeur retourné qui a stocker dans une variable
Exemple #24
0
def _message(code, credit_balance=None):
    message_lock.acquire()
    _message_output(code)
    lcd.clear()
    lcd.write(message_code[code])
    if credit_balance is not None:
        lcd.set_cursor_position(0,2)
        lcd.write(" ")
        lcd.write(balance)
        credit_balance_string = locale.format('%.2f', credit_balance, monetary=True)
        lcd.set_cursor_position(lcd.COLS-len(credit_balance_string)-1,2)
        lcd.write(credit_balance_string)
        lcd.write(" ")
    time.sleep(2.5)
    message_lock.release()
Exemple #25
0
    def redraw(self):
        volume = subprocess.check_output("mpc status | grep volume", shell=True, stderr=subprocess.STDOUT)
        volume = volume[7:volume.find("%")]

        lcd.clear()
        lcd.set_cursor_position(0, 0)
        lcd.write(self.channelName[self.selectedStation])

        lcd.set_cursor_position(0, 1)
        lcd.write(time.strftime("%d.%m. %H:%M:%S"))

        lcd.set_cursor_position(0, 2)
        lcd.write('Volume:' + volume + ' %')

        cpu = psutil.cpu_percent()
        backlight.set_graph(float(cpu) / 100.0)
	def handle_press (pin):
		global camera_running

		lcd.clear()
		lcd.write("Stopping camera...")
		backlight.rgb(0, 0, 0)
		sleep(0.5)
		print "Stopping camera..."
		camera_running = False

		camera.terminate()
		camera.join()

		lcd.clear()
		lcd.write("Camera stopped...")
		sleep(0.5)
		print "Camera stopped..."
def loadingScreen():
    lcd.clear()
    
    # set brigthness 
    backlight.set_bar(0, 20)
    
    # write loading message to lcd
    lcd.set_cursor_position(3,1)
    lcd.write("Loading...")
    
    # fire up bargraph leds! Wohoo
    for i in range(100):
        backlight.set_graph(i / 70.0)
        time.sleep(0.005)
        
    # disable leds =(
    backlight.set_graph(0)
Exemple #28
0
def queries_thread():
    """Print pihole stats to the lcd"""

    lcd.clear()
    t = threading.currentThread()
    while getattr(t, "running", True):
        pihole = ph.PiHole("192.168.1.32")

        lcd.set_cursor_position(0, 0)
        lcd.write('{} queries'.format(pihole.queries))

        lcd.set_cursor_position(0, 1)
        lcd.write('{}% blocked'.format(pihole.ads_percentage))

        lcd.set_cursor_position(0, 2)
        lcd.write('{} total'.format(pihole.blocked))

        time.sleep(5)
def display():
    forecast = darksky.Forecast(api_key, latitude, longitude, units=units)
    current = forecast.currently
    temp = current.temperature
    temp = str(temp)
    humidity = current.humidity * 100
    humidity = str(humidity)
    rain = current.precipProbability * 100
    rain = str(rain)
    uvIndex = current.uvIndex
    uv = str(uvIndex)
    if uvIndex <= 2.9:
        backlight.rgb(90, 148, 35)  # Green (low)
    elif (uvIndex >= 3) and (uvIndex <= 5.9):
        backlight.rgb(241, 227, 54)  # Yellow (moderate)
    elif (uvIndex >= 6) and (uvIndex <= 7.9):
        backlight.rgb(217, 90, 18)  # Orange (high)
    elif (uvIndex >= 8) and (uvIndex <= 10.9):
        backlight.rgb(185, 2, 34)  # Red (very high)
    else:
        backlight.rgb(99, 74, 195)  # Violet (extreme)
    try:
        lcd.clear()
        lcd.set_cursor_position(0, 0)
        print("Temperture: " + temp + " C")
        lcd.write("Temp: " + temp + "\xf2C")
        lcd.set_cursor_position(0, 1)
        print("Humidity: " + humidity + "%")
        lcd.write("Humidity: " + humidity + "%")
        lcd.set_cursor_position(0, 2)
        print("Rain: " + rain + "%")
        lcd.write("Rain: " + rain + "%")
        print("UV Index: " + uv + "")
    except:
        lcd.write("Connection Error")

    # Press the button on the joystick to exit
    @nav.on(nav.BUTTON)
    def handle_button(pin):
        lcd.clear()
        backlight.rgb(0, 0, 0)
        backlight.set_graph(0)
        os._exit(1)
Exemple #30
0
def affichage_de_la_boussole_dot3k_2():
    #--------------------------------
    #BOUSSOLE 2/2
    lcd.clear()  #Nettoyage de la Zone Affichable
    lcd.set_cursor_position(
        0, 0)  #Positionnement du Curseur à la colonne 0 et ligne 0
    lcd.write("BOUSSOLE 2/2")  #Affichage du String entre guillemet

    lcd.set_cursor_position(
        0, 1)  #Positionnement du Curseur à la colonne 0 et ligne 1
    lcd.write(
        str(round_retourne_longitude)
    )  #Affichage de la valeur convertis de FLOAT à STRING via une valeur retourné qui a stocker dans une variable

    lcd.set_cursor_position(
        0, 2)  #Positionnement du Curseur à la colonne 0 et ligne 2
    lcd.write(
        dir_Longitude_Hemisphere
    )  #Affichage de la valeur convertis de FLOAT à STRING via une valeur retourné qui a stocker dans une variable
Exemple #31
0
def neige_3h():
    #Prochainement de la Neige ?

    #--------------------------------
    lcd.clear()  #Nettoyage de la Zone Affichable
    lcd.set_cursor_position(
        0, 0)  #Positionnement du Curseur à la colonne 0 et ligne 0
    lcd.write("Neige dans 3H?")  #Affichage du String entre guillemet

    if will_snow == True:  #Si il y a de la pluie alors...
        lcd.set_cursor_position(0, 1)
        lcd.write("Neige prevue")  #On affirme cela par un message

    elif will_snow == False:  #Sinon...
        lcd.set_cursor_position(
            0, 1)  #Positionnement du Curseur à la colonne 0 et ligne 1
        lcd.write(
            "Aucune Neige prevue"
        )  #Affichage de la valeur convertis de FLOAT à STRING via une valeur retourné qui a stocker dans une variable
Exemple #32
0
def switchMode(new_mode):
  global mode, backlight_timer, deploy_index
  lcd.clear()

  # Reset deploy_index if mode changes
  if new_mode != mode:
    deploy_index = -1

  mode = new_mode
  
  # Turn off backlight & screen after 10 seconds
  # If user presses joystick while still in same mode it resets the timeout (keep screen on)
  screen_on = True
  if backlight_timer != None:
    backlight_timer.cancel()
  backlight_timer = Timer(15, screenOff)
  backlight_timer.start() 

  # Up mode = showKubeCounts
  if mode == joystick.UP:
    backlight.hue(0.4)
    # Static information for this mode
    lcd.write(f"Nodes:      /   ")
    lcd.write(f"Pods:       /   ")
    lcd.write(f"Deploy:     /   ")
    showKubeCounts()

  # Left mode = showNodeMetrics
  if mode == joystick.LEFT:
    backlight.hue(0.1)
    printNodes()
    showNodeMetrics()

  # Down mode = showKubeDeploys
  if mode == joystick.DOWN:
    # Special case; allows scrolling through deployments by pushing down repeatedly
    deploy_index = deploy_index + 1
    if deploy_index >= deploy_max:
      deploy_index = 0  
  
    backlight.hue(0.7)
    showKubeDeploys()   
Exemple #33
0
def display_tweet(lcd, tweet, scroll_speed):
    """Displays a tweet as a scrolling marquee with its author's name
       written underneath."""

    # Remove '\n' characters because dot3k displays them wierdly!
    s = tweet.text.replace("\n", " ")

    # Append 16 spaces to the tweet for scrolling. This stops the
    # author's handle from spilling into the tweet.
    s += " " * 16
    lcd.clear()

    for i in range(0, len(s) - 16):
        lcd.write(s[i:i + 16])  # 16 = Width of Dot3k display in chars.

        # Add the author's handle below the tweet
        lcd.write("@" + tweet.author.screen_name)

        time.sleep(scroll_speed)
        lcd.clear()
def determination_dot3k():

    recup_affichage(
    )  #Demarrage du fichier python Recuperation_Determination.py
    global ville  #Déclaration de la variable GLOBAL 'ville'
    ville = determine_less(
    )  #L'information dtermine par un autre fichier python est stocker dans la variable pour être utiliser apès

    #Using the 'lcd.write' way
    lcd.clear()  #Nettoyage de la Zone Affichable

    lcd.set_cursor_position(
        0, 0)  #Positionnement du Curseur à la colonne 0 et ligne 0
    lcd.write("Nous sommes ici:")  #Affichage du String entre guillemet

    lcd.set_cursor_position(
        0, 1)  #Positionnement du Curseur à la colonne 0 et ligne 1
    lcd.write(
        ville
    )  #Affichage de la valeur convertis de FLOAT à STRING via une valeur retourné qui a stocker dans une variable
    def right(self):
	# fire cmd
	self.last_update = 1

        cmd = self.config.get('commands', self.cmds[self.selected_cmd])
        time.sleep(1)
	cmd = cmd.split(",")

	lcd.clear()
	lcd.set_cursor_position(0,0)
	lcd.write("Execute CMD")	
	lcd.set_cursor_position(0,1)
	lcd.write(cmd[0])
	time.sleep(1)
        
	# EXECUTE THIS COMMAND
        out = str(self.execCommand(cmd[1]))
        print(out)

	lcd.clear()
	lcd.set_cursor_position(6,1)
	lcd.write("Done.")
	time.sleep(1)
	lcd.clear()
	self.last_update = 0

	return True
    def right(self):
        # fire cmd
        self.last_update = 1

        cmd = self.config.get('commands', self.cmds[self.selected_cmd])
        time.sleep(1)
        cmd = cmd.split(",")

        lcd.clear()
        lcd.set_cursor_position(0, 0)
        lcd.write("Execute CMD")
        lcd.set_cursor_position(0, 1)
        lcd.write(cmd[0])
        time.sleep(1)

        # EXECUTE THIS COMMAND
        out = str(self.execCommand(cmd[1]))
        print(out)

        lcd.clear()
        lcd.set_cursor_position(6, 1)
        lcd.write("Done.")
        time.sleep(1)
        lcd.clear()
        self.last_update = 0

        return True
Exemple #37
0
def init_animation():
	hourglass = [
		[0x1F,0x11,0x11,0x11,0x11,0x11,0x11,0x1F],[0x1F,0x1F,0x11,0x11,0x11,0x11,0x11,0x1F],
		[0x1F,0x1F,0x1F,0x11,0x11,0x11,0x11,0x1F],[0x1F,0x1F,0x1F,0x1F,0x11,0x11,0x11,0x1F],
		[0x1F,0x11,0x1F,0x1F,0x1F,0x11,0x11,0x1F],[0x1F,0x11,0x11,0x1F,0x1F,0x1F,0x11,0x1F],
		[0x1F,0x11,0x11,0x11,0x1F,0x1F,0x1F,0x1F],[0x1F,0x11,0x11,0x11,0x11,0x1F,0x1F,0x1F],
		[0x1F,0x11,0x11,0x11,0x11,0x11,0x1F,0x1F],[0x1F,0x11,0x11,0x11,0x11,0x11,0x11,0x1F]
	]
	greetingtext = [
	#	"- - - - - - - - ",
		"     Welcome    ",
		"       To       ",
		"    Yuki-Chan   "
	]
	
	dotc = 0
	texti = 0
	for x in range(127):
		backlight.rgb(x / 2, x * 2, x / 2)
		"""
		lcd.create_char(0, getAnimFrame(hourglass, 5))
		lcd.clear()
		lcd.set_cursor_position(15,2)
		lcd.write(chr(0))
		"""
		lcd.set_cursor_position(0,1)
		lcd.write(greetingtext[texti])
		
		if dotc > 30:
			texti = (texti + 1) % len(greetingtext)
			dotc = 0
		else:
			dotc += 1
		
		lcd.set_cursor_position(6,2)
		for i in range(dotc / 10):
			lcd.write(".")

	lcd.clear()
Exemple #38
0
def system_thread():
    """Print system load, memory usage, and temperature to the lcd"""

    lcd.clear()
    t = threading.currentThread()
    while getattr(t, "running", True):
        pihole = ph.PiHole("192.168.1.32")

        one_minute, five_minute, fifteen_minute = [
            x / psutil.cpu_count() * 100 for x in psutil.getloadavg()
        ]
        memory = psutil.virtual_memory()
        temp = psutil.sensors_temperatures(fahrenheit=True)['cpu-thermal'][0]

        lcd.set_cursor_position(0, 0)
        lcd.write('Load {}'.format(one_minute))

        lcd.set_cursor_position(0, 1)
        lcd.write('Memory {}'.format(memory.percent))

        lcd.set_cursor_position(0, 2)
        lcd.write('{} F'.format(temp.current))

        time.sleep(5)
Exemple #39
0
 def display_message(message):
     lcd.clear()
     lcd.write(message)
Exemple #40
0
def handle_button(pin):
  print("Button pressed!")
  l.clear()
  b.rgb(255,255,255)
  l.write("Ouch!")
Exemple #41
0
def handle_right(pin):
  print("Right pressed!")
  l.clear()
  b.rgb(0,255,255)
  l.write("Rightie tighty!")
Exemple #42
0
def doorbell():
    GPIO.remove_event_detect(gpio_bell) # Ignore multiple clicks
    if debug: print("Start of Doorbell function\n") 
    
    # If pushover is enabled, run as thread and continue
    if push_enabled: 
        t_push = threading.Thread(target=pushover, args=())
        t_push.start()

    # If taking pictures is enabled, run as thread and continue
    if pictures_enabled: 
        t_snap = threading.Thread(target=snapper, args=())
        t_snap.start()
    
    # Log the event in the databse
    if debug: print "Doorbell rang at "+ts() 
    log("Someone was at your door.")
    
    if debug: print "Event logged" 
    
    # ####### #
    # Phase 1 # Ringing.
    # ####### #
    
    # Clear LCD and adjust information
    lcd.clear()
    backlight.rgb(0,0,255)
    lcd.set_cursor_position(0,0)
    lcd.write(txt_security)
    lcd.set_cursor_position(0,1)
    lcd.write(txt_ring)
    lcd.set_cursor_position(0,2)
    lcd.write(txt_ring2)
    if debug: print("Text changed, entering wait_loop*2") 
    wait_loop(200)
    if debug: print("Wait loop done") 
    if debug: print("<< Next Phase >>\n") 
    backlight.set_graph(0)
    
    # ####### #
    # Phase 2 # Trying to contact them.
    # ####### #

    # Clear LCD and adjust information
    lcd.clear()
    backlight.rgb(255,153,0)
    lcd.set_cursor_position(0,0)
    lcd.write(txt_wait1)
    lcd.set_cursor_position(0,1)
    lcd.write(txt_wait2)
    lcd.set_cursor_position(0,2)
    lcd.write(txt_wait3)
    if debug: print("Text changed, entering wait_loop*2") 
    wait_loop(100)
    if debug: print("Wait loop done") 
    if debug: print("<< Next Phase >>\n") 
    backlight.set_graph(0)
    
    # ####### #
    # Phase 3 # No one is there.
    # ####### #

    # Clear LCD and adjust information
    lcd.clear()
    backlight.rgb(255,0,0)
    lcd.set_cursor_position(0,0)
    lcd.write(txt_away1)
    lcd.set_cursor_position(0,1)
    lcd.write(txt_away2)
    lcd.set_cursor_position(0,2)
    lcd.write(txt_away3)
    if debug: print("Text changed, entering wait_loop") 
    wait_loop(80)
    if debug: print("<< Next Phase >>\n") 
    backlight.set_graph(0)
    
    # ####### #
    # Phase 4 # Delivery to the neighbors.
    # ####### #

    # Clear LCD and adjust information
    lcd.clear()
    backlight.rgb(0,255,0)
    lcd.set_cursor_position(0,0)
    lcd.write(txt_package1)
    lcd.set_cursor_position(0,1)
    lcd.write(txt_package2)
    lcd.set_cursor_position(0,2)
    lcd.write(txt_package3)
    if debug: print("Text changed, entering sleep") 
    wait_loop(150)
    if debug: print("Wait loop done") 
    if debug: print("<< End of last Phase >>\n") 
    backlight.set_graph(0)
    lcd.clear()
    
    if debug: print("End of Doorbell function\n") 
    GPIO.add_event_detect(gpio_bell,GPIO.FALLING)
Exemple #43
0
def handle_left(pin):
  print("Left pressed!")
  l.clear()
  b.rgb(0,0,255)
  l.write("Leftie left left!")
Exemple #44
0
def handle_down(pin):
  print("Down pressed!")
  l.clear()
  b.rgb(0,255,0)
  l.write("Down down doobie down!")
Exemple #45
0
def handle_up(pin):
  print("Up pressed!")
  l.clear()
  b.rgb(255,0,0)
  l.write("Up up and away!")
def signal_handler(signal, frame):
        lcd.clear()
        backlight.off()
        sys.exit(0)
 def redraw(self, menu):
     lcd.clear()
     menu.write_option(row=0, text="About FruityWifi | Site: http://www.fruitywifi.com | Twitter: @fruitywifi @xtr4nge", scroll=True)
     menu.write_option(row=1, text=self.fruityWifiVersion, scroll=True)
     menu.write_option(row=2, text=self.fruityFirmware, scroll=True)
Exemple #48
0
 def __init__(self):
     lcd.clear()
     self.content = ""
rev_count_pin = 26 #BOARD 37
GPIO_TRIGGER = 5 #BOARD 29
GPIO_ECHO = 6 #BOARD 31

# Set pins as output and input for Ultrasonic Sensor & Reed Switch
GPIO.setmode(GPIO.BCM)
GPIO.setup(rev_count_power_pin, GPIO.OUT)#Reed Switch Power
GPIO.setup(rev_count_pin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)#Reed Switch On/Off check
GPIO.setup(GPIO_TRIGGER,GPIO.OUT)#US sensor
GPIO.setup(GPIO_ECHO,GPIO.IN, pull_up_down=GPIO.PUD_DOWN)#US sensor

GPIO.output(rev_count_power_pin, GPIO.HIGH)#Turn on Power for reed switch
GPIO.output(GPIO_TRIGGER, False)
#============================================start HC-SR04==========================================================================#
time.sleep(0.5)
l.clear()
# Send 10us pulse to trigger
GPIO.output(GPIO_TRIGGER, True)
time.sleep(0.00001)
GPIO.output(GPIO_TRIGGER, False)
start = time.time()
#==========================================define MPLAYER functions=================================================================#
def load_one_song(songs_music_dir="//home//pi//music//"):
	mp = mpylayer.MPlayerControl()
	music_dir = songs_music_dir
	music_list = os.listdir(music_dir)
	mp.loadfile(music_dir[random.randint(0, (len(music_dir)-1)])
def load_mp():
    mp = mpylayer.MPlayerControl()
    music_dir = "//home//pi//music//"
    musix = os.listdir(music_dir)
Exemple #50
0
 def clearScreen(self):
     lcd.clear()
Exemple #51
0
def clean_shutdown():
    backlight.set_graph(0)
    backlight.rgb(0, 0, 0)
    lcd.clear()
    def redraw(self, menu):
        lcd.clear()
	menu.write_option(row=0, text="About this App")
        menu.write_option(row=1, text="Site: https://github.com/Floppynator/FruityDisplay_DisplayOTron3000", scroll=True)
	lcd.set_cursor_position(0,2)	
	lcd.write("Twitter: @HA1pe")
Exemple #53
0
 def off(self):
     os.system('mpc stop')
     backlight.set_graph(0)
     backlight.rgb(0, 0, 0)
     lcd.clear()
Exemple #54
0
#!/usr/bin/env python

import dot3k.lcd as lcd
import dot3k.backlight as backlight
import time

# Clear the LCD and display Hello World
lcd.clear()
lcd.write("Hello World")

# Turn off the backlight
backlight.rgb(0,0,0)

"""
set_graph accepts a float between 0.0 and 1.0
and lights up the LEDs accordingly
"""
for i in range(100):
    backlight.set_graph(i/100.0)
    time.sleep(0.05)

"""
set_bar will set a specific bargraph LED to
a brightness between 0 and 255
"""
for i in range(256):
    backlight.set_bar(0,[255-i]*9)
    time.sleep(0.01)

backlight.set_graph(0)
Exemple #55
0
def shutdown_animation():
	lcd.set_cursor_position(3,1)
	lcd.write("Bye (^_^)/")
	for x in reversed(range(127)):
		backlight.rgb(x, x * 2, x)
	lcd.clear()