라즈베리파이를 사용하다보면 딱히 필요하지는 않지만 또 하나 있으면 하는거, 아마 USB 허브가 아닐까 싶다. 그렇다고 일반적으로 쓰는 전원이 없는 허브를 쓸 수도 없다. 필자의 경험에 의하면 무선마우스 리시버 두개와 키보드 하나를 연결하니 전원이 딸려서 꺼져버렸다. 따라서 전원이 따로 들어가는 USB 허브가 필요하다. 이번 포스트에서는 유전원 USB허브인 MBF-H04를 알아보자.

 

  아래 사진에서 알수 있듯이 MBF-H04가 다른 USB허브랑 차이나는 점이라면 바로 각 USB포트마다 전원 스위치가 달려 있다는 점이다. 스위치가 달려있기 때문에 USB 주번기기를 쓸 때만 켤수 있다는 장점이 있다. 게다가 스위치를 켜면 불까지 들어오는게 참 마음에 든다.

 

 

  사실 USB허브라는게 다 거기서 거기라서 포스팅할 거리가 되지 않지만 포스팅을 한 이유가 있다. 아래 사진을 보자. 이상한 점이 보이는가? 뭔가 이상하지 않나?

 

  그렇다. 전원부에 전원 케이블이 꽂혀있지 않았는데 라즈베리파이에가 작동하고 있다. 이는 라즈베리파이 USB 포트로도 전원이 들어간다는 사실을 방증한다. 사진에서는 잘 보이지 않지만 지금 USB 포트에 USB 허브가 연결되어 있고, USB 허브는 전원 어댑터로 연결되어 전원을 공급하므로 라즈베리파이가 켜지는 것이다. 이는 라즈베리파이 전원 어댑터와 USB허브 어댑터 두개를 한벌에 쓸 필요없이 USB 허브 어댑터 하나만 있어도 된다는 얘기다. 또한 불의의 사고로 라즈베리파이의 전원부가 망가지는 불상사가 생기더라도 USB에 전원을 넣음으로 라즈베리파이를 켤수 있다는 사실이기도 하다.

블로그 이미지

작은 조약돌

공돌이 형과 글쟁이 동생 쌍둥이 형제의 낙서장

,

  이번 포스트에서는 지난 포스트 라즈베리파이에 GUI로 원격 접속 (XRDP)에서 XRDP를 이용한 원격 접속에 이어 VNC를 이용하는 방법을 알아보자.


1. 라즈베리파이에 VNC 서버 설치

  vnc를 이용하기위해서 tight vnc sever를 라즈베리파이에 설치해야 한다. 이를 위해 'sudo apt-get install tightvncserver'를 입력한다. tight vnc server가 설치 되어 있다면 아래와 같이 표시된다.

VNC


2. VNC 서버 실행

  vnc 서버를 실행하기 위해 'vncserver'를 입력하면 아래와 같이 비밀번호를 넣으라고 하는데 비밀번호를 두번 입력하면 vnc 서버가 실행된다.

VNC


   vnc 서버가 실행되는지 그리고 몇번 포트를 사용하는지 알아보기 위해 'sudo netstate -tulpn'을 입력하면 아래와 같이 나오는데 이를 보면 포트 5901와 66001이 vnc 서버에 의해 사용되고 있음을 확인할 수 있다.

VNC


3. 윈도우에서 원격 접속

  윈도우에서 vnc로 라즈베리파이에 원격 접속 하기 위해서는 윈도우에 vnc 클라이언트 프로그램이 설치되어 있어야 한다. 여러 종류의 VNC가 있는데 이중에 TightVNC를 사용해보자. TightVNC는 여기에서 무료로 다운받을 수 있다.

VNC


  다운받은 프로그램을 설치하고난 후에 vnc 클라이언트 프로그램 실행하면 아래와 같은 화면이 표시된다. Remote Host에 라즈베리파이의 IP 주소와 위에서 알아낸 포트번호를 아래와 같이 입력해주고 접속 버튼을 누르 비밀번호를 누르는 창이 나온다. 비밀번호를 입력하면 아래와 같이 라즈베리파이의 데스크탑 화면을 확인할 수 있다.

VNC


VNC


VNC


4. 안드로이드 폰에서 원격접속

  VNC도 스마트폰에서 접속할 수 있다. 여러 종류의 vnc 클라이언트 앱이 있는데 이중 무료인 android-vnc-viewer 앱을 사용해보자.

① 구글플레이에서 android-vnc-viewer를 찾아서 설치한다.

VNC


② 처음 실행하면 아래와 같은 화면이 뜨는데 'Don't show again' 버튼을 클릭한다.

VNC


③ 아래와 같은 화면이 뜨면 IP 주소, 포트, 비밀번호 등을 입력하고 접속 버튼을 누르면 라즈베리파이에 접속된다.

VNC


VNC


VNC


④ 텍스트를 입력할 수 도 있다. 메뉴키를 누르면 아래와 같은 메뉴들이 나오는데 여기서 Send Text 버튼을 누르면 문자를 입력할 수있는 창이 뜨는데 문자를 입렵하고 Send Text를 클릭하면 아래와 같이 문자열이 입력되는 것을 확인 할 수 있다.

VNC


VNC


VNC



블로그 이미지

작은 조약돌

공돌이 형과 글쟁이 동생 쌍둥이 형제의 낙서장

,

  지난 포스트 GUI 프로그램 SSH 통해 실행시키기에서 SSH의 X11 터널링을 이용해서 라즈베리파이의 GUI 프로그램들을 실행시키는 방법에 대해 알아봤었다. 이번 포스트에서는 윈도우의 리모트 데스크탑을 이용하는 방법을 알아보자.


  우선 RDP(Remote Desktop Protocol)를 간단히 설명하면 GUI형식으로 다른 PC에 원격접속을 할 목적으로 마이크로소프트사에서 개발한 프로토콜이다. 윈도우에 기본적으로 리모트 데스크탑 클라이언트 프로그램이 깔려 있으므로 라즈베리파이에 xrdp 서버만 설치되어 있으면 된다. xrdp는 오픈소스 진영에서 rdp를 리눅스에서 사용할 수 있도록 만든 프로그램이다.


