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")
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()
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:
# 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 = {}
def __init__(self): self._display = SevenSegment() self._display.begin() self._display.clear() self.show(0)
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()
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,
from Adafruit_LED_Backpack.SevenSegment import SevenSegment display = SevenSegment() display.begin() display.clear() display.print_float(20.00) display.write_display()