13분
으로!<aside> 💡 프로젝트 진행하며 기술적으로 가장 어려웠던 부분??
</aside>
라즈베리파이가 존재하는 내부망, 그리고 외부망(배포서버)을 사용하는 관리자페이지와 키오스크간의 통신에 대해 고민이 많았음.
[1] 장고서버 ↔ 키오스크(프론트) 사이의 요청을 처리하는데 문제가 있었다. 처음엔 서버인 장고로부터 클라이언트인 키오스크로 요청(차량번호)을 보내야 했는데 이는 불가능했음..
따라서 고민끝에 중간에 스프링 서버를 연결시킨 뒤, SSE연결을 통해 서버→프론트로 상태 데이터를 보내주기로 함.
[2] 센서를 제어하는 라즈베리파이는 SSAFY로컬 망 내부에 존재했는데, 이를 제어하는 관리자서버(Spring 서버)는 외부망(배포된 서버)에 있었으므로 라즈베리파이에 요청을 보낼 수 없었음. 따라서 스프링의 요청을 받는 장고서버를 만들고, 라즈베리파이는 장고서버로 polling을 통해 센서 제어 여부를 응답받는다.