힘들게 YOLOv5 실행하여 바운딩 박스 넓이를 구했다. 그리고 detect.py에 client 코드 추가.
100줄 간소화 및 nano 모델 사용으로 속도 개선! JSON타입으로 서버로 객체 인식 정보 보내기.
서버에서는 YOLOv5 인식 정보를 받아서 모터 동작 명령을 내려야한다.
최종 판단 알고리즘.. 수없이 많은 테스트 끝에 완성.
모터 동작을 위해 모터 클라이언트 코드 작성!
서버로부터 {'motor':1}이 온다면 모터가 90도 동작하도록 하였다.
GPIO 라이브러리를 사용했는데 모터가 정말 안마기처럼 떨렸다.
그래서 PIGPIO 라이브러로 변경하여 해결!
이 세 가지를 모두 연결 연결 연결하여 최종 동작까지 성공..
며칠동안 시뮬레이션하고 파라미터 변경하면서 실제 환경에서 잘 동작하도록 하였다.
이게 쉬워보이지만 난 정말 힘들었다. 정말 머리카락 빠지는 경험..
하지만 이 과정에서 뿌듯함이 엄청났다.
젠가를 하듯 아래에서부터 쌓아갔다. 어느 한 곳이라도 부실하다면 이 젠가탑은
언제 무너질지 모른다. 항상 검토..검토.. 리팩토링!