コード例 #1
0
ファイル: clock.py プロジェクト: seancaulfield/tick
def main(logger):
    global terminated
    global blinked

    logger.info("clock.py starting")

    # Setup signal handlers for termination
    signal.signal(signal.SIGTERM, exit_handler)
    signal.signal(signal.SIGINT, exit_handler)
    signal.signal(signal.SIGHUP, wake_handler)
    signal.signal(signal.SIGALRM, wake_handler)
    signal.signal(signal.SIGUSR1, blink_handler)

    # Create SevenSegment display instances
    displays = [SevenSegment(address=a) for n, a in DISP_ADDRS.items()]

    # Create AlphaNum4 (cheating~) display instance
    if HAS_DOW:
        displays.append(AlphaNum4(address=DISP_ADDR_ALNUM))

    blank(displays, begin=True)

    while not terminated:

        # Blink twice
        if blinked:

            # Disable the blinking for next time
            blinked = False

            blink(displays)
            time.sleep(1)
            blank(displays)
            time.sleep(0.5)

            blink(displays)
            time.sleep(1)
            blank(displays)
            time.sleep(0.5)

        # Refresh displays with current time
        now = datetime.datetime.now()
        refresh(now, displays)

        # Set wakeup for update ~one minute from now (next time the display
        # would need updated)
        signal.alarm(60 - datetime.datetime.now().second)
        signal.pause()

    blank(displays)

    logger.info("clock.py stopping")
コード例 #2
0
def main():
    global timing, t1
    disp = SevenSegment(address=0x70)
    disp.begin()
    t1 = time.time()

    GPIO.setmode(GPIO.BOARD)

    GPIO.setup(40, GPIO.IN, pull_up_down=GPIO.PUD_UP)

    GPIO.add_event_detect(40,
                          GPIO.FALLING,
                          callback=my_callback,
                          bouncetime=300)

    disp.clear()

    while 1:

        try:
            pass
            # print(GPIO.input(40))
        except KeyboardInterrupt:
            disp.clear()
            GPIO.cleanup()

        if timing:
            current = time.time() - t1
            if current < 10:
                strc = str(current)
                str1 = strc[0]
                str2 = strc[2]
                str3 = strc[3]
                str4 = strc[4]
                dec = 0
            elif current < 100:
                strc = str(current)
                str1 = strc[0]
                str2 = strc[1]
                str3 = strc[3]
                str4 = strc[4]
                dec = 1
            elif current < 1000:
                strc = str(current)
                str1 = strc[0]
                str2 = strc[1]
                str3 = strc[2]
                str4 = strc[4]
                dec = 2
            else:
                strc = str(current)
                str1 = strc[0]
                str2 = strc[1]
                str3 = strc[2]
                str4 = strc[3]
                dec = -1

            # print(current)
            current = round(current, 0)
            disp.set_digit(0, int(str1))
            disp.set_digit(1, int(str2))
            disp.set_digit(2, int(str3))
            disp.set_digit(3, int(str4))
            disp.set_decimal(dec, True)

        else:
            disp.set_digit(0, int(0))
            disp.set_digit(1, int(0))
            disp.set_digit(2, int(0))
            disp.set_digit(3, int(0))

        disp.write_display()
        time.sleep(0.025)

    GPIO.cleanup()
コード例 #3
0
darksky_lat = config["darksky"]["lat"]
darksky_lng = config["darksky"]["lng"]
# print(darksky_lat, darksky_lng)
owm_secret_key = config["owm"]["secret-key"]
owm_lat = config["owm"]["lat"]
owm_lon = config["owm"]["lon"]

nest_client_id = config['timetemp_nest']['client_id']
nest_client_secret = config['timetemp_nest']['client_secret']
nest_access_token_cache_file = 'nest.json'

# Create sensor instance with default I2C bus
bmp = BMP085.BMP085(mode=BMP085.BMP085_HIGHRES, address=bmp_address)

# Initialize a LED display
segment = SevenSegment(address=led_display_address)
segment.begin()
print(segment)

if LOGGING:
    # Read in Phant config file
    json_keys_file2 = 'phant-config.json'
    p2 = Phant(jsonPath=json_keys_file2)

    print('Logging sensor measurements taken every {2} seconds \
        to "{0}" every {1} seconds.'.format(p2.title, FREQUENCY_SECONDS,
                                            MEASUREMENT_INTERVAL))
    # print(p2)

# Initialize 'currently' and 'outside_temperature'
if DARK_SKY_WEATHER_API:
コード例 #4
0
# How long to wait (in seconds) to display F or C.
ALTERNATE_TEMP_SCALE_SECONDS = 5

# Approximately how often measurements are made (in seconds)
MEASUREMENT_INTERVAL = 2 * ALTERNATE_TEMP_SCALE_SECONDS

# How seldom to upload the sensor data, if LOGGING is on
COUNT_INTERVAL = FREQUENCY_SECONDS / MEASUREMENT_INTERVAL

# Create sensor instance with default I2C bus (On Raspberry Pi either 0 or
# 1 based on the revision, on Beaglebone Black default to 1).
bmp = BMP085.BMP085(mode=BMP085.BMP085_HIGHRES, address=0x77)

# Initialize a LED display
#segment = SevenSegment(address=0x70)
segment = SevenSegment(address=0x71)
print segment

# Read in Phant config
json_keys_file2 = 'data.crookster.org.json'
p2 = Phant(jsonPath=json_keys_file2)

print 'Logging sensor measurements taken every {2} seconds to "{0}" every {1} seconds.'.format(
    p2.title, FREQUENCY_SECONDS, MEASUREMENT_INTERVAL)
print p2
print 'Press Ctrl-C to quit.'

while True:

    error_tables = {}
コード例 #5
0
ファイル: display.py プロジェクト: jpiv/SmartPin
	def __init__(self):
		self._display = SevenSegment()
		self._display.begin()
		self._display.clear()
		self.show(0)
コード例 #6
0
ファイル: display.py プロジェクト: jpiv/SmartPin
class Display(object):
	_display = None
	def __init__(self):
		self._display = SevenSegment()
		self._display.begin()
		self._display.clear()
		self.show(0)

	def show(self, val):
		self._display.clear()
		if type(val) != str:
			self._display.print_float(val)
		else:
			for i, char in enumerate(val):
				self._display.set_digit(i, char)
		self._display.write_display()
コード例 #7
0
ファイル: listen_tools.py プロジェクト: rywalsh14/TurnUp
import audioop
import numpy as np
import time
import json
import spidev
from calibrate import calibrate
from utils import getInputDeviceID, getMicDeviceID, getTimeValues
from Adafruit_LED_Backpack.SevenSegment import SevenSegment

MIC_FORMAT = pyaudio.paInt16
INPUT_FORMAT = pyaudio.paInt24
CHANNELS = 1
RATE = 44100
CHUNK = 512

segment = SevenSegment()

# variable to control when device should listen/stop listening
LISTEN_ACTIVE = False

# initialize threshold/sensitivity/M/B now, will be changed upon receiving user settings
THRESHOLD = 2
SENSITIVITY = 3
M=0
B=0

sensitivityMap = {
    1: 4096,
    2: 2048,
    3: 1024,
    4: 512,
コード例 #8
0
ファイル: seven_seg_test.py プロジェクト: jpiv/SmartPin
from Adafruit_LED_Backpack.SevenSegment import SevenSegment

display = SevenSegment()
display.begin()

display.clear()
display.print_float(20.00)
display.write_display()