Esempio n. 1
0
def send_dancing_sins():
    """Stream the dancing sins to udp_ip:udp_port."""
    print("Sending dancing sins...")

    message = [0] * 3 * config.GLOBAL_PIXELS_QTY

    t = 0
    seq = 0
    packetsQty = 0
    MAX_PACKETS = config.FRAMES_PER_SECOND * 60 * 120

    from sendero_middleware import devices
    while len(devices.devices_connected) != len(config.DEVICE_CONFIG.keys()):
        time.sleep(0.5)

    print("All devices connected!")

    global clock_expiration_period_finish

    lastTime = 0
    startTime = utils.millis()
    while True:
        try:
            currentTime = utils.millis()
            if currentTime - startTime >= 10 * 60 * 1000:  # 10 minutes max
                break

            if (currentTime - lastTime >= config.FRAME_RATE * 1000):
                lastTime = currentTime
                # Uncomment the line below to send a package on each key press
                # input()
                r = int(255 * (math.sin(t * 4.12456654) + 1) / 2)
                g = 255 - int(255 * (math.sin(t * 5.313) + 1) / 2)
                b = int(255 * (math.sin(t * 9.125412) + 1) / 2)
                color = [r, g, b]

                for i in range(0, 3 * config.GLOBAL_PIXELS_QTY, 3):
                    message[i:i + 3] = color

                flags = 0

                networking.send_streaming_packet(seq, flags, message)
                packetsQty += 1

                seq = utils.increment_seq(seq)
                t += 0.007  #config.FRAME_RATE

                if seq % 128 == 0:
                    print("Sin - Current sequence number/time: "
                          "{0} - {1}".format(seq, utils.millis()))
        except KeyboardInterrupt:
            print("KeyboardInterrupt")
            time.sleep(2)
            from sendero_middleware import devices
            devices.worker_enabled = False
            devices.request_statistics()
            networking.sock.close()
            sys.exit()

    time.sleep(2)
    from sendero_middleware import devices
    devices.worker_enabled = False
    devices.request_statistics()
    print(networking.N)
    print(networking.mean)
    networking.sock.close()
    sys.exit()
        if len(sys.argv) > 2 and sys.argv[2] == "sin":
            streaming.send_dancing_sins()
        if len(sys.argv) > 2 and sys.argv[2] == "flash":
            streaming.send_flashing_lights()
        if len(sys.argv) > 2 and sys.argv[2] == "rgb":
            streaming.send_rgb_lights()
        if len(sys.argv) > 2 and sys.argv[2] == "artnet":
            streaming.listen_and_redirect_artnet_packets(config.UDP_IP, config.UDP_PORT, config.STREAMING_DST_PORT)
        if len(sys.argv) > 2 and sys.argv[2] == "nostream":
            while True:
                q = input()
                if q == "q":
                    break
            time.sleep(2)
            devices.worker_enabled = False
            devices.request_statistics()
            networking.sock.close()
            sys.exit()

    # ##########################################################################################################
    # Prod-Server Mode
    # ##########################################################################################################
    if sys.argv[1] == "prodserver":
        devices.listen_for_devices()
        devices.start_control_server()
        devices.start_sending_keep_alive()
        streaming.listen_and_redirect_artnet_packets(config.UDP_IP, config.UDP_PORT, config.STREAMING_DST_PORT)


print("Options:")
print("\tmiddleware devserver sin|flash|artnet  >   starts the device server")
Esempio n. 3
0
            streaming.send_dancing_sins()
        if len(sys.argv) > 2 and sys.argv[2] == "flash":
            streaming.send_flashing_lights()
        if len(sys.argv) > 2 and sys.argv[2] == "rgb":
            streaming.send_rgb_lights()
        if len(sys.argv) > 2 and sys.argv[2] == "artnet":
            streaming.listen_and_redirect_artnet_packets(
                config.UDP_IP, config.UDP_PORT, config.STREAMING_DST_PORT)
        if len(sys.argv) > 2 and sys.argv[2] == "nostream":
            while True:
                q = input()
                if q == "q":
                    break
            time.sleep(2)
            devices.worker_enabled = False
            devices.request_statistics()
            networking.sock.close()
            sys.exit()

    # ##########################################################################################################
    # Prod-Server Mode
    # ##########################################################################################################
    if (sys.argv[1] == "prodserver"):
        devices.listen_for_devices()
        devices.start_control_server()
        devices.start_sending_keep_alive()
        streaming.listen_and_redirect_artnet_packets(config.UDP_IP,
                                                     config.UDP_PORT,
                                                     config.STREAMING_DST_PORT)

print("Options:")
def send_dancing_sins():
    """Stream the dancing sins to udp_ip:udp_port."""
    print("Sending dancing sins...")

    message = [0] * 3 * config.GLOBAL_PIXELS_QTY

    t = 0
    seq = 0
    packetsQty = 0
    MAX_PACKETS = config.FRAMES_PER_SECOND * 60 * 120

    from sendero_middleware import devices
    while len(devices.devices_connected) != len(config.DEVICE_CONFIG.keys()):
        time.sleep(0.5)

    print("All devices connected!")


    global clock_expiration_period_finish

    lastTime = 0
    startTime = utils.millis()
    while True:
        try:
            currentTime = utils.millis()
            if currentTime - startTime >= 10*60*1000: # 10 minutes max
                break

            if (currentTime - lastTime >= config.FRAME_RATE * 1000):
                lastTime = currentTime
                # Uncomment the line below to send a package on each key press
                # input()
                r = int(255 * (math.sin(t * 4.12456654) + 1) / 2)
                g = 255 - int(255 * (math.sin(t * 5.313) + 1) / 2)
                b = int(255 * (math.sin(t * 9.125412) + 1) / 2)
                color = [r, g, b]

                for i in range(0, 3 * config.GLOBAL_PIXELS_QTY, 3):
                    message[i:i + 3] = color

                flags = 0

                networking.send_streaming_packet(seq, flags, message)
                packetsQty += 1

                seq = utils.increment_seq(seq)
                t += 0.007#config.FRAME_RATE

                if seq % 128 == 0:
                    print(
                        "Sin - Current sequence number/time: "
                        "{0} - {1}".format(seq, utils.millis()))
        except KeyboardInterrupt:
            print("KeyboardInterrupt")
            time.sleep(2)
            from sendero_middleware import devices
            devices.worker_enabled = False
            devices.request_statistics()
            networking.sock.close()
            sys.exit()

    time.sleep(2)
    from sendero_middleware import devices
    devices.worker_enabled = False
    devices.request_statistics()
    print(networking.N)
    print(networking.mean)
    networking.sock.close()
    sys.exit()