1. 라즈베리파이에 xrdp 서버 설치

  설치하기전에 'sudo apt-get update'와 'sudo apt-get upgrade'를 통해 업데이트를 먼저 하는 것을 권유한다. 그 후 xrdp 서버를 라즈베리파이에 설치하기 위해 'sudo apt-get install xrdp'를 입력한다. 

xrdp


2. 윈도우에서 라즈베리파이에 접속하기

① 원격 데스크탑 접속(Remote Desktop Connection) 프로그램을 실행시킨다. 이 프로그램은 rdp를 이용해 다른 PC에 접속하게 해주는 윈도우즈 기본프로그램이다. 윈도우7을 기준으로 시작버튼을 누르고 입력창에 'remote desktop connection'이나 'mstsc'를 입력해서 실행한다. 아래와 같은 화면이 표시되면 라즈베리파이의 IP를 입력하고 접속을 누른다.

xrdp


② 아래와 같은 화면이 뜨면 '예' 버튼을 클릭한다.

xrdp


③ 아래와 같이 로그인창이 표시되면 사용자명과 암호를 입력하고 'OK' 버튼을 누린다. 위의 과장이 모두 정상적으로 실행되었다면 마지막 사진같이 라즈베리파이의 LXDE 화면을 확인할 수 있다.

xrdp


xrdp


3. 안드로이드에서 라즈베리파이에 접속하기

  컴퓨터에서 접속하는 것 뿐만 아니라 스마트폰에서도 라즈베리파이에 RDP를 이용해서 접속할 수 있다.


① 구글플레이에서 Microsoft Remote Desktop 앱을 찾아서 설치한다.

xrdp


② 앱 설치 후 실행하면 IP주소와 사용자명, 비밀번호를 입력한다.

xrdp


③ 생성된 프로필을 클릭하면 라즈베리파이에 접속한다. 처음 접속하면 믿을수 없는 커넥션이라는 경고창이 뜨는데 항상 접속하기를 누르면 끝!

xrdp


xrdp


xrdp


  다음 포스트에서는 라즈베리파이에 VNC를 설치하는 방법을 알아보자.



블로그 이미지

작은 조약돌

공돌이 형과 글쟁이 동생 쌍둥이 형제의 낙서장

,

  가장 기본적인 라즈베리파이를 재시작하고, 끄는 방법은 매우 간단하지만 포스팅한적이 없는 것 같아서 이번 포스트에서 알아보도록 하자.


  알다시피 라즈베리파이에는 다른 컴퓨터들에 있는 파워스위치나 리셋 버튼이 없다. 리셋 버튼을 만들수는 있는데 이건 다음에 알아보자. 따라서 재시작 하거나 라즈베리파이를 끄려면 리눅스 명령어를 사용해야한다.


1. 라즈베리파이 종료

  ssh를 통해서나 라즈베리파이에 직접 연결을 해서 'sudo shutdown -h now'를 입력하면 즉시 라즈베리파이가 종료된다. sudo 권한이 없이는 시스템을 종료할 수 없다. 'sudo halt' 또한 같은 역할을 한다.


2. 라즈베리파이 재시작

  재시작을 하기 위해서는 'sudo shutdown -r now'를 입력하면 즉시 라즈베리파이가 재시작 된다. 'sudo reboot' 또한 같은 역할을 한다.

라즈베리파이 재시작



블로그 이미지

작은 조약돌

공돌이 형과 글쟁이 동생 쌍둥이 형제의 낙서장

,

  라즈베리파이라고 라즈베리파이라고 다 똑같은 제품이 아니다? 중요할 수도 있고 중요하지 않을 수도 있는 라즈베리파이 보드 제조사에 대한 이야기를 알아보도록 하자.


  라즈베리파이는 같은 곳에서 만들어졌을 것이라고 생각했었는데 의외로  세개의 제조사(Sony, Qisda, Egoman)가 라즈베리파이를 만들고 있다. 뭐 제조사가 다른건 중요하지 않다. 일부 매니아들이 안성표 신라면과 안양표 신라면을 비교하는 것도 아니고 제조사가 달라서 라즈베리파이가 다르다는 말을 하려는 것이 아니다.


  우선 다들 알겠지만 라즈베리파이는 A모델과 B모델이 있다. A모델과 B모델은 구별하기 쉽다. Ethernet포트가 없고 USB포트가 하나인 녀석이 바로 A모델이니까 쉽게 구별 가능하다. 하지만 B모델도 Rev1과 Rev2로 나뉜다. 또 Rev2는 256MB 램과 512MB 램으로 나누니다. 2012년 10월 이후 라즈베리파이 B모델은 램이 512MB로 바뀌어서 나왔다. 즉 2012년 10월 이후에는 새 제품을 사면 혹시 256MB일까 걱정하지 않아도 된다. 하지만 중고로 산다면 살때 램의 크기를 물어봐야 하고 도착한 물건이 Rev1인지 Rev2인지 확인하는 과정이 필요하다. (램이 512MB이냐 256MB 이냐는 정말 큰 차이다.) 또한 Rev1과 Rev2의 GPIO 핀번호가 다르니 개발자 입장에서는 자신의 보드의 버젼을 알아볼 필요가 있다.


1. 라즈비안에서 알아보기

라즈비안으로 부팅해서 CPU 정보를 보면 라즈베리파이 보드의 버전을 확일 할 수 있다. 'sudo /proc/cpuinfo/'를 입력하면 아래와 같이 정보가 출력되는데 Revision을 보면 된다. 필자의 라즈베리파이 보드의 Revision 번호는 000e이다. 아래의 표를 참고하면 000e인 필자의 라즈베리파이는 소니에서 만들어진 B 모델 Rev2(512MB) 임을 알 수 있다.



