android 와 양방향 통신하기 위해 서버에서 restful api가 아닌 socket io 프로토콜을 사용하였다.
tensorflow lite 를 사용하여 android와 통신하는 것이 가장 좋은 방법이지만, 시간적 여유가 없어서 서버와 통신하는 방식으로 구현하다가 중요한 점을 알게 되었다.
android에서 서버로 받은 데이터를 학습모델에 입력값으로 넣어야 하기 때문에 우리는 nodejs와 python script를 연동하는 방법을 시도했다.
이렇게 nodejs 와 python script 간의 연동을 성공했다.
또한 옵션으로 파라미터를 포함하여 연동할 수 있었다.
하지만 문제가 발생했다.
nodejs와 python 간의 주고 받는 데이터의 크기가 중요한 문제였다.
android에서 넘어온 데이터는 영상을 캡쳐한 byte array이다.
즉 사이즈가 매우 컸다. 결국 이 큰 데이터를 python script로 넘기는 것을 실패하였다...
혹시나 해서 작은 사이즈의 데이터로 테스트 해봤는데, 성공하였다.
✅ 너무 큰 사이즈의 데이터는 child_process 모듈로 주고 받을 수 없다 ❌
https://github.com/jjmmll0727/Capstone_Design/tree/main/socketio