올해 초부터 CoAP 기반의 Firmware-over-the-Air 솔루션을 독자적으로 개발하고 있다. 사실 핵심 기술은 거의 완성했다. 델타 스크립트 생성기술, 델타 전달 프로토콜, 데이터 저장 및 무결성 확인 절차, 그리고 델타 업데이트와 복구를 지원하는 부트로더까지. 나는 2019년 11월 13일 뉴욕에서 열리는 ACM SenSys 2019 에서 이 기술을 시연하려고 한다.
나는 이 기술이 절실했기 때문에 개발했다. 대규모 무선 센서 네트워크 기술을 개발 중, 소스코드를 수정할 때마다 IoT 디바이스 100대의 펌웨어를 업데이트시켜야 했다. 유선 펌웨어 업데이트는 노가다였다. 한 번에 한 디바이스씩 업데이트할 수밖에 없었다. 기기 하나씩 하나씩 손수 JTAG선을 연결해서 업로드했다. 100대 디바이스를 모두 업데이트 하는데 보통 40분씩 걸렸다. 그렇게 업데이트를 해서 네트워크가 제대로 동작하면 좋은데…. 보통은 그렇지도 않았다. 코드 한 줄만 실수해도 다시 40분을 버리는 것이었다. 이런 시간 낭비를 없애고 싶었다.
앞으로 내 FOTA 프로토콜에 대해서 글을 써 보려 한다. 아직 미흡한 부분들이 많은데, 글을 쓰면서 그 부분들을 채우는 방법도 고민해볼 것이다.