def set_light(position, status): if BLINKT: blinkt.set_pixel(position % blinkt.NUM_PIXELS, BlinktHelper.colors[status]["r"], BlinktHelper.colors[status]["g"], BlinktHelper.colors[status]["b"], brightness=BlinktHelper.colors[status]["brightness"]) blinkt.show()
def blink(): for i in range(5): set_pixel(7, 255, 0, 0) show() sleep(1) set_pixel(7, 0, 0, 0) show() sleep(1)
def flash_op(x, rgb): start = time.time() while time.time() < start + REFRESH_TIME: blinkt.set_pixel(x, *rgb, brightness=0.04) blinkt.show() time.sleep(1.5) blinkt.set_pixel(x, *rgb, brightness=0.0) blinkt.show() time.sleep(1.5)
def fade_count(n, r, g, b, fast=None): if fast is None: delay=0.0625 else: delay=0.015625 for j in range (n): for i in range(8): set_pixel(i, r, g, b, 0) FadeInOut(delay)
def blinking_count(n,r,g,b): for j in range (n): for i in range(8): set_pixel(i, r, g, b) show() sleep(0.5) for i in range(8): set_pixel(i, 0, 0, 0) show() sleep(0.5)
def blink_blinkt(): for i in range(3): for j in range(8): set_pixel(j, 255, 0, 0) show() time.sleep(0.1) for j in range(8): set_pixel(j, 0, 0, 0) show() time.sleep(0.2)
def show_graph(v, r, g, b): v *= 8 for x in range(8): if v < 0: r, g, b = 0, 0, 0 else: r, g, b = [int(min(v,1.0) * c) for c in [r,g,b]] set_pixel(x, r, g, b) v -= 1 show()
def show_graph(v, r, g, b): v *= blinkt.NUM_PIXELS for x in range(blinkt.NUM_PIXELS): if v < 0: r, g, b = 0, 0, 0 else: r, g, b = [int(min(v, 1.0) * c) for c in [r, g, b]] blinkt.set_pixel(x, r, g, b) v -= 1 blinkt.show()
def light_up(): '''random colors light up in a smooth linear fashion then stay lit for one second''' for pixel in range(8): r = randint(0, 255) g = randint(0, 255) b = randint(0, 255) set_pixel(pixel, r, g, b) show() sleep(0.1) sleep(1)
def set(self, s, p): # Accepts settings and pixel objects determines selected pixels and passes displayed settings self.values = [ s.red.get(), s.green.get(), s.blue.get(), s.bright.get() ] for n, pixel in p.pixelValues.items(): if pixel.get(): blinkt.set_pixel(int(n), self.values[0], self.values[1], self.values[2], self.values[3])
def jumpy(): for i in xrange(2): # switch off all pixels clear() # use randint() to pick a random number from 0,1,2,3,4,5,6,7 pos = randint(0, 7) # set chosen position with green light set_pixel(pos, 0, 255, 0) # show light xshow() # wait a bit (0.3s) time.sleep(0.5)
def blinkt_pulse(col): #### Turning on each LED by LED in a for loop for i in range(8): clear() set_pixel(i, colors(col)[0], colors(col)[1], colors(col)[2]) show() sleep(0.1) #### Turn off LED #7 (the 8th) clear() set_pixel(7, 0, 0, 0) show()
def turn_custom(): data = request.get_json() # return jsonify(data) for x in data: print(jsonify(x), file=sys.stderr) set_pixel(x['led'], x['red'], x['green'], x['blue']) show() data = {"status": 200, "message": "Custom pattern applied"} return jsonify(data)
def range_rgb(self, **kwargs): ''' Set a range of LEDs to a color ''' start_pixel = kwargs.get('start_pixel') end_pixel = kwargs.get('end_pixel') red = kwargs.get('red') green = kwargs.get('green') blue = kwargs.get('blue') for pixel in range(start_pixel, end_pixel + 1): blinkt.set_pixel(pixel, red, green, blue) blinkt.show()
def snake(r, g, b): "This creates a snake effect on the blinkt using the specified colour" clear() for count in range(1, 20): print(count) for i in range(8): clear() set_pixel(i, r, g, b) show() time.sleep(0.05) clear() return
def set_led(led, on): #set_brightness(br) try: led = int(led) if led < 0 or led > 7: raise ValueError except ValueError: print("Not an int [0-7]:", led) return green = 255 if on else 0 set_pixel(led, 0, green, 0) show()
def print_blinkt(self, ltt): letter = ltt.lower() if letter in self.b0: print("a,b,c") rn = (self.b0.index(letter) + 1) for i in range(rn): blinkt.set_pixel(0, 255, 0, 0) blinkt.show() time.sleep(0.5) blinkt.clear() blinkt.show() time.sleep(0.5)
def hello_world(): str1 = "This is container : " str2 = socket.gethostname() str3 = str2.split('_')[1] str4 = int(str3) set_brightness(0.1) clear() set_pixel(str4, 255, 255, 255) show() time.sleep(1) return str1 + str3 + "\n"
def update_pixel(data): pixel = PIXEL_TABLE[data.hostname] temp_ratio = data.cputemp / 80.0 #hue = HUE_START + (data.cpuusage * HUE_RANGE) brightness = min(MAX_BRIGHTNESS, MAX_BRIGHTNESS * temp_ratio + data.cpuusage / 4) #r, g, b = [int(c * 255) for c in hsv_to_rgb(hue,1.0,1.0)] r, g, b = map(lambda x: min(255, x * 255), CPU_GRADIENT[int(data.cpuusage * 100) - 1]) print data.hostname, r, g, b, data.cpuusage, temp_ratio, brightness set_pixel(pixel, r, g, b, brightness) show()
def display( intensity = 0.5, threshold = 50, wait = 0.5 ) : pixels = 8 * [ 0.0, ] while True : load = max( [ psutil.cpu_percent(), psutil.virtual_memory().percent ] ) pixels.append( load ) pixels.pop( 0 ) for index, percentage in enumerate( pixels ) : if percentage > threshold : red, green, blue = intensity * percentage, 0, 0 else : red, green, blue = 0, intensity * percentage, 0 blinkt.set_pixel( index, red, green, blue, percentage ) blinkt.show() time.sleep( wait )
def splash(): set_brightness(0.3) for x in range(0, 8): set_pixel(x, 255, 0, 0) show() time.sleep(0.1) time.sleep(0.1) for y in range(0, 8): set_pixel(y, 0, 0, 0) show() time.sleep(0.1)
def talk(): set_brightness(0.05) while True: for i in range(8): color = random.choice(colors) set_pixel(i, color[0], color[1], color[2]) show() time.sleep(0.1) if talking == 0: clear() break
def yellow(): for i in range(8): set_brightness(.05 * i / 3) set_pixel(i, 255, 32, 0) show() time.sleep(0.04) time.sleep(1) for i in range(8): set_pixel(i, 0, 0, 0) show() time.sleep(0.04) time.sleep(1)
def _running_light(self,stop_me,duration=5,rgb=[0,0,255],delay=0): """ running light of defined color (modified from blinkt-example larson.py) """ duration = int(duration) self._settings.log.msg( "LedController: executing running_light-alarm for %s minutes" % duration) (r,g,b) = rgb values = [(0,0,0), (0,0,0), (0,0,0), (0,0,0), (0,0,0), (r//16,g//16,b//16), (r//4,g//4,b//4), (r,g,b), (r//4,g//4,b//4), (r//16,g//16,b//16), (0,0,0), (0,0,0), (0,0,0), (0,0,0), (0,0,0), (0,0,0)] start_time = time.time() end_time = start_time + 60*duration now = start_time # honor delay delay = int(delay) if delay > 0: self._settings.log.msg( "LedController: delaying alarm for %d minutes" % delay) if stop_me.wait(60*delay): return if simulate: stop_me.wait(60*duration) self._settings.log.msg("LedController: running_light-alarm finished") else: with self._lock: blinkt.set_brightness(1.0) while now <= end_time: delta = (now - start_time) * 16 offset = int(abs((delta % 16) - 8)) for i in range(8): (rv,gv,bv) = values[offset + i] blinkt.set_pixel(i,rv,gv,bv) blinkt.show() if stop_me.wait(0.1): break now = time.time() # reset display to standard self._settings.log.msg("LedController: running_light-alarm finished") self._set_leds()
def light_up(): for pixel in range(8): r = randint(0, 255) g = randint(0, 255) b = randint(0, 255) set_pixel(pixel, r, g, b) show() sleep(0.1) sleep(1) clear() # must call this to turn lights off show()
def rainbow(duration, brightness): spacing = 360.0 / 16.0 set_brightness(brightness) start = time.time() while should_it_continue(start, duration): hue = int(time.time() * 100) % 360 for x in range(8): offset = x * spacing h = ((hue + offset) % 360) / 360.0 r, g, b = [int(c * 255) for c in colorsys.hsv_to_rgb(h, 1.0, 1.0)] set_pixel(x, r, g, b) show() time.sleep(0.01)
def fog(r, g, b): import random for i in range(150): pixels = random.sample(range(blinkt.NUM_PIXELS), random.randint(1, 5)) for i in range(blinkt.NUM_PIXELS): if i in pixels: blinkt.set_pixel(i, r, g, b) # change colour in the last 3 digits here else: blinkt.set_pixel(i, 0, 0, 0) blinkt.show() time.sleep(0.05) blinkt.clear() blinkt.show()
def show_graph(v, r, g, b): v *= 8 for x in range(8): hue = ((hue_start + ((x/8.0) * hue_range)) % 360) / 360.0 r, g, b = [int(c * 255) for c in colorsys.hsv_to_rgb(hue,1.0,1.0)] if v < 0: brightness = 0 else: brightness = min(v,1.0) * max_brightness set_pixel(x, r, g, b, brightness) v -= 1 show()
def rainbow(lock, stop): spacing = 360.0 / 16.0 with lock: while not stop.is_set(): hue = int(time.time() * 100) % 360 for x in range(blinkt.NUM_PIXELS): offset = x * spacing h = ((hue + offset) % 360) / 360.0 r, g, b = [int(c * 255) for c in colorsys.hsv_to_rgb(h, 1.0, 1.0)] blinkt.set_pixel(x, r, g, b) blinkt.show() time.sleep(0.001) blinkt.clear()
def blink_blinkt(): for i in range(3): for j in range(blinkt.NUM_PIXELS): blinkt.set_pixel(j, 255, 0, 0) blinkt.show() time.sleep(0.1) for j in range(blinkt.NUM_PIXELS): blinkt.set_pixel(j, 0, 0, 0) blinkt.show() time.sleep(0.2)
def dance(): for i in xrange(100): clear() l = [[0, 2, 4, 6], [1, 3, 5, 7]] poslist = l[i % 2] for pos in poslist: #poslist is a set of positions of pixels r = 0 g = 255 - pos * 32 b = pos * 32 set_pixel(pos, r, g, b) xshow() time.sleep(0.1)
def alarm(): for o in range(10): set_brightness(1) for i in range(8): set_pixel(i, 255, 0, 0) show() #time.sleep(0.05) time.sleep(0.2) for i in range(8): set_pixel(i, 0, 0, 255) show() time.sleep(0.2) off()
def show_graph(v, r, g, b): v *= blinkt.NUM_PIXELS for x in range(blinkt.NUM_PIXELS): hue = ((hue_start + ( (x / float(blinkt.NUM_PIXELS)) * hue_range)) % 360) / 360.0 r, g, b = color if v < 0: brightness = 0 else: brightness = min(v, 1.0) * max_brightness blinkt.set_pixel(x, r, g, b, brightness) v -= 1 blinkt.show()
def show(self): if self.status.get('building', False) or self._brightness: self._brightness = (self._brightness + 1) % 19 else: self._brightness = 0 brightness = abs(10 - self._brightness) try: colour = self._colours[self.status['result']] except KeyError: colour = (0, 0, 0) set_pixel(self._id, *colour, brightness / 10)
def blackscrolly(): for i in xrange(50): # switch off all pixels clear() bpos = i % 8 for pos in xrange(8): if bpos == pos: set_pixel(pos, 255, 255, 255) else: set_pixel(pos, 240, 100, 0) # show light xshow() # wait a bit (0.3s) time.sleep(0.05)
def display_both_open(): clear() set_pixel(1, 0, 255, 0) set_pixel(2, 0, 255, 0) set_pixel(5, 0, 255, 0) set_pixel(6, 0, 255, 0) show()
def show(self, latency=0): r, g, b = self.makeColor(latency) set_pixel(self.bit, r, g, b, config.light) show() # try and correct the pause to make ping test have a # frequency of once per configured pause moment time.sleep(float(config.pause) - (float(latency) / 1000.0)) set_pixel(self.bit, r, g, b, config.dim) show() if config.LR: self.bit = self.bit + 1 if self.bit < 7 else 0 else: self.bit = self.bit - 1 if self.bit > 0 else 7
def fade_count(n, r, g, b, fast=None, bright=1.0): if fast is None: delay=0.125 else: delay=0.0625 for j in range (n): for i in range(8): set_pixel(i, r, g, b, bright) show() sleep(delay) for i in range(8): set_pixel(i, 0, 0, 0, bright) show() sleep(delay)
def kit_chase(colour, iterations=100, fade=6, delay=0.1, background=(0,0,0)): current_pixel = 0 decrement = 100.0** (1 / float(fade)) level = [0.0 for x in range(8)] step = -1 for _ in range(iterations): if current_pixel % 7 == 0: step = 0 - step level = [max(x / decrement, 0) for x in level] level[current_pixel] = 1.0 for pixel in range(8): set_pixel(pixel, *colour, brightness=level[pixel]) show() print("{0:d} : {1:1.2f} {2:1.2f} {3:1.2f} {4:1.2f} {5:1.2f} {6:1.2f} {7:1.2f} {8:1.2f}".format(current_pixel, *level)) current_pixel += step sleep(delay)
def BlinktManager(): #time.sleep(20) localBrightness=globalBrightness while not globalShutdown: spacing = 360.0 / 16.0 hue = 0 if localBrightness!=globalBrightness: blinkt.set_brightness(globalBrightness) localBrightness=globalBrightness if globalResponse=='pulse': for z in list(range(1, 10)[::-1]) + list(range(1, 10)): fwhm = 5.0/z gauss = make_gaussian(fwhm) start = time.time() y = 4 for x in range(blinkt.NUM_PIXELS): h = 0.5 s = 1.0 v = gauss[x, y] rgb = colorsys.hsv_to_rgb(h, s, v) r, g, b = [int(255.0 * i) for i in rgb] blinkt.set_pixel(x, r, g, b) blinkt.show() end = time.time() t = end - start if t < 0.04: time.sleep(0.04 - t) time.sleep(0.15) elif globalResponse=='rainbow': hue = int(time.time() * 100) % 360 for x in range(blinkt.NUM_PIXELS): offset = x * spacing h = ((hue + offset) % 360) / 360.0 r, g, b = [int(c*255) for c in colorsys.hsv_to_rgb(h, 1.0, 1.0)] blinkt.set_pixel(x,r,g,b) blinkt.show() time.sleep(0.15) elif globalResponse=='solid': blinkt.set_all(255, 255, 255) print "solid" time.sleep(3) elif globalResponse=='off': blinkt.set_all(0, 0, 0) time.sleep(3) blinkt.show()
def on_ble_write(self, *args, **kwargs): try: # bytes=[0x07, 0x02, 0x00, 0x01, 0x00, 0x0FF, 0x00] bytes = args[1]["Value"] if len(bytes) > 2: cmd = (bytes[0] << 8) + (bytes[1] & 0xff) if cmd == 0x0702: if len(bytes) >= 7: set_pixel(bytes[3] - 1, bytes[4], bytes[5], bytes[6]) elif cmd == 0x0601: if len(bytes) >= 5: set_all(bytes[2], bytes[3], bytes[4]) show() except Exception as inst: print(type(inst)) print(inst.args) print(inst) return 0
def on_message(client, userdata, msg): data = msg.payload.split(',') command = data.pop(0) if command == "clr" and len(data) == 0: clear() show() return if command == "rgb" and len(data) == 4: try: pixel = data.pop(0) if pixel == "*": pixel = None else: pixel = int(pixel) if pixel > 7: print("Pixel out of range: " + str(pixel)) return r, g, b = [int(x) & 0xff for x in data] print(command, pixel, r, g, b) except ValueError: print("Malformed command: " + str(msg.payload)) return if pixel is None: for x in range(8): set_pixel(x, r, g, b) else: set_pixel(pixel, r, g, b) show() return
def ledstage( stage ): #Prevent the LED's clearing after script execution and reboot. set_clear_on_exit(False) #Colours! colours = [] colours.append([255,25,0]) colours.append([200,50,0]) colours.append([150,75,0]) colours.append([125,100,0]) colours.append([100,125,0]) colours.append([50,175,0]) colours.append([25,200,0]) colours.append([0,255,0]) #Loop var x = 0 #Clear LED's if 0 if stage == 0: set_all(0,0,0) show() elif stage == 8: #Party! counter = 50 while x < counter: for i in range(8): set_pixel(i, random.randint(0,255), random.randint(0,255), random.randint(0,255)) show() time.sleep(0.05) x += 1 else: while x < stage: set_pixel(x,colours[x][0],colours[x][1],colours[x][2],0.1) show() x += 1
def random_pulse(r,g,b): px = random.randint(0,7) for pct in range(0, 100, 10): set_pixel(px, lum(r,pct), lum(g,pct), lum(b,pct)) show() time.sleep(0.02) set_pixel(px, lum(r,90), lum(g,90), lum(b,90)) show() time.sleep(0.02) set_pixel(px, lum(r,80), lum(g,80), lum(b,80)) show() time.sleep(0.02)
def set_led_status(line, line_ok): colours = line["colour"] led_no = line["led_no"] if line_ok: set_pixel(led_no, *colours[GOOD_SERVICE]) else: # colour should be set to the colour of the status (if available) # otherwise change to RED status = line["status"] if status in colours: set_pixel(led_no, *colours[status]) else: set_pixel(led_no, *RED)
def show_n(n): for i in range(8): set_pixel(i, 0, 0, 0) show() sleep(1) for i in range(8): if n > i: set_pixel(i, 0, 0, 255) else: set_pixel(i, 0, 0, 0) show() sleep(1) sleep(1)
import time from blinkt import set_clear_on_exit, set_pixel, show, set_brightness set_clear_on_exit() set_brightness(0.1) while True: for i in range(8): if i == 0 or i == 1: set_pixel(i, 255, 0, 0) else: set_pixel(i, 255, 0, 0) set_pixel(i-2, 0, 0, 0) show() time.sleep(0.1) if i == 7: set_pixel(i-1, 0, 0, 0) show() time.sleep(0.1) set_pixel(i, 0, 0, 0) show() time.sleep(0.25) for i in range (7, -1, -1): if i == 7 or i == 6: set_pixel(i, 255, 0, 0) else: set_pixel(i, 255, 0, 0)
#### # Copyright (c) 2017 Chris J Daly (github user cjdaly) # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html # # Contributors: # cjdaly - initial API and implementation #### import time from blinkt import set_pixel, set_brightness, show, clear set_brightness(0.3) clear() set_pixel(0, 0, 0, 100) set_pixel(1, 0, 100, 0) set_pixel(2, 100, 0, 0) set_pixel(3, 0, 100, 100) set_pixel(4, 100, 100, 0) set_pixel(5, 100, 0, 100) set_pixel(6, 100, 100, 100) set_pixel(7, 10, 10, 10) show() while True: time.sleep(1.0)
#!/usr/bin/env python import time from blinkt import set_brightness, set_pixel, show import colorsys spacing = 360.0 / 16.0 hue = 0 set_brightness(0.1) while True: hue = int(time.time() * 100) % 360 for x in range(8): offset = x * spacing h = ((hue + offset) % 360) / 360.0 r, g, b = [int(c*255) for c in colorsys.hsv_to_rgb(h, 1.0, 1.0)] set_pixel(x,r,g,b) show() time.sleep(0.001)
def turn_led_off_for(line): set_pixel(CONFIG[line]["led_no"], 0, 0, 0)
#!/usr/bin/env python import math import time from blinkt import set_pixel, show, set_brightness reds = [0, 0, 0, 0, 0, 16, 64, 255, 64, 16, 0, 0, 0, 0, 0] start_time = time.time() while True: delta = (time.time() - start_time) * 16 # Sine wave, spends a little longer at min/max # offset = int(round(((math.sin(delta) + 1) / 2) * 7)) # Triangle wave, a snappy ping-pong effect offset = int(abs((delta % 16) - 8)) for i in range(8): set_pixel(i , reds[offset + i], 0, 0) show() time.sleep(0.1)
# Contributors: # cjdaly - initial API and implementation #### import random import time from blinkt import set_pixel, set_brightness, show, clear set_brightness(0.4) while True: r = 0 g = random.randint(0,40) b = random.randint(20,100) for i in range(8): set_pixel(i,80,80,80) show() time.sleep(0.3) # set_pixel(i,100,100,200) show() time.sleep(0.3) # set_pixel(i,80,80,80) show() time.sleep(0.3) # set_pixel(i,r,g,b) show() time.sleep(0.5)
def display_unknown(): clear() set_pixel(0, 0, 255, 255) set_pixel(1, 0, 255, 255) set_pixel(2, 0, 255, 255) set_pixel(3, 0, 255, 255) set_pixel(4, 0, 255, 255) set_pixel(5, 0, 255, 255) set_pixel(6, 0, 255, 255) set_pixel(7, 0, 255, 255) show()
def display_both_closed(): clear() set_pixel(0, 255, 0, 0) set_pixel(1, 255, 0, 0) set_pixel(2, 255, 0, 0) set_pixel(3, 255, 0, 0) set_pixel(4, 255, 0, 0) set_pixel(5, 255, 0, 0) set_pixel(6, 255, 0, 0) set_pixel(7, 255, 0, 0) show()
def setleds(self, state): # blinkt.set_all(state,state,state) # params are r,g,b blinkt.set_pixel(0,state,state,state) # params are r,g,b if state > 10: blinkt.set_pixel(1,state,state,state) # params are r,g,b else: blinkt.set_pixel(1,0,0,0) if state > 20: blinkt.set_pixel(2,state,state,state) # params are r,g,b else: blinkt.set_pixel(2,0,0,0) if state > 30: blinkt.set_pixel(3,state,state,state) # params are r,g,b else: blinkt.set_pixel(3,0,0,0) blinkt.show() return(0)
def display_female_closed(): print('RED/GREEN') clear() set_pixel(0, 255, 0, 0) set_pixel(1, 255, 0, 0) set_pixel(2, 255, 0, 0) set_pixel(3, 255, 0, 0) set_pixel(5, 0, 255, 0) set_pixel(6, 0, 255, 0) show()
def display_male_closed(): clear() set_pixel(1, 0, 255, 0) set_pixel(2, 0, 255, 0) set_pixel(4, 255, 0, 0) set_pixel(5, 255, 0, 0) set_pixel(6, 255, 0, 0) set_pixel(7, 255, 0, 0) show()