'Beta' => 'Beta Board'

'0002' => 'Model B Revision 1.0',

'0003' => 'Model B Revision 1.0 + Fuses mod and D14 removed',

'0004' => 'Model B Revision 2.0 256MB', (Sony)

'0005' => 'Model B Revision 2.0 256MB', (Qisda)

'0006' => 'Model B Revision 2.0 256MB', (Egoman)

'0007' => 'Model A Revision 2.0 256MB', (Egoman)

'0008' => 'Model A Revision 2.0 256MB', (Sony)

'0009' => 'Model A Revision 2.0 256MB', (Qisda)

'000d' => 'Model B Revision 2.0 512MB', (Egoman)

'000e' => 'Model B Revision 2.0 512MB', (Sony)

'000f' => 'Model B Revision 2.0 512MB', (Qisda) 


2. 라즈베리 파이 보드를 보고 구별하기

  위에서 알아봤듯이 A모델과 B모델은 생김새가 달라서 알아보기 쉽다. 그러나 B모델이 512MB인지 256MB인지 한눈에 알아보기는 쉽지 않다. 하지만 조금 자세히 들여다 보면 그 차이를 알 수 있다. 아래 두 사진의 중간에 보이는 검은색 네모박스가 메모리다. 큰 그림으로 보면 붉은색으로 밑줄 쳐놓은 곳을 볼 수 있는데 이게 2G(왼쪽) 이냐 4G(오른쪽)이냐에 따라서 왼쪽은 256MB, 오른쪽은 512MB로 구별할 수 있다.

   


참조

RPi.GPIO basics 2 – how to check what Pi board Revision you have

GERTBOARD! AND HOW TO TELL HOW MUCH RAM YOUR PI HAS WITHOUT TURNING IT ON


블로그 이미지

작은 조약돌

공돌이 형과 글쟁이 동생 쌍둥이 형제의 낙서장

,

  지금까지 22개의 포스트를 통해서 라즈베리파이에 라즈비안을 설치하고 XBMC를 설치하는 등 몇가지 세팅을 해왔다. 한번 세팅을 해놓고 계속 쓴다면 문제될 것 없지만 PC를 포맷하듯 초기화 시키고 싶을 때 혹은 여러대의 라즈베리파이를 세팅해야 할 때 등 전에 세팅해 놓은 것을 그대로 쓰고 싶을 때가 있다. 예를 들어 라즈베리파이 10대에 라즈비안과 XBMC를 설치하고 한글 설정 등 이런 저러 기본 설정을 해야한다고 할 때 하나하나 일일이 세팅을 한다면 매우 오랜 시간이 걸릴 것이다. XBMC 뿐 아니라 다른 기본 프로그램을 설치해야 하고 설치해야하는 라즈베리파이가 10개가 아니라 100개라면 그 일의 양은 기하급수적으로 늘어 날 것이다. 이럴 때 커스트마이즈된 라즈비안 이미지를 이용하면 문제가 쉽게 풀린다. 이번 포스트에서는 라즈비안 백업이미지를 만드는 방법에 대해서 알아보자.


① 백업하기 원하는 SD카드를 윈도우 PC에 마운트 한다.


② Win32 Disk Imager를 실행시킨다. Win32 Disk Imager는 지난 포스트 라즈비안 설치하기에서 라즈비안을 SD카드에 설치하는데 사용했던 프로그램으로 여기에서 다운 받을 수 있다.


③ 아래 그림에서 폴더모양을 클릭해서 이미지를 백업하고자 하는 디렉토리를 찾아 가서 My_Raspbian.img를 입력하고 열기 버튼 누른다.



④ 장치는 에서 마운트한 SD카드를 선택하고 읽기 버튼을 누르면 이미지 백업이 시작된다.


⑤ SD카드의 용량에 따라 십여분 정도 기다리면, 끝!



⑥ 작업이 제대로 완료되었다면 ③에서 지정한 폴더에 My_Raspbian.img가 생성된 것을 확인할 수 있다.


⑦ 이제 생성된 이미지를 이용해서 복구하기만 하면 된다. 복구하는 방법은 지난 포스트 라즈비안 설치하기를 참조하면 된다.


※ 그런데 이미지 파일의 크기가 무려 15기가다.(이것은 SD카드의 용량에 따라 다르다). 압축을 하니 3기가로 줄었지만 여전히 크다. 하드디스크에 백업해놓을때 용량을 더 차지하는 문제 보다 큰 문제는 이렇게 15기가 짜리 이미지를 만들어 놓으면 나중에 8기가나 4기가짜리 적은 용량의 SD 카드에 사용할 수 없다는 문제가 있다. 적은용량의 SD카드가 있다면 이를 이용해서 백업 이미지를 만들어두는 것을 권장한다.

블로그 이미지

작은 조약돌

공돌이 형과 글쟁이 동생 쌍둥이 형제의 낙서장

,

   RCA 영상선을 이용해서 라즈베이를 TV에 연결했었는데 아무래도 해상도가 낮아서 HDMI 출력을 이용해서 TV에 연결하기로 했다. 하지만 TV에 HDMI 입력단자가 없어서 HDMI에서 VGA로 변경해주는 젠더가 필요했다. 지난주에 주문한 젠더가 이제야 도착해서 연결해보았다.

 

1. HDMI to VGA 젠더 연결하기

  아래 사진에 보이는 검정색 물건이 HDMI 신호를 VGA로 변경해 주는 젠더이다. 아래와 같이 TV에 연결된 VGA케이블을 젠더의 VGA 단자에 연결하고 HDMI 부분은 라즈베리파이의 HDMI 출력단자, 즉, 사진의 5번에 연결하면 자동으로 TV에 라즈베리파이 화면이 출력된다. 

 

 

