From 555c0fce563d4f62d479bc87089356f9c3e82fbf Mon Sep 17 00:00:00 2001 From: "Kwabena W. Agyeman" Date: Fri, 20 Oct 2023 16:38:03 -0700 Subject: [PATCH] scripts: Improve OpenMV Boards MJPEG Examples. --- .../09-OpenMV-Boards/01-WiFi-Shield/mjpeg_streamer.py | 7 ++++--- .../09-OpenMV-Boards/01-WiFi-Shield/mjpeg_streamer_ap.py | 7 +++++-- .../09-OpenMV-Boards/01-WiFi-Shield/mjpeg_streamer_fir.py | 7 +++++-- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/scripts/examples/09-OpenMV-Boards/01-WiFi-Shield/mjpeg_streamer.py b/scripts/examples/09-OpenMV-Boards/01-WiFi-Shield/mjpeg_streamer.py index bbe8599bb..cfcd4f4b1 100644 --- a/scripts/examples/09-OpenMV-Boards/01-WiFi-Shield/mjpeg_streamer.py +++ b/scripts/examples/09-OpenMV-Boards/01-WiFi-Shield/mjpeg_streamer.py @@ -29,6 +29,7 @@ print(wlan.ifconfig()) # Create server socket s = usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM) +s.setsockopt(usocket.SOL_SOCKET, usocket.SO_REUSEADDR, True) # Bind and listen s.bind([HOST, PORT]) @@ -50,7 +51,7 @@ def start_streaming(s): # Should parse client request here # Send multipart header - client.send( + client.sendall( "HTTP/1.1 200 OK\r\n" "Server: OpenMV\r\n" "Content-Type: multipart/x-mixed-replace;boundary=openmv\r\n" @@ -72,8 +73,8 @@ def start_streaming(s): "Content-Type: image/jpeg\r\n" "Content-Length:" + str(cframe.size()) + "\r\n\r\n" ) - client.send(header) - client.send(cframe) + client.sendall(header) + client.sendall(cframe) print(clock.fps()) diff --git a/scripts/examples/09-OpenMV-Boards/01-WiFi-Shield/mjpeg_streamer_ap.py b/scripts/examples/09-OpenMV-Boards/01-WiFi-Shield/mjpeg_streamer_ap.py index 58fa586b2..29cab7161 100644 --- a/scripts/examples/09-OpenMV-Boards/01-WiFi-Shield/mjpeg_streamer_ap.py +++ b/scripts/examples/09-OpenMV-Boards/01-WiFi-Shield/mjpeg_streamer_ap.py @@ -62,18 +62,21 @@ def start_streaming(s): "Content-Type: image/jpeg\r\n" "Content-Length:" + str(cframe.size()) + "\r\n\r\n" ) - client.send(header) - client.send(cframe) + client.sendall(header) + client.sendall(cframe) print(clock.fps()) while True: # Create server socket s = usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM) + s.setsockopt(usocket.SOL_SOCKET, usocket.SO_REUSEADDR, True) try: # Bind and listen s.bind([HOST, PORT]) s.listen(5) + # Set server socket to blocking + s.setblocking(True) # Set server socket timeout # NOTE: Due to a WINC FW bug, the server socket must be closed and reopened if diff --git a/scripts/examples/09-OpenMV-Boards/01-WiFi-Shield/mjpeg_streamer_fir.py b/scripts/examples/09-OpenMV-Boards/01-WiFi-Shield/mjpeg_streamer_fir.py index b40d9f945..100b42458 100644 --- a/scripts/examples/09-OpenMV-Boards/01-WiFi-Shield/mjpeg_streamer_fir.py +++ b/scripts/examples/09-OpenMV-Boards/01-WiFi-Shield/mjpeg_streamer_fir.py @@ -37,6 +37,9 @@ s = usocket.socket(usocket.AF_INET, usocket.SOCK_STREAM) s.bind((HOST, PORT)) s.listen(5) +# Set server socket to blocking +s.setblocking(True) + # Set timeout to 1s s.settimeout(1.0) @@ -78,11 +81,11 @@ while True: image.draw_string(0, 16, "To max: %0.2f" % to_max, color=(0xFF, 0x00, 0x00)) cimage = image.compressed(quality=90) - client.send( + client.sendall( "\r\n--openmv\r\n" "Content-Type: image/jpeg\r\n" "Content-Length:" + str(cimage.size()) + "\r\n\r\n" ) - client.send(cimage) + client.sendall(cimage) client.close()