프로젝트의 재개#
앰비엔트 라이트(Ambient Light) 디바이스 제작을 위한 빛나리(Bitnari) 프로젝트 개발 이야기의 네 번째 편입니다.
장기 정체#
작년 연말 즈음 육아와 함께 아이를 재우다가 같이 잠들어 일찍 수면을 취하는 생활 패턴이 일상으로 계속 반복되는 것도 여전했지만, 개인적으로 마음의 여유가 별로 없었습니다. 그리고 이전 처럼 새벽에 일어나 작업을 할 체력도 있지 못했습니다.
그 전에는 무슨 정신력이었는지 아이를 재우다 새벽에 깨더라도 새벽에 코딩을 하는 의지가 있었지만 수면 시간을 줄여가며 작업을 하다보니 체력적인 한계를 느꼈습니다.
결국 건강과 일상을 위해 한동안 빛나리 프로젝트 작업을 더 이상 진행하지 못했고 그렇게 정체된 시간을 보내야 했습니다.
프로젝트 재개#
그렇게 미루어두었던 프로젝트를 최근에서야 마무리 짓고자 다시 작업을 재개했습니다. 이전 처럼 많은 시간을 투자할 수도 새벽에 작업할 체력도 없지만, 대신 그 사이에 비약적으로 발전한 AI 코딩 에이전트와 함께 할 수 있게 되었습니다.
과거에는 혼자 고민하거나 부분적으로 AI의 도움을 받으려고 해도 제대로 풀리지 않던 문제들이 종종 있었는데 최근에는 이러한 고민이 많이 줄어들 정도로 성능이 좋아져서 다시 시작하는데에 부담이 많이 줄었습니다.
세부 프로젝트 명칭 정리#
빛나리 프로젝트는 크게 보면 하나의 제품(세트) 이지만 세부적으로 3개의 프로젝트로 구분될 수 있습니다. 그 전에는 정확히 명칭을 구분하지 않다가 슬슬 하나씩 완료하고 오픈을 고려하면서 명칭을 구분짓기로 했습니다.
- 빛나리 LED (Bitnari LED) - LED 스트립을 제어하는 하드웨어(쉴드) 및 펌웨어 프로젝트 입니다.
- 빛나리 스튜디오 (Bitnari Studio) - PC에서 화면이나 또는 오디오를 캡쳐해서 LED 색으로 전환해서 전송하는 데스크톱 앱 입니다.
- WindRPC - 빛나리 프로젝트에서 활용할 목적으로 Protocol Buffer와 NanoPB를 기반으로 마이크로프로세서와 애플리케이션 간 통신용 RPC 입니다.
C#에서 일렉트론(Electron) 기반으로의 선회#
초기에는 데스크톱 제어 애플리케이션을 C#(WinForms) 기반으로 직접 구현하여 구동 및 테스트 하고 있었습니다.
초기 릴리즈는 C# 앱으로 진행하고, 이후에 크로스OS 환경을 고려하여 일렉트론 환경으로 고도화를 고려했었습니다. 그러다가 이번에 작업을 재개하면서 에이전트의 도움을 받아 조심스레 일렉트론으로 전환을 시도해보았습니다.
이미 주요 로직이 개발된 베이스 코드가 존재해서 그런지 다행히도 큰 문제나 막힘 없이 C#에서 일렉트론으로 전환 작업이 매우 원활하게 진행되었고, 동시에 큰 UI/UX 개선과 개발 생산성이 대폭 향상되는 것을 경험했습니다.
이런 성과에 힘입어 C# 앱은 Deprecated 처리하고, 초기 릴리즈 애플리케이션의 메인 타겟을 일렉트론 기반으로 전격 선회하게 되었습니다.

현재 작업 진행 사항#
기존의 통신 프레임워크인 WindRPC 프로젝트의 경우 부분 코드 생성 정책에서 풀 코드 생성 정책으로 방향성을 잡고 진행을 하다보니 자연스럽게 프레임워크의 구조개선까지 함께 이루어지게 되었습니다.
WindRPC는 통신의 중심이 되는 부분이고 선행적으로 완성을 해야할 필요성이 있어 최근에는 WindRPC 위주로 작업을 진행해서 최근 초기 버전을 리포지터리 오픈과 함께 릴리즈 하였습니다.
그리고 릴리즈된 WindRPC를 기반으로 RPC 서버와 클라이언트를 생성하고 정합성 테스트를 하면서, 다른 두 프로젝트도 완성도를 높여가고 있습니다.
오픈 목표 및 향후 계획#
프로젝트를 재개하면서 처음 세웠던 목표는 8월 초에 하드웨어 펌웨어와 일렉트론 데스크톱 앱을 공식 오픈하는 것이었습니다. 현 시점에서 8월 초는 어렵겠지만 초기에 구현했던 화면 캡처 싱크 외에 부가적으로 오디오 싱크로 LED를 제어하는 것이나, PICO W의 사용도 고려하여 Wi-Fi UDP 서버/통신도 구현해서 무선으로만 제어하는 것도 어느정도 테스트 되었습니다.
사실상 대부분이 완료된 상태로서 약간의 코드나 문서 정리만 남은 상태라 조금씩 마무리를 하다보면 8월 중으로는 오픈이 가능하지 않을까 예상하고 있습니다.
그럼 오픈할 시점에 또 글을 남겨볼까 합니다!