※ RCA영상 출력과 HDMI 출력 해상도 비교

 

 

2. XBMC 오디오 설정하기

  HDMI는 영상과 오디오를 한번에 전송하기 때문에 HDMI로 연결하면 자동으로 XBMC의 출력도 HDMI로 변경된다. 하지만 VGA는 영상만 전송하기 때문에 오디오는 예전과 같이 3.5미리 스테레오 단자로 출력이 되어야 한다. 그러나 HDMI로 연결할 때 자동으로 오디오 출력도 HDMI로 변경시키기 때문에 소리가 안나올 수도 있다. 그럴 경우 아래와 같이 오디오 설정에 들어가서 오디오 출력을 아날로그로 변경해주면 끝! 

블로그 이미지

작은 조약돌

공돌이 형과 글쟁이 동생 쌍둥이 형제의 낙서장

,

  지난 두 포스트 [라즈베리파이 기초] (6) 콘솔 화면 캡쳐, [라즈비안 XBMC] (7) XBMC 화면 캡쳐를 통해서 콘솔 화면과 XBMC 화면을 캡쳐하는 것을 소개했었다. 하지만 XBMC 화면 캡쳐의 경우 비디오 부분이 검은색으로 표시되는 문제가 있었다. 해결책을 찾던중 raspi2png라는 프로그램을 찾게 되었다.

 

1. Git Clone

  raspi2png를 다운 받기위해서는 크게 두가지 방법이 있다. 하나는 GitHub의 raspi2png 페이지에서 다운로드 받아서 라즈베리파이로 전송하는 방법이다. 하지만 이보다는 Git Clone을 이용하는 것이 라즈베리파이에는 더 적합하다.

 

  raspi2png 페이지에 가면 https clone url이 https://github.com/AndrewFromMelbourne/raspi2png.git 라는 것을 확인 할 수 있다. 라즈비안 콘솔에서 'git clone https://github.com/AndrewFromMelbourne/raspi2png.git'를 입력 하면 raspi2png라는 디렉토리가 통째로 저장된다.

 

2. 컴파일

  1번에서 다운로드한 디렉토리 안에 실행파일이 포함 되어 있기 때문에 컴파일을 할 필요는 없지만 필요할 경우도 있으므로 컴파일하는 단계부터 알아보자. 컴파일에 앞서 libpng12-dev가 먼저 설치 되어있어야 한다. 이를 위해 콘솔에서 'sudo apt-get install libpng12-dev'를 입력한다. 설치가 완료되면 'make'를 입력하면 끝! 아래에 보면 raspi2png 파일이 생성된 것을 확인 할 수 있다. 

 

3. 실행

  실행하는 법도 매우 간단하다. 콘솔에서 './raspi2png'를 입력하면 snapshot.png라는 이름으로 라즈베리파이의 화면이 캡쳐되어 저장된다. -h와 -w와 같이 높이와 너비를 설정할수 있는 옵션도 있고 -p를 이용해서 저장되는 위치와 이름을 설정 할 수 있다. 아래 사진을 보면 XBMC 스크린샷에서는 검게 표시되던 비디오 화면이 아주 잘 캡쳐된 것을 확인 할 수 있다.

 

 

4. 스크립트

  이대로 사용해도 되지만 지난번과 마찬가지로 타임스템프를 이용해서 스크린샷 파일 이름을 자동으로 설정하도록 스크립트를 짜보았다. 쉘스크립트 저장하고 사용하는 방법은 [라즈베리파이 기초] (6) 콘솔 화면 캡쳐 5번에서 이미 설명했으므로 참조하기 바란다.

#!/bin/bash DATE=$(date +"%Y%m%d%H%M%S") DIR=/home/pi/Screenshots OPT= pOPT= pFlag=false while getopts ":p:vh:w:t:d:H" opt; do case $opt in p) pOPT="-p $OPTARG" pFlag=true ;; h) OPT="$OPT -h $OPTARG" ;; w) OPT="$OPT -w $OPTARG" ;; t) OPT="$OPT -w $OPTARG" ;; d) OPT="$OPT -d $OPTARG" ;; v) OPT="$OPT -v" ;; H) OPT="$OPT -H" ;; \?) echo "Invalid option: -$OPTARG" >&2 exit 1 ;; :) echo "Option -$OPTARG requires an argument." >&2 exit 1 ;; esac done if $pFlag; then echo "./raspi2png $OPT $pOPT" sudo ./raspi2png $OPT $pOPT else echo "./raspi2png $OPT -p $DIR/$DATE.png" sudo ./raspi2png $OPT -p $DIR/$DATE.png fi

 

참조 : Andrew 졸라땡큐~

블로그 이미지

작은 조약돌

공돌이 형과 글쟁이 동생 쌍둥이 형제의 낙서장

,

  처음 라즈베리파이 관련해서 포스팅을 시작할 때 화면 캡쳐 하는 것을 찾아보다가 찾아지지 않아서 그냥 사진기로 화면을 찍고 찍은 화면을 자르고 보정해서 올리는 식으로 작업을 해왔다. 하지만 아무래도 사진 선명도도 떨어지고 매번 사진 찍고 수정하는 일도 귀찮았다. 방법이 없진 않을텐데 하며 다시 한번 구글에서 영문으로 검색을 하니 쉽게 찾을 수 있어서 조금 허탈한 마음을 가지고 콘솔화면을 캡쳐하는 방법을 포스팅 하기로 한다.

 

1. fbgrab 설치

  fbgrab은 FB(Frame Buffer)에 윤창중씨로 인해 전국민이 알게된 국민 단어 'grab'을 붙여서 프레임 버퍼에 있는 내용을 움켜 쥔다는 뜻의 콘솔 스크린샷 프로그램이다. 설치는 매우 간단하다. 'sudo apt-get install fbgrab'만 입력하면 끝!

 

