import grpc, time import lights_pb2, lights_pb2_grpc stub: lights_pb2_grpc.LightsStub = None def connect(): global stub channel = grpc.insecure_channel('localhost:50051') stub = lights_pb2_grpc.LightsStub(channel) stub.Ping(lights_pb2.Empty()) print("Пинг отправлен") def disconnect(): global stub stub.SetOff(lights_pb2.Empty()) print("Светодиоды выключены") def StaticColor(): print("StaticColor") global stub request = lights_pb2.StaticColorRequest(brightness=0.5, r=255, g=0, b=0) stub.SetStaticColor(request) print("Красный") time.sleep(1) request = lights_pb2.StaticColorRequest(brightness=0.5, r=0, g=0, b=255) stub.SetStaticColor(request) print("Синий") time.sleep(1) request = lights_pb2.StaticColorRequest(brightness=0.5, r=0, g=255, b=0) stub.SetStaticColor(request) print("Зелёный") time.sleep(1) def StaticGradient2(): print("StaticGradient2") global stub request = lights_pb2.StaticGradient2Request(brightness=0.5, left_r=255, left_g=0, left_b=0, right_r=0, right_g=0, right_b=255) stub.SetStaticGradient2(request) print("Красный-Синий") time.sleep(1) request = lights_pb2.StaticGradient2Request(brightness=0.5, left_r=0, left_g=0, left_b=255, right_r=0, right_g=255, right_b=0) stub.SetStaticGradient2(request) print("Синий-Зелёный") time.sleep(1) request = lights_pb2.StaticGradient2Request(brightness=0.5, left_r=0, left_g=255, left_b=0, right_r=255, right_g=0, right_b=0) stub.SetStaticGradient2(request) print("Зелёный-Красный") time.sleep(1) def StaticGradient3(): print("StaticGradient3") global stub request = lights_pb2.StaticGradient3Request(brightness=0.5, left_r=255, left_g=0, left_b=0, middle_r=0, middle_g=255, middle_b=0, right_r=0, right_g=0, right_b=255) stub.SetStaticGradient3(request) print("Красный-Зелёный-Синий") time.sleep(1) request = lights_pb2.StaticGradient3Request(brightness=0.5, left_r=0, left_g=255, left_b=0, middle_r=0, middle_g=0, middle_b=255, right_r=255, right_g=0, right_b=0) stub.SetStaticGradient3(request) print("Зелёный-Синий-Красный") time.sleep(1) request = lights_pb2.StaticGradient3Request(brightness=0.5, left_r=0, left_g=0, left_b=255, middle_r=255, middle_g=0, middle_b=0, right_r=0, right_g=255, right_b=0) stub.SetStaticGradient3(request) print("Синий-Красный-Зелёный") time.sleep(1) def StaticRainbow(): print("StaticRainbow") global stub request = lights_pb2.StaticRainbowRequest(brightness=0.5) stub.SetStaticRainbow(request) print("Радуга") time.sleep(2) def BreathingColor(): print("BreathingColor") global stub request = lights_pb2.BreathingColorRequest(brightness=0.5, speed=4, r=255, g=0, b=0) stub.SetBreathingColor(request) print("Красный") time.sleep(3) request = lights_pb2.BreathingColorRequest(brightness=0.5, speed=4, r=0, g=0, b=255) stub.SetBreathingColor(request) print("Синий") time.sleep(3) request = lights_pb2.BreathingColorRequest(brightness=0.5, speed=4, r=0, g=255, b=0) stub.SetBreathingColor(request) print("Зелёный") time.sleep(3) def BreathingGradient2(): print("BreathingGradient2") global stub request = lights_pb2.BreathingGradient2Request(brightness=0.5, speed=4, left_r=255, left_g=0, left_b=0, right_r=0, right_g=0, right_b=255) stub.SetBreathingGradient2(request) print("Красный-Синий") time.sleep(3) request = lights_pb2.BreathingGradient2Request(brightness=0.5, speed=4, left_r=0, left_g=0, left_b=255, right_r=0, right_g=255, right_b=0) stub.SetBreathingGradient2(request) print("Синий-Зелёный") time.sleep(3) request = lights_pb2.BreathingGradient2Request(brightness=0.5, speed=4, left_r=0, left_g=255, left_b=0, right_r=255, right_g=0, right_b=0) stub.SetBreathingGradient2(request) print("Зелёный-Красный") time.sleep(3) def BreathingGradient3(): print("BreathingGradient3") global stub request = lights_pb2.BreathingGradient3Request(brightness=0.5, speed=4, left_r=255, left_g=0, left_b=0, middle_r=0, middle_g=255, middle_b=0, right_r=0, right_g=0, right_b=255) stub.SetBreathingGradient3(request) print("Красный-Зелёный-Синий") time.sleep(3) request = lights_pb2.BreathingGradient3Request(brightness=0.5, speed=4, left_r=0, left_g=255, left_b=0, middle_r=0, middle_g=0, middle_b=255, right_r=255, right_g=0, right_b=0) stub.SetBreathingGradient3(request) print("Зелёный-Синий-Красный") time.sleep(3) request = lights_pb2.BreathingGradient3Request(brightness=0.5, speed=4, left_r=0, left_g=0, left_b=255, middle_r=255, middle_g=0, middle_b=0, right_r=0, right_g=255, right_b=0) stub.SetBreathingGradient3(request) print("Синий-Красный-Зелёный") time.sleep(3) def BreathingRainbow(): print("BreathingRainbow") global stub request = lights_pb2.BreathingRainbowRequest(brightness=0.5, speed=4) stub.SetBreathingRainbow(request) print("Радуга") time.sleep(2) def RunningColor(): print("RunningColor") global stub request = lights_pb2.RunningColorRequest(brightness=0.5, speed=4, length=1, fade=4, r=125, g=0, b=0) stub.SetRunningColor(request) print("Красный") time.sleep(3) request = lights_pb2.RunningColorRequest(brightness=0.5, speed=4, length=1, fade=4, r=0, g=0, b=125) stub.SetRunningColor(request) print("Синий") time.sleep(3) request = lights_pb2.RunningColorRequest(brightness=0.5, speed=4, length=1, fade=4, r=0, g=125, b=0) stub.SetRunningColor(request) print("Зелёный") time.sleep(3) def RunningGradient2(): print("RunningGradient2") global stub request = lights_pb2.RunningGradient2Request(brightness=0.5, speed=4, left_r=255, left_g=0, left_b=0, right_r=0, right_g=0, right_b=255) stub.SetRunningGradient2(request) print("Красный-Синий") time.sleep(3) request = lights_pb2.RunningGradient2Request(brightness=0.5, speed=4, left_r=0, left_g=0, left_b=255, right_r=0, right_g=255, right_b=0) stub.SetRunningGradient2(request) print("Синий-Зелёный") time.sleep(3) request = lights_pb2.RunningGradient2Request(brightness=0.5, speed=4, left_r=0, left_g=255, left_b=0, right_r=255, right_g=0, right_b=0) stub.SetRunningGradient2(request) print("Зелёный-Красный") time.sleep(3) def RunningGradient3(): print("RunningGradient3") global stub request = lights_pb2.RunningGradient3Request(brightness=0.5, speed=4, left_r=255, left_g=0, left_b=0, middle_r=0, middle_g=255, middle_b=0, right_r=0, right_g=0, right_b=255) stub.SetRunningGradient3(request) print("Красный-Зелёный-Синий") time.sleep(3) request = lights_pb2.RunningGradient3Request(brightness=0.5, speed=4, left_r=0, left_g=255, left_b=0, middle_r=0, middle_g=0, middle_b=255, right_r=255, right_g=0, right_b=0) stub.SetRunningGradient3(request) print("Зелёный-Синий-Красный") time.sleep(3) request = lights_pb2.RunningGradient3Request(brightness=0.5, speed=4, left_r=0, left_g=0, left_b=255, middle_r=255, middle_g=0, middle_b=0, right_r=0, right_g=255, right_b=0) stub.SetRunningGradient3(request) print("Синий-Красный-Зелёный") time.sleep(3) def Snake(): print("Snake") global stub request = lights_pb2.SnakeRequest(brightness=0.5, speed=2, head_length=1, tail_length=3, head_r=255, head_g=0, head_b=0, tail_r=0, tail_g=255, tail_b=0) stub.SetSnake(request) print("Красный-Зелёный") time.sleep(3) request = lights_pb2.SnakeRequest(brightness=0.5, speed=2, head_length=1, tail_length=3, head_r=0, head_g=0, head_b=255, tail_r=255, tail_g=0, tail_b=0) stub.SetSnake(request) print("Зелёный-Красный") time.sleep(3) request = lights_pb2.SnakeRequest(brightness=0.5, speed=2, head_length=1, tail_length=3, head_r=0, head_g=255, head_b=0, tail_r=0, tail_g=0, tail_b=255) stub.SetSnake(request) print("Зелёный-Синий") time.sleep(3) def RunningRainbow(): print("RunningRainbow") global stub request = lights_pb2.RunningRainbowRequest(brightness=0.5, speed=1) stub.SetRunningRainbow(request) print("Радуга") time.sleep(2) def Fire(): print("Fire") global stub request = lights_pb2.FireRequest(brightness=0.5, speed=4, r=255, g=0, b=0) stub.SetFire(request) print("Красный") time.sleep(3) request = lights_pb2.FireRequest(brightness=0.5, speed=4, r=0, g=0, b=255) stub.SetFire(request) print("Синий") time.sleep(3) request = lights_pb2.FireRequest(brightness=0.5, speed=4, r=0, g=255, b=0) stub.SetFire(request) print("Зелёный") time.sleep(3) def Snowfall(): print("Snowfall") global stub request = lights_pb2.SnowfallRequest(brightness=0.5, speed=1, r=255, g=0, b=0) stub.SetSnowfall(request) print("Красный") time.sleep(3) request = lights_pb2.SnowfallRequest(brightness=0.5, speed=1, r=0, g=0, b=255) stub.SetSnowfall(request) print("Синий") time.sleep(3) request = lights_pb2.SnowfallRequest(brightness=0.5, speed=1, r=0, g=255, b=0) stub.SetSnowfall(request) print("Зелёный") time.sleep(3) def Flash(): print("Flash") global stub request = lights_pb2.FlashRequest(brightness=0.5, speed=6, r=255, g=0, b=0) stub.SetFlash(request) print("Красный") time.sleep(3) request = lights_pb2.FlashRequest(brightness=0.5, speed=6, r=0, g=0, b=255) stub.SetFlash(request) print("Синий") time.sleep(3) request = lights_pb2.FlashRequest(brightness=0.5, speed=6, r=0, g=255, b=0) stub.SetFlash(request) print("Зелёный") time.sleep(3) def Load(): print("Load") global stub last_percent = 0 for p in range(0, 20): request = lights_pb2.LoadRequest(brightness=0.5, speed=1, percent=float(p * 5), last_percent=last_percent, r=255, g=255, b=255) last_percent = float(p * 5) stub.SetLoad(request) time.sleep(0.2) def CpuLoad(): print("CpuLoad") global stub request = lights_pb2.CpuLoadRequest(brightness=0.5, speed=1, r=255, g=255, b=255) stub.SetCpuLoad(request) time.sleep(5) if __name__ == "__main__": connect() # StaticColor() # StaticGradient2() # StaticGradient3() # StaticRainbow() # BreathingColor() # BreathingGradient2() # BreathingGradient3() # BreathingRainbow() # RunningColor() # RunningGradient2() #fix right # RunningGradient3() #fix right # RunningRainbow() #fix run not change # Snake() # Fire() # Snowfall() # Flash() # Load() # CpuLoad() disconnect()