Test for sending taken photo to nodered

This commit is contained in:
2025-12-31 13:27:47 +01:00
parent 01594d02ed
commit b4330706cd
4 changed files with 17 additions and 4 deletions

Binary file not shown.

View File

@@ -88,10 +88,12 @@ if __name__ == "__main__":
except KeyboardInterrupt: except KeyboardInterrupt:
print("Keyboard interrupt. Stopping app...") print("Keyboard interrupt. Stopping app...")
game_service.stop()
forward_service.stop_all() forward_service.stop_all()
exit() exit()
except Exception as e: except Exception as e:
print(e) print(e)
game_service.stop()
forward_service.stop_all() forward_service.stop_all()
exit() exit()

View File

@@ -1,6 +1,7 @@
import cv2 import cv2
import numpy as np import numpy as np
from pathlib import Path from pathlib import Path
from ultralytics.engine.results import Results from ultralytics.engine.results import Results
from hardware.camera.camera import Camera from hardware.camera.camera import Camera
@@ -39,10 +40,10 @@ class DetectionService:
def stop(self): def stop(self):
self.camera.close() self.camera.close()
def analyze_single_frame(self) -> str | None: def analyze_single_frame(self) -> tuple[np.ndarray, str | None]:
frame = self.camera.take_photo() frame = self.camera.take_photo()
fen = self.__get_fen(frame) fen = self.__get_fen(frame)
return fen return frame, fen
def __run_complete_detection(self, frame : np.ndarray, display=False) -> dict[str, list[Results]] : def __run_complete_detection(self, frame : np.ndarray, display=False) -> dict[str, list[Results]] :

View File

@@ -1,3 +1,6 @@
import cv2
import requests
from services.clock_service import ClockService from services.clock_service import ClockService
from services.detection_service import DetectionService from services.detection_service import DetectionService
@@ -17,7 +20,14 @@ class GameService:
def stop(self): def stop(self):
self.clock_service.stop() self.clock_service.stop()
self.detection_service.stop()
def make_move(self) -> None: def make_move(self) -> None:
fen = self.detection_service.analyze_single_frame() img, fen = self.detection_service.analyze_single_frame()
print(fen) print(fen)
encoded_frame = cv2.imencode('.jpg', img)
image_bytes = encoded_frame[1].tobytes()
headers = {'Content-Type': 'image/jpeg'}
response = requests.post("https://192.168.15.125/party/image", data=image_bytes, headers=headers)
print(response.status_code)