2. 기본 사용법

  가장 기본적인 사용법은 'sudo fbgrab [파일이름]' 이다. 이때 파일이름은 bmp, jpg, png등의 그림파일로 저장할 수 있다. 하지만 마지막 줄에보면 화면 캡쳐를 위해서 입력한 'sudo fbgrab screen1.jpg'도 포함된 것이 보인다. 뭐 있어도 그만 없어도 그만이고, 보기 싫으면 잘라버리면 되니까 신경 쓰지 않아도 되지만 그렇게 하지 않아도 되는 방법이 있다.

 

3. 원격 터미널에서 캡쳐하기

  SSH를 통해서 원격으로 접속한 경우 fbgrab을 하면 터미널의 화면이 캡쳐가 되는 것이 아니라 라즈베리파이가 출력하는 화면이 캡쳐된다. 그러므로 당연히 캡쳐를 위해서 입력한 명령어 라인이 포함되지 않는다.

 

 

 

4. 콘솔 스위칭 이용하기

  원격 접속을 하지 않아도 위와 같이 캡쳐를 위해서 입력한 명령어 라인이 포함되지 않도록 하는 방법이 있다. 바로 콘솔 스위칭을 이용하는 것이다. 라즈비안은 6개의 가상 텍스트 콘솔과 하나의 그래픽 콘솔을 가지고 있고 Alt+오른쪽/왼쪽 방향키로 가상 콘솔을 선택 할 수 있는데 이를 콘솔 스위칭이라고 한다. 따라서 독립된 작업을 다른 콘솔에서 할 수 있는 것이다. 이를 이용하면 1번 콘솔에서 어떤 작업을 하고 있고 2번 콘솔에서 1번 콘솔을 화면 캡쳐 할 수 있는 것이다.

 

  2번 콘솔으로 스위칭을 하면 아래와 같이 로그인 하는 화면이 나온다. 로그인을 해서 2번 콘솔의 화면을 캡쳐하기위해 'sudo fbgrab -c 1 [filename]'을 입력한다. 여기서 -c 1이 추가된 것을 확인 할 수 있는데 이것이 2번 콘솔에서 1번 콘솔 화면을 캡쳐하는 옵션이다.

 

 

 

 

 

5. 스크립트 이용해서 조금 더 편하게 사용하기

  앞에서 설명한 것만으로도 충분히 편하게 화면을 캡쳐 할 수 있지만 매번 이름을 다르게 지정해주는것이 조금 귀찮다. 타임스탬프로 이름을 지정하는 옵션이 있었으면 좋겠는데 없어서 Bash 쉘 스크립트로 간단하게 짜봤다. DIR을 스크린샷을 저장하기 원하는 디렉토리로 변경하고 써야한다. screenshot으로 스크립트 이름을 저장했을 경우 './screenshot -c 2 -s 1 -i' 이런식으로 fbgrab의 옵션 형식을 따라서 사용하면 된다. 혹시나 몰라서 덧붙이자면 쉘 스크립트를 실행하기 위해서는 스크립트를 저장한 파일의 권한을 777로 변경해줘야 한다. 'sudo chmod 777 filename'을 입력하면 파일 권한이 777로 변경된다.

#!/bin/bash DATE=$(date +"%Y%m%d%H%M%S") DIR=/home/pi/Screenshots #sudo fbgrab /home/pi/Screenshots/$DATE.png OPT= while getopts ":c:C:s:i" opt; do case $opt in c) OPT="$OPT -c $OPTARG" ;; C) OPT="$OPT -C $OPTARG" ;; s) OPT="$OPT -s $OPTARG" ;; i) OPT="$OPT -i" ;; \?) echo "Invalid option: -$OPTARG" >&2 exit 1 ;; :) echo "Option -$OPTARG requires an argument." >&2 exit 1 ;; esac done echo "fbgrab $OPT $DIR/$DATE.png" sudo fbgrab $OPT $DIR/$DATE.png

  다음 포스트에서는 XBMC의 화면을 캡쳐하는 방법에 대해서 알아보자.

 

참조 : Bill Agee's blog

블로그 이미지

작은 조약돌

공돌이 형과 글쟁이 동생 쌍둥이 형제의 낙서장

,

  라즈베리파이에 전원을 넣고 부팅이 되기를 기다리면 로그인 하라는 화면이 아래 사진과 같이 나타난다. 보안상의 이유로 비밀번호를 묻는 것은 당연하지만 사용 목적이 다음 포스트에서 알아보게될 XBMC의 사용에 있다면 여간 성가신 일이 아닐 수 없다. 그래서 이번 포스트에서는 라즈비안을 자동으로 로그인 하는 방법을 알아 보도록 한다.

 

 

  터미널에서 'sudo nano /etc/inittab' 라고 입력한다. /etc/inittab 파일은 부팅시 초기화 과정을 제어하는 파일이다. 밑으로 내려서 '1:2345:respawn:/sbin/getty --noclear 38400 tty1' 부분을 찾아서 앞에 #을 붙여서 주석 처리 하고, '1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1'를 그 밑에 추가한뒤 저장하면 끝! 이제 재부팅하면 로그인 과정을 건너뛰는 것을 확인 할 수 있다.

 

 

  다음 포스트부터는 XBMC 설치하고 설정하는 것을 알아보도록 하겠다.

 

출처 : http://elinux.org/RPi_Debian_Auto_Login

블로그 이미지

작은 조약돌

공돌이 형과 글쟁이 동생 쌍둥이 형제의 낙서장

,

  지난 포스트에서 SSH를 통해서 라즈베리파이에 접속하는 것을 알아보았다. SSH를 통해서 텍스트 기반의 명령어나 프로그램을 실행 시키는데는 어려움이 없을 거라 본다. 하지만 알다시피 라즈베리파이에서는 Graphical Interface를 제공하는 프로그램들도 많이 실행된다. 이런 프로그램들도 SSH를 통해서 실행 시킬수 있을까? 라즈비안 기본 웹브라우저인 midori를 실행시키는 것으로 이번 포스트를 진행하도록 하겠다.

 

