# Advanced Wled control # Complete Strip color is set based on input import sys import time import json import math import httplib def popen(): spidev = file('/usr/aufruf.log', "wb") ip1 = "192.168.69.46 "#WLED IP url = '/json/state' multi = float(2600) # Multiplication, you can make the light brighter send = 1 spidev.write("Start \n") spidev.flush() while True: if send == 1: eingabe = sys.stdin.readline() if len(eingabe)>0: lr,lg,lb,x = eingabe.split(' ') #spidev.write("inputorg: " + str(lr) + "-" + str(lg) + "-" + str(lb) +"\n") lr = float(lr) lg = float(lg) lb = float(lb) lr = lr * multi lg = lg * multi lb = lb * multi if lr > 255: lr = 255 if lg > 255: lg = 255 if lb > 255: lb = 255 #spidev.write("input: " + str(lr) + "-" + str(lg) + "-" + str(lb) +"\n") #spidev.write("input2: " + str(x) +"\n") sr = str(lr) sg = str(lg) sb = str(lb) params = '{"seg":[{"col":[[' + str(sr) + ',' + str(sg) + ',' + str(sb) + ']]}]}' #try: connection = httplib.HTTPConnection(ip1, timeout=10) #connection.request('PUT', url, json.dumps(params)) connection.request('PUT', url, str(params)) #spidev.write("PUT: " + str(params) + "\n") response = connection.getresponse() data = response.read() #spidev.write("data: " + str(data) + "\n") connection.close() #except: # send = 0 # spidev.write("Exception cought, stopping data to device \n") #spidev.write("RGB left: " + str(lr*255) + ":" + str(lg*255) + ":" + str(lb*255) + "\n") #spidev.write("RGB right: " + str(rr*255) + ":" + str(rg*255) + ":" + str(rb*255) + "\n") #spidev.write("XY left: " + str(lx) + ":" + str(ly) + "\n") #spidev.write("XY right: " + str(rx) + ":" + str(ry) + "\n") #spidev.write("put: " + str(json.dumps(params)) + "\n") #spidev.write("data: " + str(data) + "\n") #spidev.write("-----------" + "\n") spidev.flush() else: break time.sleep(7) popen()