import cv2
import time
import serial
import socket
import pickle

serialcom = serial.Serial('/dev/ttyACM0', 115200)
kamera = cv2.VideoCapture(0)
letzte_zeit = time.time()

clientsocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
clientsocket.connect(('server.tesy-robot.de',8089))

while True: 
    success, frame = kamera.read()
    if not success:
        break

    clientsocket.send(pickle.dumps(frame))

    received = clientsocket.accept().recv(4096)
    data_arr = pickle.loads(received)

    aktuelle_zeit = time.time()
    if aktuelle_zeit - letzte_zeit > 0.001:
        serialcom.write(bytearray(data_arr))
    letzte_zeit = aktuelle_zeit

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

clientsocket.close()
kamera.release()