1. SSH 통해서 무작정 midori 실행 시키기

  그냥 아무런 작업도 하지 않고 프롬프트에 midori를 입력해서 실행시켜보았다. 결과는 실패!! 에러 메시지가 떴다.

 

2. Xming 설치 및 실행

  SSH를 통해서 GUI 프로그램을 실행시키기 위해서는 X11 터널링이라는 기술이 필요하고 클라이언트 컴퓨터에는 Xming 이라는 프로그램이 실행되고 있어야 한다. 간략하게 설명하면 프로그램이 실행되어서 그래피컬하게 표시해줘야 할 정보들을 X11 터널을 통해서 클라이언트 컴퓨터로 가져오고 그걸 Xming이 받아서 화면에 표시해주는 것이다. 이 프로그램은 [여기]에서 받을 수 있다. 설치 후 실행 하면 아래 그림과 같이 Xming 아이콘이 시스템 트레이에 표시된다.

 

 

3. 프로필 수정 (X11 Tunneling)

  Xming만 실행되고 있다고 해서 GUI 프로그램을 실행시킬 수 없다. 지난 포스트에서 프로필을 생성했었는데 그 프로필을 수정해야한다. 지난 포스트에서 했던것 처럼 프로필 수정하기에 들어가서 원하는 프로필을 왼쪽 창에서 선택하고 아래와 같이 프로필 수정 창이 뜨면 Tunneling 탭을 선택해서 Tunnel X11 connections의 체크박스를 설정한다. 프로필 수정 후 재접속을 하면 X11 터널링을 통해서 GUI 프로그램들을 실행 시킬 수 있다.

 

 

4. midori 실행

  1번에서 midori를 실행 시켰던 방법대로 midori를 실행 시킨다. 위의 과정을 무사히 다 마쳤다면 아래와 같이 midori의 실행 화면을 볼 수 있을 것이다.

 

 

5. Graphical Desktop(LXDE) 실행하기

  그렇다면 LXDE도 실행 할 수 있을까? 그렇다. 하지만 라즈베리파이에서 LXDE를 실행하는 명령어인 'startx'를 하면 아래와 같이 에러 메시지가 뜬다.

 

 

  LXDE를 SSH를 통해서 실행시키기 위해서는 'lxsession'이라고 입력해야 한다. 그러면 아래 처럼 LXDE가 실행되는 것을 확인 할 수 있을 것이다.

 

 

다음 포스트에는 라즈비안에 자동으로 로그인 하는 방법에 대해 알아보도록 하겠다.

블로그 이미지

작은 조약돌

공돌이 형과 글쟁이 동생 쌍둥이 형제의 낙서장

,

  라즈베리파이에는 기본적으로 SSH 서버가 설치되어 있다. 즉, SSH 클라이언트를 이용해서 라즈베리파이에 접속 할 수 있다는 이야기다. SSH가 무엇인가 잘 모르는 분을 위해 한마디로 설명하면 원격으로 다른 컴퓨터에 접속해서 커맨드 라인 명령을 보내서 작업하는걸 도와주는 프로토콜이다. 즉, Telnet과 같은 기능을 보안성을 높여서 하는 프로토콜이라고 이해하면 될거 같다.

 

1. IP주소 알기

  SSH를 통해서 라즈베리파이에 접속하기 위해서는 당연히 접속하는 컴퓨터가 라즈베리파이와 같은 네트워크에 묶여 있던지 라즈베리파이에 도달 할 수 있어야 한다. 그리고 당연한 말이지만 라즈베리파이의 IP주소를 알아야 접속할 수 있다. 라즈비안에서 (리눅스 베이스의 모든 운영체제에서) IP 주소를 알기 위해서는 'ifconfig'를 입력해야 한다. 그러면 아래와 같은 내용이 표시되는데 밑줄 그은 부분이 바로 IP 주소다.

 

 

2. 정적 IP 설정

  이 부분은 네트워크를 전혀 모르는 사용자라면 건너뛰기를 추천한다. 라즈비안 기본설정으로 IP주소 설정은 DHCP를 통해서 하게 되었다. DHCP는 동적으로 IP를 할당해주는 방식으로 다음번에 접속 할 때는 IP가 변경 될 수도 있다. 하지만 네트워크 구성이 많이 변하지 않는 환경에서는 같은 IP로 할당이 계속 된다. 만약 IP가 변경되는 것이 싫은 경우에는 정적 IP를 받으면 되는데 설정방법은 다음과 같다.

 

  프롬프트에서 'sudo nano /etc/network/interfaces'를 입력하고 엔터를 누른다. 그런 후 'nano' 에디터에서 'iface eth0 inet dhcp'라고 되어 있는 부분을 아래처럼 앞에 #을 붙여서 주석처리 하고 아래와 같이 address, netmask, gateway, network, broadcast를 바꾸면 된다. 하지만 아무 값으로나 바꾸면 안되고 네트워크에 맞게 설정해야 하는데 무슨 값을 넣어야할지 모르겠다면 그냥 DHCP로 IP 할당받아 사용하기를 권한다. 잘 모르겠지만 꼭 정적 IP를 할당 받고 싶다 하는 사람을 위해 작은 팁을 주자면, 앞에 ifconfig로 알아낸 정보를 이용하라는 것이다. 즉, inet-addr 값을 address의 값으로, Bcast의 값을 broadcast의 값으로,  Mask 값은 netmask 값으로 쓰는 것이다. 그리고나서 gateway는 address의 마지막 부분을 1로 변경하고 network는 address의 마지막 부분을 0으로 설정 해주면 왠만하면 될것이다. 다시한번 말하지만 네트워크 개념이 없는 사람은 하지 않는 것이 낫다. ※네트워크 설정은 재부팅 할때 변경된다는 사실 또한 참고.

 

 

