XELF앱을 이용해 디지털 사이니지 만들기 (feat.라즈베리파이)

얼마전에 XELF 데스크톱 앱의 베타버전이 출시되었습니다.

(짝짝짝)

XELF의 데스크톱 앱은 요즘 핫한 일렉트론 기반으로 개발이 되었기 때문에 크로스 플랫폼을 지원하기가 상대적으로 쉬운 편인데요. 데스크톱 앱을 라즈베리파이에 올려 키오스크 또는 디지털 사이니지로 활용하면 좋겠다는 의견이 나와 검토에 들어가게 되었습니다.

사실 라즈베리파이를 이용한 디지털 사이니지 솔루션으로 판매까지 생각하고 차장님은 꿈에 부풀었었다는…


저는 테스트용으로 라즈베리파이 4 4GB를 준비했습니다. 테스트를 위해 OS부터 차근차근 올려보도록 하겠습니다. 라즈베리파이는 라즈비안이라는 OS를 공식으로 제공하고 있습니다. 다운링크

공식 홈페이지에 들어가보면 위와 같이 NOOBS와 raspbian 두가지를 공식지원 합니다.


NOOBS(New Out Of the Box Software)

NOOBS는 쉬운 OS설치를 위한 쉬운 운영 체제 설치 관리자입니다. 다양한 운영체제를 쉽고 편하게 설치할수 있어 처음사용자는 사용해보는것도 나쁘지 않습니다.

 

Raspbian (RaspberryPi + Debian)

라즈비안(Raspbian)은 라즈베리 파이 재단에서 개발한 공식 라즈베리 파이용 OS으로 데비안 리눅스를 기반으로 만들어는데, 이 OS가 NOOBS의 기본 옵션이며,  img 파일이 포함되어 있습니다. 보통 라즈비안이 라즈베리 파이를 쓰는 사람들이 주로 설치하는 OS입니다.

따라서 자질구레한 이미지들이 같이 포함되어 있는 NOOBS는 우리에겐 불필요하므로 라즈비안을 내려받아주도록 합시다.


Raspbian Buster with desktop and recommended software

GUI기반 권장소프트웨어가 포함된 버전

Raspbian Buster with desktop

GUI기반 기본 버전

Raspbian Buster Lite

GUI가 없는 버전 가벼운 CLI환경


테스트가 저희의 주 목적이므로 GUI환경중에 조금이나마 가벼운 Raspbian Buster with desktop 버전을 ZIP파일로 내려 받아줍시다. 가장 최근 릴리즈가 2020-02-13 에 됐군요 내려받은 zip파일은 writing tool로 sd카드에 써주시면 됩니다. tool은 Etcher라는 tool을 추천 해드리겠습니다.


  1. 이미지파일과 sd카드가 마운트되어있는 드라이브를 선택하고 Flash버튼 클릭하고

2. 조금만 기다리시면

3. 완료가 됩니다.

자 이제 sd카드를 본체에 꽂고 전원을 연결하고 기다리면 부팅이 됩니다.

부팅이 완료되었습니다!!


1. 시스템 패키지 리스트를 업데이트 합니다.

2. 설치된 패키지의 버전을 업그레이드합니다.

3. 노드와 npm을 설치합니다.

4. 데스크톱 뷰어 종속성설치

5. 데스크톱 뷰어 구동

 

정상적으로 잘 실행되는 모습을 보여줍니다. 오오오… 소스하나 안바꾸고… 크로스플랫폼 오오..

but… 굉장히 느리고 끊기는 모습을 보여주네요…


폭풍검색 후 라즈베리파이는 CPU와 GPU가 메모리를 공유해서 사용한다는 사실을 알게 되었고

바로 GPU가 힘을 내서 일할수 있도록 많은 양의 메모리를 할당해주기로 했습니다.

OR 기본설정  >  Raspberry Pi Configuration  >  Performance 에서 변경가능

 



過猶不及 (과유불급)

config.txt에 GPU메모리를 세팅해주었습니다.


재부팅을 하고 벽돌이 되었습니다. -__-

세상엔 저 같은 욕심쟁이들이 많아서 다행입니다. 해결법은 어렵지 않게 찾을수 있었는데 라즈베리파이의 저장장치인 micro sd카드를 다른 장치에서 읽어 들인후에 config.txt 파일의 잘못된 설정값을 다시 허용범위로 재설정하고 재부팅을 시키면 된답니다.


공식문서를 잘 살펴보시면 1GB 이상의 메모리를 가진 라즈베리파이는 512MB 이상의 설정은 무의미하며 권장하지 않지만 최대 944MB의 GPU 메모리를 할당 가능하다고 설명해주지만…

이거 다 거짓말입니다 믿지 마세요

구글링과 직접 삽질을 통해 자료를 계속 찾아보니 너무 많은 메모리를 GPU에 할당하게 되면 오히려 전반적인 성능이 더 떨어질 수 있다고 하는데 그냥 안 켜집니다. 안 켜져요…


결국 gpu_mem을 512로 타협하고 데스크톱뷰어를 구동시켜본 모습입니다.

흡족할만큼 부드럽진 않지만 나름 선방했네요~!

이젠 일반 모니터가 아닌 키오스크에 연결해보도록 하죠

키오스크 삽질기는 2부에서 계속 이어집니다.