라즈베리 파이를 디지털 액자로 활용하는 방법 정리


본 글에서는 라즈베리 파이 3(파이)에 소형 모니터를 연결하고 네트웍 공유 폴더를 통해 사진 데이터에 접근하여 사진 앨범을 실행시키는 과정을 정리해 보았다.


1. 사전 준비


준비물은 다음과 같다.

라즈베리 파이 3 와 8기가 혹은 그 이상의 micro sd card (64기가 이상은 크게 필요하지 않음)


13.3인치 2K IPS 모니터

시중에 나와있는 디지털 액자들은 대부분 7인치 혹은 그 이하의 작은 사이즈만 존재하고 해상도가 낮아서 퀄리티있는 사진을 보여주지 못하기 때문에 13.3인치를 선택하였다. 그리고 화각이 좋은 IPS로 한정하여 검색한 결과 아마존에서 아래 제품을 선택하였다.

구매 경로: https://www.amazon.com/gp/product/B07GR3TS7F/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1


나스 혹은 네트워크에서 samba호환 파일 공유가 가능한 시스템


2. 운영체제 설치하기


라즈베리 파이는 가장 보편적으로 raspbian 이라는 운영체제를 설치하여 사용하게 된다. 설치 이미지는 다음 사이트에서 받을 수 있다.

https://www.raspberrypi.org/downloads/

raspbian 을 선택 후 (2018/10/12)현재 가장 최신 버전인 Raspbian Stretch with desktop 을 다운로드 한다.

토렌트로 받거나 zip 파일을 직접 다운로드 후 압축을 풀면 약 4기가 정도 되는 확장자가 .img인 이미지 파일이 생긴다.


이 이미지 파일은 아래의 etcher 라는 프로그램을 사용하여 마이크로sd 카드에 복사할 수 있다. 윈도우/맥/리눅스 등의 운영체제를 지원한다.

https://etcher.io/


etcher설치 후 실행하면 아래 그림과 같이 img파일과 복사할 대상을 선택하고 Flash버튼을 누르면 간단하게 설치할 수 있다.



이제 Flash가 완료된 마이크로sd 카드를 라즈베리파이에 삽입 한다.

모니터와 키보드, 마우스를 연결 후 전원을 입력하면 설치 과정으로 진입한다. 

와이파이, 사용자 언어 및 지역을 선택하는데 기본 설치 항목에 한글 폰트가 없으므로 메뉴의 글자가 깨지게 된다. 따라서 기본 언어를 영어로 선택하는 것이 좋다.


3. 한글 사용 설정


 한글을 사용하기 위해서는 적절한 한글 입력기와 폰트가 필요하다. 입력기는 주로 ibus 혹은 fcitx가 사용되는 데 여기서는 fcitx를 기준으로 진행하였다.


터미널을 열고 다음을 입력한다.

$ sudo apt install fcitx fcitx-hangul fonts-unfonts-core

설치를 완료하고 재부팅 하면 웹페이지에 한글이 정상적으로 표시됨을 확인할 수 있다.

이제 키보드의 우측 alt키를 한글 입력 키로 설정하기 위해 화면 우측 상단의 키보드 모양에서 마우스 우클릭하여 "Configure Current Input Method"를 선택한다.


Input Method 에서 "+"버튼을 입력한 다음 "Hangul" 을 검색하여 추가한다.


Global Config로 이동하여 아래 그림과 같이 설정한다.

먼저 Extra key for trigger input method : backspace키를 눌러 Disabled 로 선택

Trigger Input Method 에서 우측 alt키를 눌러 선택

Secondary는 backspace키를 눌러 Empty를 선택한다.

이제 메모장을 열어 한영 전환이 정상적으로 이루어지는지 확인해본다.


4. 포토 프레임 설정하기


이후 과정은 https://pimylifeup.com/raspberry-pi-photo-frame/ 를 참조하였다.


(1) 화면 자동 꺼짐 해제

라즈베리파이는 기본적으로 일정 시간이 지나면 화면을 끄도록 설정되어있다.

이 기능을 해제하기 위해 /etc/lightdm/lightdm.conf를 편집하도록 한다.

$ sudo vi /etc/lightdm/lightdm.conf

[Seat:*] 항목을 찾아 그 아래에 다음과 같이 추가한다.

xserver-command=X -s 0 -dpms


(2) feh 설치

feh 는 가장 간단하게 이미지를 전체화면에서 실행할 수 있는 프로그램이다. 터미널 커맨드만으로 특정 폴더에 있는 사진들을 전체화면으로 보여줄 수 있다. 다만 사진이 세로로 찍혀있는 경우 이를 인식하여 리사이징하거나 하는 기능은 없으므로 사용에 한계가 있어 사용하지는 않고 테스트용으로만 사용한다.

$ sudo apt install feh

설치가 완료되면 터미널에 다음과 같이 입력하여 앨범을 실행시킬 수 있다.

$ DISPLAY=:0.0 XAUTHORITY=/home/pi/.Xauthority /usr/bin/feh --quiet --preload --randomize --full-screen --reload 60 -Y --slideshow-delay 15.0 /이미지가_포함된_폴더

또는 더 간축화된 명령으로

$ DISPLAY=:0.0 XAUTHORITY=/home/pi/.Xauthority /usr/bin/feh -q -p -Z -F -R 60 -Y -D 15.0 /이미지가_포함된_폴더

(3) samba 패키지 설치하기

라즈베리파이에 설치된 리눅스에서 네트워크 폴더를 생성하고 접근하기 위해서는 samba가 필요하다.