3. SSH 클라이언트 설치

  SSH 클라이언트 프로그램은 아주 다양하다. Putty와 OpenSSH도 널리 쓰이는 SSH 클라이언트 프로그램이다. 하지만 필자는 SSH Secure Shell을 더 선호한다. SSH Secure Shell은 [여기]서 다운 받을 수 있다.

 

4. SSH Secure Shell로 접속하기

  SSH Secure Shell을 성공적으로 설치했다면 아래와 같은 화면이 표시 된다. Profiles 아이콘을 누르고 Add Profiles 버튼누르면 Add Profile 창이 뜨고, 원하는 이름을 입력한 뒤 엔터를 누르면 프로필이 생성된다.

 

 

 

  다시 Profiles 아이콘을 클릭한 후 Edit Profiles 버튼을 클릭하면 아래와 같이 프로필을 수정 할 수 있는 창이 나온다. 전에 생성한 프로필을 왼쪽 창에서 찾아서 클릭 한 후 Host name에 1번에서 알아낸 IP 주소를 적고, User name은 pi로 설정한 후, OK버튼을 누르면 프로필이 수정된다.

 

 

5. SSH Secure Shell로 라즈베리파이 접속하기

  위의 과정을 모두 마쳤다면 Profiles 아이콘을 누르면 좀전에 생성한 프로필 버튼이 생성되어 있을 것이다. 그 버튼을 클릭하면 라즈베리파이에 접속이 되면서 비밀번호를 넣으라는 창이 뜬다. 비밀번호를 입력했을 때 아래와 같이 로그인 되었다는 메시지가 표시되면 끝! 

 

 

 

  다음 포스트에서는 SSH를 통해서 GUI 프로그램을 실행시키는 방법을 알아보겠다.

블로그 이미지

작은 조약돌

공돌이 형과 글쟁이 동생 쌍둥이 형제의 낙서장

,

  컴퓨터를 작동시키기 위해서는 운영체제가 필요하다. 윈도우즈, 맥OS, 안드로이드, 리눅스 등이 잘 알려진 운영체제 이다. 라즈베리파이를 작동시키기 위해서도 운영체제가 필요하다. 라즈베리파이용으로 배포되고 있는 운영체제로 라즈비안, 피도라, OPENELEC, RASPBMC, RISC OS 등이 있다. OPENELEC와 RASPBMC는 라즈베리파이 XBMC 전용 운영체제이다. 미디어 센터로만 사용하고자 한다면 이 두가지 운영체제 중에 골라서 설치하는 것이 낫다. 하지만 그 외의 용도로도 사용하려면 라즈비안이나 피도라를 선택해야한다. 필자는 라즈비안을 설치하기로 했다.

 

1. SD카드에 라즈비안 이미지 굽기

※이 글에서는 윈도우즈에서 라즈베리파이 이미지를 SD카드에 굽는 것을 설명하지만 맥의 경우는 [여기]를 참조하여 굽기만 하면 아래의 모든 과정은 동일하다.

  라즈베리파이 공식 사이트의 다운로드에 들어가면 아래와 같은 페이지가 뜨는데 여기서 Download Zip을 눌러서 라즈비안 이미지를 다운 받으면 된다.

 

 

  Win32 Disk Imager라는 프로그램을 [여기]에서 다운 받아서 설치한다. 설치된 프로그램을 실행시키면 아래와 같은 프로그램이 뜨고 Image File에 위에서 다운받은 라즈비안 이미지를 선택하고 Device에 굽고자 하는 SD카드의 드라이브를 선택한다. 그 후, Write를 클릭하면 아래와 같은 경고 메시지가 뜨면 확인을 누르고 완성되기를 기다린다.

 

 

 

 

2. 기본 설정 하기

  1의 과정을 무사히 마쳤다면 구워진 SD카드를 라즈베리파이에 장착하고 전원을 켜서 라즈베리파이를 시작한다. 혹시나 해서 말이지만 라즈베리파이에는 전원버튼이 없다. 전원 플러그를 꼽는 순간 부팅이 시작된다. 모니터에 아래와 같은 화면이 뜬다면 1단계는 성공한 것이다.

 

 

  처음으로 부팅을 하게 되면 라즈베리파이의 기본 설정을 할 수 있는 아래와 같은 화면이 표시 된다. 여기서 1,2,3번만 기본적으로 필요하므로 세가지만 설명 하도록 한다. 후에 세팅을 바꿔야 할 경우가 생기면 라즈비안의 쉘(윈도우의 커맨드라인 같은것) 에서 'sudo raspi-config'를 입력하면 아래와 같은 화면이 뜬다.

 

2-1. Expand Filesystem

  이것은 SD카드의 모든 공간을 사용할수 있게 해주는 것이다. 아래 두 사진을 비교하면 위의 것은 확장하기 전이고 아래의 것은 확장한 후이다. 하는 것은 매우 쉽다. 1번에 커서를 위치 시키고 엔터만 누르면 끝!

※확장 후에 5배 이상 넓은 공간을 사용하게 되는 것을 확인 할 수 있는데 이것은 SD카드의 용량에 따라 다를 수 있다. 그리고 변경 사항은 재부팅 후에 확인 할 수 있다는 점도 참고.

 

 

2-2 Change User Password

  사용자 비밀번호를 바꾸는 부분인데 바꾸지 않아도 되지만 바꾸는 것이 보안상 더 나은 선택일 것이다. 처음 사용자 아이디는 'pi'이고 비밀번호는 'raspberry'이다. 2번에 커서를 놓고 엔터를 누르면 아래와 같은 창이 표시되고 새 비밀번호를 두번 입력하면 끝!

 

 

