def test_picamera(): from donkeycar.parts.camera import PiCamera resolution = (120, 160) cam = PiCamera(resolution=resolution) frame = cam.run() #assert shape is as expected. img_array shape shows (width, height, channels) assert frame.shape[:2] == resolution[::-1]
def test_udp_broadcast(ip): if ip is None: print("udp broadcast test..") p = UDPValuePub('camera') from donkeycar.parts.camera import PiCamera from donkeycar.parts.image import ImgArrToJpg cam = PiCamera(160, 120, 3, framerate=4) img_conv = ImgArrToJpg() time.sleep(1) while True: cam_img = cam.run() jpg = img_conv.run(cam_img) print("sending", len(jpg), "bytes") p.run(jpg) time.sleep(0.5) else: print("udp listen test..", ip) s = UDPValueSub('camera') while True: res = s.run() time.sleep(0.1)
def test_tcp_client_server(ip): if ip is None: p = TCPServeValue("camera") from donkeycar.parts.camera import PiCamera from donkeycar.parts.image import ImgArrToJpg cam = PiCamera(160, 120, 3, framerate=4) img_conv = ImgArrToJpg() while True: cam_img = cam.run() jpg = img_conv.run(cam_img) p.run(jpg) time.sleep(0.1) else: c = TCPClientValue("camera", ip) while True: c.run() time.sleep(0.01)
def test_mqtt_pub_sub(ip): if ip is None: print("publishing test..") p = MQTTValuePub('donkey/camera') from donkeycar.parts.camera import PiCamera from donkeycar.parts.image import ImgArrToJpg cam = PiCamera(160, 120, 3, framerate=4) img_conv = ImgArrToJpg() while True: cam_img = cam.run() jpg = img_conv.run(cam_img) p.run(jpg) time.sleep(0.1) else: print("subscribing test..") s = MQTTValueSub('donkey/camera') while True: res = s.run() print("got:", res) time.sleep(0.1)