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

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

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

프로젝트의 재개
#

앰비엔트 라이트(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 처리하고, 초기 릴리즈 애플리케이션의 메인 타겟을 일렉트론 기반으로 전격 선회하게 되었습니다.

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
프로젝트 이름과 이유 # 프로젝트 이름이 어떻게 탄생했는지 배경 에피소드와 프로젝트를 왜 진행하는지에 대한 이유를 공유합니다.