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' spidev.write("start \n") spidev.flush() while True: 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) spidev.write("input: " + str(lr) + "-" + str(lg) + "-" + str(lb) +"\n") spidev.write("input2: " + str(x) +"\n") lr = float(lr) lg = float(lg) lb = float(lb) # Make red more vivid #if lr > 0.04045: # lr = float( math.pow((lr + 0.055) / (1.0 + 0.055), 2.4) ) #else: # lr = float(lr / 12.92) # Make green more vivid #if lg > 0.04045: # lg = float( math.pow((lg + 0.055) / (1.0 + 0.055), 2.4) ) #else: # lg = float(lr / 12.92) # Make blue more vivid #if lb > 0.04045: # lb = float( math.pow((lb + 0.055) / (1.0 + 0.055), 2.4) ) #else: # lb = float(lb / 12.92) sr = str(lr*850) sg = str(lg*850) sb = str(lb*850) params = {"seg":[{"col":[[sr,sg,sb]]}]} #print (params) #lparams = {'xy': [lx, ly], 'colormode': 'xy'} #rparams = {'xy': [rx, ry], 'colormode': 'xy'} connection = httplib.HTTPConnection(ip1, timeout=10) connection.request('PUT', url, json.dumps(params)) response = connection.getresponse() data = response.read() connection.close() #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 import time time.sleep(7) popen()