2-3. Enable Boot to Desktop/Scratch

  부팅 옵션을 선택하는 부분이다. 마찬가지로 3번에 커서를 놓고 엔터를 누르면 아래와 같은 화면이 표시되면 세가지 옵션중에 선택해서 엔터를 누르면 끝! 1번은 Text Console 즉, DOS와 같은 환경으로 부팅이 된다. 2번은 Graphical Desktop, 즉 윈도우즈와 같은 환경으로 부팅이 된다. 마지막으로 3번 Scratch라는 것은 아이들에게 쉽게 프로그래밍을 가르쳐 주는 프로그램 같은데 관심 있다면 해보시길.

※사용 목적에 따라 1,2,3번 중에 아무거나 선택해도 되지만 필자의 경우 기본적으로 사용하고자 하는 기능이 XBMC이므로 1번 Text Console을 선택하였다.

 

 

  오버 클럭 등 다른 옵션들도 있지만 기본 세팅에는 크게 상관 없으므로 패스. 이제 기본 세팅이 다 되었으면 Graphical Desktop에 들어가보도록 하자. raspi-config 창에서 오른쪽으로 커서를 이동시키면 Finish에 커서가 가고, 그때 엔터를 누르던지, ESC키를 두번 누르면 창이 종료 되고 프롬프트 창이 나온다. 거기서 'startx'를 입력하면 아래와 같은 Graphical Desktop이 표시된다.

 

 

  다음 포스트에서는 SSH를 통한 라즈베리파이 접속에 대해서 알아보도록 하겠다.

블로그 이미지

작은 조약돌

공돌이 형과 글쟁이 동생 쌍둥이 형제의 낙서장

,

  카드 크기 밖에 안되는 컴퓨터, 35달러 컴퓨터가 있다. 바로 라즈베리파이(Raspberry Pi)라고 불리는 녀석이다. 라즈베리파이는 영국의 라즈베리파이 재단이 학교에서 기초 컴퓨터 과학 교육을 증진시키기 위해 만든 싱글 보드 컴퓨터이다. 35달러 짜리라고 무시해서는 안된다. 컴퓨터에서 할 수 있는 대부분의 일들을 처리할 수 있는 컴퓨팅 파워를 가지고 있다. 세계의 많은 사람들이 이 조그마한 컴퓨터를 가지고 로봇도 만들고, LED 전광판도 만들고, 동영상 플레이어로 쓰는 등 그 쓰임새가 아주 다양하다. 필자도 라즈베리파이를 이용한 실험 프로젝트로 컴퓨터 공학 석사학위를 받았다.

 

 

  집 TV에 노트북을 연결해서 영화나 드라마 같은걸 보려고 하니 연결할 때 마다 노트북과 전원을 들고 거실로 나와서 설치하고 다시 들고 들어가고 하는게 귀찮았다. divx를 하나 살까 고민하던 중 차라리 라즈베리파이를 사서 동영상 플레이도 하고 다른 재미난 프로젝트가 있으면 해보자 하는 마음으로 라즈베리파이를 사기로 했다.

 

  앞에서 35달러 짜리 컴퓨터라고 소개했지만 실제로 라즈베리파이를 사용하기 위해서는 그보다 더 많은 비용이 든다. 한국에서 사려고 하면 조금 더 비싼데 한 인터넷 사이트를 보니 B모델의 경우 4만 9천원에 부가가치세와 배송비를 포함해서 5만 6천원 정도에 살 수 있다. 이거는 위 사진 왼쪽에 보이는 보드 하나 가격이다. 기본적으로 필요한게 전원이랑 SD카드 인데 전원은 안드로이드 폰 충전기랑 같은 마이크로 5핀 충전기를 사용하면 된다. SD카드는 라즈베리파이의 하드디스크 역할을 하는 것으로 SanDisk의16기가 Class 10 모델을 샀다. 집에 남는 SD 카드가 있으면 그걸 활용해도 되는데 최소 2기가 이상 왠만하면 4기가 이상의 카드를 사용하는 것을 권장한다. 라즈베리파이에 사용할 수 없는 SD카드도 있는데 그 리스트는 http://elinux.org/RPi_SD_cards 에서 확인 할 수 있다. 그 외에 모니터에 연결할 RCA 영상선이나 HDMI선이 필요하고, 키보드, 마우스, 랜선 등이 필요하다. 아래는 기본 악세사리들을 연결한 라즈베리파이의 모습과 SD카드이다.

 

 

  마지막으로 라즈베리파이의 각 부위를 설명하고 다음 포스트에서 라즈베리파이에 라즈비안을 설치하는 것을 설명하도록 하겠다.

 

 ① RCA 영상단자 : TV에 라즈베리파이를 연결해서 볼때 쓸 수 있는 단자로 해상도가 낮다.

 ② 사운드 단자 : 3.5미리 스테레오 음성 단자. 스피커에 연결해서 소리를 출력한다.

 ③ USB 단자 : 2개의 USB포트가 있어서 키보드와 마우스를 사용할 수 있다. USB허브가 있으면 더 많은 장치를 사용할 수 있다.

 ④ Ethernet LAN 단자 : 유선네트워크를 연결해서 인터넷 등의 작업을 할 수 있다.

 ⑤ HDMI 단자 : HDMI 입력을 할 수 있는 모니터에 연결해서 고해상도 영상을 출력할 수 있다. ※HDMI to VGA 젠더를 이용해서 HDMI 입력 단자가 없는 모니터에도 연결 할 수 있다.

 ⑥ 전원 단자 : 마이크로 5핀 단자로 전원을 넣을 수 있다.

 ⑦ SD 카드 : 라즈베리파이의 보조기억 장치로 운영체제를 깔아야 한다.

 ⑧ GPIO 핀 : 26개의 입출력 핀이 있어서 LED를 조정 한다던지 로봇 제어를 한다던지 여러 프로젝트에 쓰인다.

블로그 이미지

작은 조약돌

공돌이 형과 글쟁이 동생 쌍둥이 형제의 낙서장

,