Kiro Building Note 19 (v1.4)
11월 1일부터 3주간 진행한 v1.4 끝!
메커니즘보다는 하드웨어와 소프트웨어에 집중한 업데이트였다.
카메라

라즈베리파이 카메라 모듈 v1(ov5647 센서)에서 라즈베리파이 카메라 모듈 v3(IMX708 센서)로 업그레이드시켰다.

엄청난 고화질을 자랑한다. 무려 4608 × 2592로 12MP이다. A5 책 기준 400DPI로 OCR에 필요한 DPI인 300을 상회한다.
또한 auto focus 기능이 있어 스튜디오에서 아래 버튼을 클릭해 초점을 직접 맞출 수도 있다.

카메라 업그레이드를 통해 QR인식도 훨씬 잘 동작하게 되었다. QR인식은 대상과의 거리가 가변이므로 실시간 자동포커스 모드로 동작하고 책 스캔할 땐 고정포커스 모드로 동작한다.

처음에 산 모듈로 이리저리 테스트해보다 보니 위처럼 보라색 아티팩트가 위쪽에 생기는 문제가 있었다. 카메라도 80도 이상으로 매우 뜨거웠다. 이리저리 고치려고 해봤지만 잘 해결이 안되어서 새로운 모듈을 구매했는데 아무 문제 없이 잘 동작했다. 처음에 산 모듈이 고장났던 것으로...! 방열이 문제인 줄 알고 해결하려고 나름 방열판과 방열팬도 샀는데 조금은 아쉽게 되었다.
LED
기기의 현 상태를 알려주기 위한 LED를 추가했다.


| 코드 | 색상 | 패턴 | 의미 |
|---|---|---|---|
| BOOTING | 흰색 | 느린 숨쉬기(2s) | 시스템 기동 중 |
| WIFI_QR_WAITING | 파랑 | 느린 점멸(0.8s) | QR 대기 |
| WIFI_CONNECTING | 파랑 | 빠른 점멸(0.2s) | 연결 시도 |
| INTERNET_READY | 하늘색 | 브레스(1.5s) | 인터넷 OK |
| SERVER_CONNECTING | 하늘색 | 빠른 점멸(0.2s) | 서버 연결 |
| CONNECTED | 초록 | 고정 | 대기 / 준비 완료 |
| DISCONNECTED | 주황빛 빨강 | 느린 점멸(0.8s) | 연결 끊김 |
| RUNNING | 초록 | 브레스(1.2s) | 스캔 중 |
| PAUSED | 노랑 | 느린 점멸(0.8s) | 일시정지 |
| ERROR | 빨강 | 3회 점멸 후 정지 | 오류 |
| SLEEP | 흰색 | 매우 느린 숨쉬기(3s) | 슬립 상태 |

LED를 그대로 쓰면 빛이 꽤 세고 RGB 3원색이 제대로 섞이질 않아서 위처럼 모델링해서 LED 앞 쪽에 종이를 넣어서 빛을 부드럽게 변환시켜주었다.
리프팅
현재 리프팅에서 제일 큰 문제는 100페이지마다 한번씩 테이프를 교체해야 된다는 점이었다. 아래처럼 8가지 방법을 생각해보았다.
- 다른 재료. 충분한 힘 + 오래가는 힘
- 더 강한 테이프로 미세 제어
- 책 파손 위험 너무 큼
- 현재 테이프로 최대 토크가 더 크고 토크제어가 가능한 모터
- 현재 테이프로도 책 못 넘길 가능성이 좀 있고 결국은 테이프 교체해야 함. "테이프" 교체 자체가 꽤나 번거로움.
- 암팁을 더 넓게 활용.
- 5도씩 돌아가면서 전체 활용하기. 360도 다 못 쓰니까 그 대신 180도를 적당히 잘 조개서.
- 진공 흡착
- 새는 부분 생기면 들기 어려움
- 종이가 미세공극이 많은 다공성 재료로서 1장 보장 어려움. 다음 페이지까지 힘이 가해짐.
- 정전기 흡착 → 구현 너무 어려움
- 테이프 자동교체
- 접착력 회복
2, 3, 5, 6은 위에 적은 이유대로 어렵다고 생각했고, 1, 8번으로 실리콘 젤 패드, 양면 흡착식 실리콘 패드, 양면 실리콘 스티커 패드 3개를 시도해보았다.

