8/27 세상에 도전하기 58일차

월화 미친 듯이 개발 달렸다. 오후 2시부터 새벽 4시까지 일했다. 중간중간 운동하고 밥먹고 좀 쉬고?
Kiro Studio
Kiro Studio

위 화면처럼 카메라 보일려면 기기와 같은 wifi에 연결되어 있어야 한다.
DONE
- Wifi 설정 (4시간 예상 but 10시간)
- 기기에서 재부팅할 때마다 pi.py 자동으로 실행시키기
- 기기가 인터넷 연결 안되어 있을 때 Wifi QR 대기 모드, 인터넷 연결되고 서버랑 연결 안되면 서버 대기 모드
- 지금 기기 끄고 wifi 비밀번호 바꿔두고 기기 켜면 Wifi QR 대기 모드로 들어가지고 스튜디오에서 디바이스 탭 들어가서 wifi ssid, pw 입력해서 QR 생성하고 기기 카메라에 가져다 대면 알아서 연결! 중간에 멀어지거나 Wifi 끊기면 다시 Wifi QR 대기 모드!
- 이거 UX 진짜 깔끔하게 한다고 실험도 많이 하고 고생도 좀 했다. 4시간 컷 할 줄 알았는데 완벽하게 깔끔하게 굴러가게 하는 거 10시간 걸렸다. 우분투에 있는 NetworkManager, wpa_supplicant 이런거 공부 좀 하고 테스트도 많이 하고 실험도 많이 했다.
- 배포 (2시간 예상 but 6시간)
- studio는 vercel로 배포
- 도메인 godaddy에서 구입. vercel로 네임서버 연결.
- 서버 g4dn.xlarge에서 docker로.
- CI/CD 만들었는데 (ECR build and push) GPU 이미지에 GPU 패키지 깔려니 빌드 한번 할 때마다 25분씩... 캐싱해야 하는데 이거 캐싱하는 것보다 EC2에서 깃헙 풀받고 거기서 빌드하고 바로 띄우는 게 훨 빨라서 CI/CD에 2시간 쓴 거 아깝지만 걍 안 쓰기로! CI/CD 10분컷할 줄 알았는데 예전이랑 문법이 살짝 달라져서 environment 명시해야 하는 거 몰라서 좀 헤매고 패키지 넘 커서 빌드하다가 터져서 헤매고 AWS 해당 계정에 ECR push 권한 없어서 좀 헤매고...
- GPU 서버에서 환경설정은 생각보다 쉽게 잘 됐다. paddlepaddle-gpu 설치만 하면 잘 된다.
- OCR하는거 맥북에어에서 1페이지에 4촌데 GPU서버에서 0.4초 컷! 10배 빨라졌다. 제어할 때 OCR 좀 더 적극적으로 써도 되겠다.
- 커넥션 관리
- 이거 좀 더 해야 한다. 웹에서 로그인 만들기엔 지금 할 단계는 아닌 거 같아서 좀 어느 정도 가정을 했다. 웹 쓰는 사람이랑 이 기기가 같은 wifi에 연결되어 있어야 한다! 웹 들어오면 client ip 기반으로 같은 ip에 연결되어 있는 기기 정보 보여준다. 아래처럼 잘 보인다.
- 제어할 때 여러 개 동시 제어 테스트해봐야 하고 라이브, 이미지탭 등등 다 기기마다 잘 보여지도록 해야 한다.
- 기기 고유 ID를 만들어야 한다.

- 개발
- 기존에 발로 만들었던 스트리밍 및 제어 웹 날리고 nextjs + tailwind + heroui (문라이트랑 똑같이) 다 개편했다.
- 서버 ws와 http 다 fastapi로 통합했다.
- 로깅 다듬고, fault tolerance 좀 더 신경쓰고 등등
- 기기 부품 모두 준비 완료
- 11대 생산을 위해 모든 부품이 도착했다.


TODO
- 이미지 탭 개발
- 라이브 탭 제어 개발
- 라이브 탭 State 연동 개발
- Editor, Exports 탭 삭제, 설정 탭 비활성화
- 여러 기기 동시 동작 개발
- 포암 시스템 테스트 더 하고 메커니즘 더 고도화
- 설명서 작성
- 카페에 판매글 올리기
- 11대 생산 시작
진짜진짜 잘하면 이번 달 안에 첫 매출을 찍을 수 있을 거 같다...!
좀만 더 힘내서 11대 생산하고 다 팔고 쉬자. 그 전까지 버닝이다.