samba를 설치하기 위해서는 autofs, smbclient, cifs등이 필요하다. 터미널에 다음을 입력하여 필요한 패키지들을 설치한다.

$ sudo apt install autofs samba-common-bin smbclient cifs-utils

설치 후 재부팅


(4) 사용자 계정 추가 및 공유 폴더 설정

설치가 완료되면 공유폴더로 설정할 사용자와 폴더를 생성한다. 라즈베리파이는 기본적으로 super user로 로그인하므로 네트워크 폴더에 같은 사용자로 로그인하게 되면 모든 파일을 삭제, 변경할 수 있으므로 되도록이면 사용자를 추가하여 설정하는것이 안전하다.

piuser라는 사용자를 추가하기 위해 터미널에 다음과 같이 입력하고 비번을 등록한다.

$ sudo adduser piuser

사용자 추가 후 해당 사용자의 홈 디렉토리에 share라는 폴더를 만들고 폴더의 권한을 777로 변경한다. (이렇게 하지 않으면 네트워크 폴더에서 접근이 안됨)

$ mkdir /home/piuser/share $ sudo chmod 777 /home/piuser/share

이제 이렇게 만든 폴더를 네트워크에서 공유하기 위해 /etc/samba/smb.conf 파일을 편집기로 연다. (vi 를  gedit 혹은 nano로 대체)

$ sudo vi /etc/samba/smb.conf

workgroup을 사용자의 그룹으로 지정

workgroup = MYWORKGROUP


파일 마지막에 다음 내용을 추가

[share]

    path = /home/piuser/share

    available = yes

    valid users = pi,piuser

    read only = no

    browsable = yes

    public = yes


이제 터미널에서 다음을 입력하여 smbd를 재시작 하여 외부에서 접근이 가능한지 확인해본다.

이제 이 폴더에 사진파일을 저장하여 사용할 수 있다.


(5) 원격 공유폴더 접근하기

라즈베리파이의 로컬 디스크는 용량이 제한적이므로 계속해서 쌓이는 사진파일을 저장하기에는 한계가 있고 매번 백업하기도 번거로우므로 NAS와 같은 파일 공유기에 접근하여 사진을 가져오는 것이 필요하다. 이렇게 하기 위해서는 로컬 폴더를 만들고 이 폴더를 네트워크 폴더로 마운트하는 과정이 필요하다.

먼저 로컬 폴더에 networkPhoto라는 폴더를 만들고 

$ mkdir /home/pi/networkPhoto

다음과 같이 입력하여 폴더를 연결해본다. 괄호() 는 사용자 환경에 따라 입력한다. 여기서 사용자 ID는 NAS 기기에 등록된 사용자 ID 이다.

만약 NAS의 주소가 192.168.1.2 이고 폴더 이름이 photo 인 경우

$ sudo mount -t cifs //192.168.1.2/photo /home/pi/networkPhoto/ -o username=(사용자ID),workgroup=(사용자그룹),vers=1.0 Password for 사용자ID@//192.168.1.2/photo: ********

패스워드를 입력하면 네트워크 폴더가 /home/pi/networkPhoto에 공유가 됨을 확인할 수 있다.

만약 Fail이라고 나오는 경우 vers=항목을 2.0 혹은 3.0으로 변경해본다. 또는 해당 NAS기기가 cifs 프로토콜을 지원하지 않는 경우일 수 있다.


이제 부팅시에 자동으로 공유폴더가 생성되도록 하기 위해서 /etc/fstab 파일을 열고

$ sudo gedit /etc/fstab

다음 내용을 끝부분에 추가한다.

//192.168.1.2/photo /home/pi/networkPhoto cifs rw,user,username=사용자ID,password=사용자암호,vers=1.0 0 0


이제 변경사항 확인을 위해 다음을 입력해본다.

$ sudo smount -a

$ df -H Filesystem Size Used Avail Use% Mounted on /dev/root 32G 4.0G 27G 14% / devtmpfs 482M 0 482M 0% /dev tmpfs 487M 29M 458M 6% /dev/shm tmpfs 487M 13M 474M 3% /run tmpfs 5.3M 4.1k 5.3M 1% /run/lock tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/mmcblk0p1 46M 24M 23M 51% /boot tmpfs 98M 0 98M 0% /run/user/1000 //192.168.1.2/photo 3.0T 829G 2.2T 29% /home/pi/networkPhoto

이 과정이 모두 완료되면 부팅할때 자동으로 해당 네트워크 폴더를 연결하게 된다.

단, 라즈베리파이가 와이파이로 연결된 경우 와이파이 네트워크가 완전히 연결되기 전에 네트워크 접근을 시도하게 되어 정상적으로 진행되지 않는다.

이 때에는 아래와 같이 raspi-config를 실행하여 Boot option에서 Wait for Network at Boot를 설정하여 일정시간동안 지연되도록 한다.





5. 사진 파일 뷰어 설치


feh로는 기능이 부족하고 사진폴더에 다른 파일이 있는경우 멈춘다거나 회전이 불가능한점 때문에 

가볍지만 사진 검색 및 폴더 이동이 간편한 gThumb 이라는 프로그램을 사용하였다. gThumb은 간단히 apt install 명령으로 설치할 수 있다.

2k 해상도의 모니터에서는 약간 버벅거리긴 하지만 큰 무리없이 사용이 가능하다.



설정이 모두 완료된 모습




2018/10/14 최초 문서 발행.


+ Recent posts