최종적으로는 위 그림과 같이 생긴 실리콘 젤 패드를 선택했다. 이 패드는 종이를 들기에 충분한 접착력을 가지고 있고, 물티슈로 닦으면 접착력이 바로 다시 복원이 되며, 종이에 적절히 붙어서 종이 파손 위험성이 없다는 장점이 있다. 다만 접착력이 오래 가는 편은 아니라 100페이지마다 한번씩 물티슈로 닦아야 한다는 문제가 있긴 하다. 기존 방식과 비교하면 교체하지 않고 훨씬 더 쉽게 접착력을 복원 가능하고 종이 파손 걱정이 없다.
여기에 위 4번까지 결합하면 그래도 책 1권을 리스크 없이 쭉 다 들 수 있을 것이라 기대한다! 안정적이고 오래 가는 리프팅은 앞으로 꾸준히 계속 연구해야 할 문제이다.
플레이트

목공소에 이렇게 도면도를 보내고 일반합판으로 주문했다.

기존 MDF보다 훨씬 더 깔끔한 느낌이 나고 손에 나무가루가 거의 안 묻는다.

다음에는 양면코팅된 아래 나무를 써봐야겠다.

MDF가 아닌 가공 혹은 코팅된 나무를 쓰면 금속이 아니어도 꽤 괜찮은 외부 마감과 퀄리티가 나오는 것 같다. 금속은 나중에 시안을 받아보고 가격과 퀄리티를 고려해서 다시 정해볼 것 같다.
방열
위 카메라 이슈로 방열에 대해서도 조금 관심을 갖고 알아보았다. 카메라가 뜨거운 것이 문제기도 했지만 라즈베리파이도 오래 돌리면 많이 뜨거워졌다. 이전에는 팬만 달면 되는 줄 알았는데 서버 조립할 때 CPU 위에 써멀구리스 바르고 방열판 붙인 것처럼 방열판이 우선이었다. 방열판을 붙여야 CPU의 열이 밖으로 더 잘 전도되고 그 이후에 팬으로 식히는 게 더 유의미해지는 것이었다.

이렇게 라즈베리파이에 2개의 구리 방열판을 붙여서 열을 식혀주었다. 나중에 열이 문제가 다시 되면 플레이트에 팬까지 달아볼 예정이다.

조그마한 팬도 미리 사두었다.
예전에 GPU서버를 조립할 때의 기억이 여러모로 도움이 많이 된다. 파워나 방열 쪽에서 공부하다 보면 아 그 때 이래서 이렇게 했구나 싶을 때가 있다.
인증
사용성을 위해 2가지 문제를 해결했다.
- 기기와 연결된 사용자 기기는 같은 wifi에 없어도 접속 가능. 즉 키로를 돌려두고 밖에 나가서 진행 상황 확인 가능.
- 기기가 꺼져 있어도 기기와 한번 연결된 사용자 기기는 접속 가능. 즉 키로가 꺼져있어도 라이브러리 탭에서 책 생성 가능.
단순 소프트웨어 개발이긴 했지만 그래도 나름 쿠키 잘 쓰고 권한 문제 없는지 꽤 주의를 기울이며 개발했다.
Epub (Document Parsing + Export)
사진을 찍으면 Upstage Document Parsing으로 글자 인식 및 이미지, 테이블, 차트 인식을 한다. 추후 책 생성을 할 때 AI 교정을 하면 아래처럼 Document Parsing 결과를 기반으로 띄어쓰기나 오타 정도만 교정해주면서 쭉 책이 생성된다.

기존에는 그림책이나 만화책처럼 글자 중심적인 책이 아닌 경우에는 키로가 쓰기 어려웠는데 텍스트 줄글이 아닌 더 다양한 레이아웃을 가진 책들에 대해서도 이제 전부 지원한다.
대시보드
사용자들의 사용 기록을 쉽게 확인할 수 있도록 어드민 대시보드를 만들었다.

v1.4 BOM

최종적으로 v1.4 BOM을 정리하면 이렇게 되고 원가 20만원을 달성했다!!!
이제 하드웨어 사면서 아 다 왜 이렇게 비싸~~ 라는 투정을 부리지 않아야겠다. 하드웨어는 비싼 것이었다. 나중에 대량생산하면서 원가가 많이 떨어지기를 기대해본다.
v1.4를 팔진 않았지만 현재 판매가는 30만원이다.
분명 Kiro를 처음 만들 때는 10만원 제품을 만들어서 개인들이 쉽게 사고 쉽게 쓸 수 있도록 하고 싶었는데 현실의 벽은 높았다.
지금까지 Kiro가 해결한 문제는 무엇이고, 앞으로 남아있는 문제는 다음 블로그 글 "Kiro의 5개월"에서 정리하겠다.