본문으로 건너뛰기
Background Image
  1. 프로젝트/
  2. 빛나리(Bitnari) 프로젝트/

[빛나리] 프로젝트의 재개

·4 분· loading · loading ·
Bitnari Project - 이 글은 시리즈의 일부입니다.
부분 : 이 글

프로젝트의 재개
#

앰비엔트 라이트(Ambient Light) 디바이스 제작을 위한 빛나리(Bitnari) 프로젝트 개발 이야기의 네 번째 편입니다.


장기 정체와 재개
#

작년 연말 즈음 육아와 함께 아이를 재우다가 같이 잠들어 일찍 수면을 취하는 생활 패턴이 일상으로 계속 반복되는 것도 여전했지만, 개인적으로 마음의 여유가 별로 없었습니다. 그리고 이전 처럼 새벽에 일어나 작업을 할 체력도 있지 못했습니다.

그 전에는 무슨 정신력이었는지 아이를 재우다 새벽에 깨더라도 새벽에 코딩을 하는 의지가 있었지만 수면 시간을 줄여가며 작업을 하다보니 체력적인 한계를 느꼈습니다.

결국 건강과 일상을 위해 한동안 빛나리 프로젝트 작업을 진행하지 않은 부분이 컸지만.

다시 재개를 고민할 시점에는 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 처리하고, 초기 릴리즈 애플리케이션의 메인 타겟을 일렉트론 기반으로 전격 선회하게 되었습니다.

Bitnari Studio 구동 화면

현재 작업 진행 사항
#

기존의 통신 프레임워크인 WindRPC 프로젝트의 경우 부분 코드 생성 정책에서 풀 코드 생성 정책으로 방향성을 잡고 진행을 하다보니 자연스럽게 프레임워크의 구조개선까지 함께 이루어지게 되었습니다.

WindRPC는 통신의 중심이 되는 부분이고 선행적으로 완성을 해야할 필요성이 있어 최근에는 WindRPC 위주로 작업을 진행해서 최근 초기 버전을 리포지터리 오픈과 함께 릴리즈 하였습니다.

그리고 릴리즈된 WindRPC를 기반으로 RPC 서버와 클라이언트를 생성하고 정합성 테스트를 하면서, 다른 두 프로젝트도 완성도를 높여가고 있습니다.

오픈 목표 및 향후 계획
#

프로젝트를 재개하면서 처음 세웠던 목표는 8월 초에 하드웨어 펌웨어와 일렉트론 데스크톱 앱을 공식 오픈하는 것이었습니다. 현 시점에서 8월 초는 어렵겠지만 초기에 구현했던 화면 캡처 싱크 외에 부가적으로 오디오 싱크로 LED를 제어하는 것이나, PICO W의 사용도 고려하여 Wi-Fi UDP 서버/통신도 구현해서 무선으로만 제어하는 것도 어느정도 테스트 되었습니다.

사실상 대부분이 완료된 상태로서 약간의 코드나 문서 정리만 남은 상태라 조금씩 마무리를 하다보면 8월 중으로는 오픈이 가능하지 않을까 예상하고 있습니다.

그럼 오픈할 시점에 또 글을 남겨볼까 합니다!

Bitnari Project - 이 글은 시리즈의 일부입니다.
부분 : 이 글

관련 글

[빛나리] 주간 작업 일지
·15 분· loading · loading
주차별 진행했던 작업 또는 고찰에 대해서 간략하게 정리 합니다. 처음부터 보시면 의식의 흐름대로 정처없이 흘러가는 작업 내용을 보실 수 있습니다.
[빛나리] 하드웨어 설계 고려사항
·4 분· loading · loading
하드웨어 설계 고려사항 # 앰비언트 라이트(Ambient Light) 시스템 개발을 위한 하드웨어 설계 시 고려해야 할 핵심 요소들을 다뤄보겠습니다. 프로젝트의 기능적 요구사항을 충족시키기 위해 MCU(Micro Controller Unit), LED 스트립, 그리고 전력 관리의 세 가지 주요 하드웨어 구성 요소에 대한 기술적 검토 및 결정 과정을 정리합니다.
[빛나리] 프로젝트 이름과 이유
·3 분· loading · loading
프로젝트 이름과 이유 # 프로젝트 이름이 어떻게 탄생했는지 배경 에피소드와 프로젝트를 왜 진행하는지에 대한 이유를 공유합니다.