페이지

Showing posts with label raspberry. Show all posts
Showing posts with label raspberry. Show all posts

Monday, April 6, 2015

[2015년 상반기] [Raspberry Pi 2 로 임베디드 개발환경 구축하기#5] 프로젝트들

시작하기

무엇에 쓰는 물건인고? 라즈베리파이 2를 구매했으나  활용법을 모르는 상황이다.
물론 나 같은 경우는 임베디드 시스템을 구축하기 위해서 구매를 한 것이니 딱히 활용법을 고민하지 않아도 되지만 알아두는 것도 나쁘지 않을 것 같다. 재밌을 것 같기도 하고.
일단 네이버를 먼저 살펴보고 구글링을 해본 다음, 내용이 미흡하면 영문 사이트들을 뒤져볼 예정이다.
기본적으로 프로젝트를 진행하는 사람들을 살펴볼 예정이지만 중간 중간에 괜찮은 Tip을 찾게 되면 정리를 해 둘 예정이다. 시작해보자~

아~ 추가로 아래와 같은 책도 발간된 것을 확인했다. 책으로 공부하는 것을 선호하는 사람은 책 구매도 나쁘지 않아 보인다.
1.jpg

시작하기 전에 간단한 동영상을 하나 보고 가자. 별로 길지 않다.


포터블 미니 컴퓨터

델 노트북 전문가가 직접 제작을 해서 공개한 노트북으로 3.5인치 LCD, SSD, 키보드, 터치 패드에다가 배터리까지 내장이 되어, 정말 노트북이라고 부를 수 있을 정도로 다 갖춘 라즈베리파이 노트북이다.

게임기로 이용

개인적으로는 관심이 가는 프로젝트들이다. 만약 한번 시도해보고 싶으면 산딸기 사이트의 애뮬강좌를 시작점으로 삼는 것이 좋을 것 같다. (http://www.rasplay.org/?cat=30)

Gameboy

라즈베리파이 게임보이 : 모바일 게임기

Joybox

산딸기 공개 프로젝트로 진행된 라즈 조이박스


Recalbox

서버로 이용

산딸기에 너무 잘 정리되어 있다. (http://www.rasplay.org/)
파이 강좌에서 산딸기 서버의 하위 목록에 많은 강의자료가 존재한다.
111.png
서버는 쉽게 생각할 수 있는 활용법 이기는 하지만 안정성 측면에서 거부감이 드는 것도 사실이다.

Home Theater Personal Computer

XBMC

인터넷 상에 존재하는 다양한 컨텐츠들을 라즈베리파이를 통해서 플레이 시키는 방법. 가장 일반적으로 많이 쓰는 방식인 것 같다. 찾아보면 가장 자료가 많다. 마찬가지로 시작 포인트는 산딸기를 추천한다.

Plex

Plex라고 미디어 스트리밍을 하는 기술이 있다. (https://plex.tv)
NAS (네트워크 스토리지)에 Plex media server를 설치하고 안드로이드 폰으로 NAS의 영상을 보는 것이 하나의 동작 시나리오이다.
Rasplex를 설치하면 라즈베리파이2를 Plex 동영상 플레이어로 사용할 수 있다고 하는데 성능이 괜찮다고 한다. 아래 영상 및 링크 참조


병렬 컴퓨팅

라즈베리파이2를 여러 대 합쳐서 하나의 슈퍼 컴퓨터를 만드는 프로젝트이다.
개인 사용자가 시도해볼 것 같지는 않다. 병렬 컴퓨팅이나 분산 컴퓨팅을 공부하는 사람이라면 관심 가질지도?

기타

주변기기 제어

앱을 통해 소켓통신으로 전달된 데이터가 라즈베리파이에서 RF 시그널로 바뀌어 주변기기를 제어하는 것 같다. 산딸기에서 진행된 협업 프로젝트. 유투브를 찾아보면 비슷한 프로젝트들이 많이 있다.

전자앨범

로봇제어

트랙킹 로봇

물체를 트랙킹하는 로봇이다. 고개를 까딱까딱하는 것이 포인트.

큐브로봇

오~! 개인적으로는 재밌게 봤다. 자동으로 큐브를 맞춰준다.

A Pi’s EYE View

천문학?? 모르겠다. 그냥 기구에 라즈베리파이를 묶어서 활용을 하는 프로젝트다.

See Also


지금까지 라즈베리파이의 활용법을 살펴봤다. 생각보다 노멀한 사용법이 많았고 괜찮다고 생각되는 아이디어들도 직접 시도해보기에는 좀 힘들 것 같다.

2015.04.07

Monday, March 30, 2015

[2015년 상반기] [Raspberry Pi 2 로 임베디드 개발환경 구축하기#4] NOOBS 설치하기

들어가기전에

Raspberry Pi 2 가 도착한 건 약 2주 전이다. 그런데 사는게 바빠서 이제야 관련 포스팅을 한다. 이 속도로 과연 전반기에 프로젝트를 마무리할 수 있을 것인가.
Raspberry Pi 2의 패키지의 첫인상은 '굉장히 귀엽다' 였다. 나 같은 경우는 방열판까지 같이 구매를 했는데 엄청 큰 택배 박스를 개봉하니 조그만 Raspberry Pi 2 박스와 귀여운 방열판들을 볼 수 있었다.


귀여운 박스를 개봉하니 간단한 사용설명서와 포장된 Raspberry Pi 2를 볼 수 있었다. 예상했지만 조촐한 구성품이다.


Raspberry Pi 2의 크기는 생각보다 크지 않았다. 박스 자체가 담배갑 정도의 크기였는데 Raspberry Pi 2는 그것 보다도 훨씬 날씬(?) 했다.


구매시에는 SD 카드를 사용하면 될 줄 알았는데 micro SD 카드만을 삽입할 수 있도록 되어 있었다. 부랴부랴 스마트폰에 있는 micro SD 카드를 사용했다. 대충 알아보고 사면 이런 사태가 발생한다;;

장담하건데 가장 심플한 형태(?)의 Raspberry Pi 2 구성이다. 이것보다 심플할수가 없다. 메인보드에 3개의 연결만이 된 상태이다.
  1. USB 충전단자 : Raspberry Pi 2에 전원을 공급하는 용도
  2. HDMI 케이블 : 화면 출력을 보기 위해서
  3. 무선 키보드 & 마우스 리시버



자. 이제 환경은 셋업이 되었으니 OS를 설치해보자.

OS 설치 준비하기

일단 공식사이트에 접속한다. 다운로드 페이지로 이동하니 아래의 문구가 적혀있다. 

    "Beginners should start with NOOBS"

NOOBS는 'New Out Of the Box Software'라고 한다. 처음에는 NOOBS로 시작 해야하나 보다. 시키는 데로 하자. 대충 설명을 읽어보니 Raspbian OS의 경우 인터넷 연결없이 설치가 가능하고 다른 OS의 경우는 인터넷을 연결해야한다고 한다. 랜케이블이 없으니 일단 Raspbian OS를 설치해야 하는군...

NOOBS 설치 설명서는 아래 링크에 가면 자세히 설명이 되어 있다.
  • http://www.raspberrypi.org/help/noobs-setup/
요약하자면 아래의 시퀀스로 진행된다.
  1. 다운로드
  2. SD카드 포맷
  3. NOOBS 파일들을 SD카드로 복사
  4. 인스톨
다운은 다운로드 페이지에서 다운을 받으면 되고 다운받은 압축파일을 압축해제한 다음 SD카드로 옮기는 건 식은죽 먹기다. 다만 머리가 아픈 부분은 SD카드 포맷 부분인데 사용설명서에는 'SD Formatter 4.0'로 포맷을 하라고 한다. 시키는데로 하는 것이 정신건강에 좋겠지. 'SD Formatter 4.0'로 micro SD카드를 포맷하는 부분은 스킵하겠다.

OS 설치하기

정상적으로 sd카드가 준비가 되었다면 부팅시 아래 화면을 만나게 된다. 고민하지 않겠다. 'RECOMMENDED'라는 매력적인 단어로 포장된 Raspbian을 체크하고 인스톨하자.



인스톨 버튼을 클릭하면 프로그래스바가 나타나면서 점점 게이지가 차오른다.


중간중간에 화면이 계속 바뀌면서 간단한 소개 및 팁들을 설명해준다. 인스톨은 약 10분에서 15분 정도 소비되는 것 같다.


설치 끝!


그러면 재부팅이 일어나면서 아래와 같은 콘솔화면을 만나게 된다. 리눅스를 다뤄본 사람이라면 굉장히 익숙한 화면일꺼다.


그러다가 갑자기 아래와 같이 익숙하지 않은 화면이 나온다. Raspberry Pi configuration menu (raspi-config)라고 하는데 오버클럭 등을 설정할 수 있는 메뉴다. 현재로써는 별로 손댈만한 것이 없다. Finish 버튼으로 콘솔창으로 나온다.


콘솔창에서 아래 명령을 치면 GUI 환경으로 넘어갈 수 있다.

startx

아래가 GUI 환경이다. 이것저것 살펴봤는데 터미널부터 시작해서 계산기, python 콘솔, 심지어 마인크래프트까지 존재했다. 브라우저도 있기는 했는데 네트워크가 연결되어 있지 않아서 별도로 테스트 해보지는 않았다.


성능은 생각보다 괜찮은 것 같았다. 마인크래프트를 잠시 만져봤는데 CPU 사용률이 25%를 넘어가지 않는 것 같았다. (우측 상단의 숫자가 CPU 사용률이라면) 조그만 리눅스 PC가 하나 더 생긴 것 같은 느낌이다. 이번 포스팅은 이것으로 마치고 다음 포스팅에서는 Raspberry Pi 2로 실제로 해볼 수 있는 프로젝트들을 찾아서 소개해보겠다.

2015.03.31 

[2015년 상반기] [Raspberry Pi 2 로 임베디드 개발환경 구축하기#3] Yocto 프로젝트

들어가기전에

라즈베리파이를 구매하고 느낀건데 내가 알던 임베디드 보드와는 조금 다른 것 같다. 시리얼 케이블을 연결할수도 없고 외장 메모리 카드만을 이용해서 환경을 셋업해야 한다. 임베디드 보드 보다는 작은 PC에 가까운 느낌이다. 관련된 내용은 차차 다뤄보기로 하고 오늘은 Yocto 프로젝트에 대해서 간략히 살펴보자.

고백하자면 맨땅에 해딩하지는 않을 예정이다. 아래 책을 우선 살펴볼 예정이고 심화내용은 공식사이트나 구글링을 통해 얻어올 예정이다. 책을 얼핏 살펴봤는데 읽는데 오래 걸릴 것 같지 않고 쉽게 작성된 것 같았다.

< Yocto 프로젝트를 활용한 임베디드 리눅스 개발 >

 Yocto 프로젝트의 목적 및 제공해주는 기능은 다음과 같다.
  • 목적 : 사용자 맞춤 (임베디드) 리눅스 배포판을 쉽게 개발
  • 제공 : 오픈소스패키지, 템플릿, 인프라, 툴, 방법

 조금 더 프로그래머 식으로 표현하면 아래와 같다.


Yocto는 대부분의 내용을 자체적으로 구성하기 때문에 호스트 환경에 따른 차이가 거의 없다고 주장한다. Poky라는 Yocto 프로젝트의 레퍼런스 시스템이 존재하며 아래와 같은 다른 프로젝트들을 내부적으로 사용한다.
  • bitbake : 작업 스케쥴러
  • meta : 오픈임베디드코어 메타레이어
  • meta-yocto : Yocto 메타레이어
  • meta-yocto-bsp : Yocto BSP 메타레이어
이렇게 정리해봐야 직접해보기 전에는 아무것도 모르겠다. 내용 정리는 그만하자. Poky 레퍼런스 시스템은 기본적으로 QEMU를 지원하기 때문에 실제로 간단한 형태의 이미지를 만들어서 QEMU 위에서 구동시켜보자.

환경설정

우선 자신의 환경을 확인한다. 아래 명령으로 쉽게 확인 가능하다.

    kkangeva@kkangeva-linux:~$ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description: Ubuntu 14.04.2 LTS
    Release: 14.04
    Codename: trusty

본인의 환경을 확인했으면 Poky를 설치하기 위한 최소한의 패키지들을 설치한다. HOST 환경에 따라서 설치해야하는 패키지가 조금씩 다르다. 공식 사이트를 확인해서 패키지를 설치하는 것이 가장 빠른 지름길이다. (링크)

만약 본인의 환경이 없다면 본인의 환경을 과감히 포기하는 걸 추천한다. 시작도 하기전에 힘이 빠져버릴 수도 있다. 패키지를 가져왔다면 특정 디렉토리에 poky를 가져온다. 나의 경우는 ~/project/raspberry 디렉토리에서 아래 명령을 수행했다.

    kkangeva@kkangeva-linux:~/project/raspberry$ git clone git://git.yoctoproject.org/poky

빌드하기

빌드를 위해서는 빌드에 관련된 환경변수들을 셋업해줘야 하는데 관련된 명령어들이 하나의 스크립트로 존재한다. oe-init-build-env 스크립트가 그 녀석이다. 빌드전에 꼭 수행시켜주자. 다만 주의해야할 점은 oe-init-build-env 스크립트는 디렉토리명을 인자를 받는다는 것이다. 디폴트는 build이고 다른 디렉토리명을 주면 다른 디렉토리를 기준으로 빌드환경이 구성된다.

    kkangeva@kkangeva-linux:~/project/raspberry/poky$ . oe-init-build-env

이제 GUI 빌드 프로그램이 hob을 실행할 준비가 되었다. 이미 빌드환경 등은 셋업이 되었기 때문에 hob을 통해서 빌드를 진행할 수 있다.

    kkangeva@kkangeva-linux:~/project/raspberry/poky$ hob

그럼 아래와 같은 GUI 빌드환경이 나타난다. 우리는 지금 Yocto가 어떤 녀석인지 확인만 할 예정이기 때문에 상세한 사용방법 등은 무시하고 지나간다. 아래와 같이 두 개만 설정하자.

  • Select a machine : qemuarm
  • Select an image recipe : core-image-full-cmdline


그리고 우측하단의 build image 버튼을 클릭하면 본격적으로 빌드를 시작한다. 실제로 빌드를 하게 되면 시간이 많이 걸린다. 리눅스 노트북을 통해서 빌드를 걸었는데 자기 전에 걸어놓고 아침에 확인해봤더니 빌드가 끝나지 않은 상태였다. 시간이 오래 걸리지만 패키지들만 모두 설치가 되었다면 빌드는 될 것이다.

빌드화면에서는 Build configuration이나 Issues, Log 등을 확인할 수 있다. Build configuration을 첨부하니 혹시라도 문제가 있다면 비교해보자.


Log 창을 열어보면 빌드가 진행중임을 알 수 있을 것이다.


별문제가 없이 빌드가 되었으면 다음의 화면을 만난다. 이 화면을 만났다는 것은 qemuarm 시스템에서 구동되는 core-image-full-cmdline 이미지가 만들어 졌다는 것이다.


구동하기

우선 빌드된 이미지들을 찾아보자. 나의 경우 아래의 디렉토리에서 빌드된 이미지를 찾을 수 있었다. 최초에 poky를 인스톨한 디렉토리에 의존적인 부분이니 잘 찾아보자.

    ~/project/raspberry/poky/build/tmp/deploy/images/qemuarm

해당 디렉토리에 보면 커널이미지와 rootfs 이미지를 확인할 수 있다.


커널 이미지와 rootfs 이미지를 이용해서 QEMU를 실제로 구동시켜 보자. 명령어는 아래와 같다.

    $ runqemu qemuarm zImage-qemuarm.bin core-image-full-cmdline-qemuarm.ext4

위 명령을 치면 아래와 같이 QEMU가 구동되면서 시스템 초기화에 들어간다. 로그인 창이 나올때까지는 약간의 시간이 걸린다.


나왔다! root로 로그인해서 이것 저것 해보는 스크린샷이다. 뭐. 별로 해볼 건 없군.


여기까지 Yocto를 이용해서 QEMU에 구동되는 이미지를 만들어 봤다. 휴우... 아직 갈 길이 멀다.
2015.03.30

Wednesday, March 18, 2015

[2015년 상반기] [Raspberry Pi 2 로 임베디드 개발환경 구축하기#2] 구매기

 순수하게 라즈베리파이를 구매하기 위한 정보를 모은 포스팅이다.

 우선 라즈베리파이(Raspberry Pi)는 '영국의 라즈베리파이 재단이 학교에서 기초 컴퓨터 과학 교육을 증진시키기 위해 만든 싱글보드 컴퓨터'라고 한다. 그외 추가 정보를 얻기 위해서 공식 사이트에 들어가봤다.

 공식사이트는 http://www.raspberrypi.org 이다. 얼핏 살펴본 바로는 공식 사이트가 생각보다 잘 만들어져 있다. 너무 방대한 정보가 있어서 필요할 때마다 조금씩 살펴보는 것이 건강에 좋을 것 같다. 나중에 시간되면 라즈베리파이로 이상한 짓(?)을 하는 사람들을 포스팅해봐야지.

 우선 현재까지 판매중인 제품의 종류는 다음과 같다.
  1. RASPBERRY PI 2 MODEL B : 2015년 2월 출시
  2. RASPBERRY PI 1 MODEL B+ : 2014년 7월 출시
  3. RASPBERRY PI 1 MODEL A+ : 2014년 11월 출시
  4. CAMERA MODULE : 카메라 모듈
  5. PI NOIR CAMERA : 적외선으로 야간 촬영이 가능하다고 한다.
  6. COMPUTE MODULE : 비즈니스 용이라고 함. 일단 무시
 위의 녀석들이 현재 판매 중인 것 같은데 단종된 모델들도 있다. 대충의 상황을 종합해보면 아래와 같다.
  • High-End : Model B --> Model B+ --> 2 Model B
  • Low-End : Model A --> Model A+
 아직 2 Model A가 발매되지는 않은 것 같은데 기존 히스토리를 보면 5월이나 6월 즈음에 발매할 수도 있을 것 같다. 현재 구매 가능한 것이 총 5개 정도가 된다는 것인데 뒤통수를 조심하려면 잘 알아보고 구매해야할 것 같다. 이를 위해서 하드웨어 스팩을 확인해보는 것이 중요할 것 같다. 
  • 스펙 메인 페이지 : http://www.raspberrypi.org/products/raspberry-pi-2-model-b/
  • CPU : A 900MHz quad-core ARM Cortex-A7
  • RAM : 1GB
 각 모델의 벤치마크 성능은 다음 링크를 확인하자. 요약하면 2 Model B가 기존 모델 및 다른 제품들에 비해서 월등히 좋아졌다고 한다. 여기는 CPU 결과만 첨부한다.
  • http://www.davidhunt.ie/raspberry-pi-2-benchmarked/
Screen Shot 2015-02-04 at 12.52.14

CPU_Pi2

 공식사이트에서 포스팅한 내용을 보면 (http://www.raspberrypi.org/raspberry-pi-2-on-sale/) 35달러에 구매를 할 수 있단다. 3월 16일 현재 환율로 치면 4만원 정도하는 가격이다.

 한국에서는 네이버에서 검색을 해봤더니 최저값이 5만원 정도 나온다. 미국 가격은 세금이 빠진 가격이니까 엄청 손해보는 느낌은 아니다. 단지 한국에서는 이것저것 옵션으로 끼워팔고 있어서 생각없이 구매하게 될 경우 가격이 많이 오른다. 나같은 경우, 아직 어떤 프로젝트를 할지 결정된 바 없기 때문에 최대한 심플하게 패키지를 구성할 예정이다. 최소한은 다음과 같다.

  1. 당연히 본체
  2. 메모리카드 : 4G 정도면 충분한 것 같다
 기타 방열판 및 케이스도 사용하는 사람이 많던데... 굳이 필요할까 싶다. 집에 메모리 카드는 있으니까 본체만 사고 나머지는 필요할 때 구매해야겠다.

2015.03.18

Friday, March 13, 2015

[2015년 상반기] [Raspberry Pi 2 로 임베디드 개발환경 구축하기#1] 시작하기

임베디드 보드에 관심이 많아서 이것 저것 구매는 했었는데 결과는 신통치 않았다.
아래는 내가 구매해본 것들 ...


  • 10년 전에 FALinux의 EZ 보드
  • 7년 전에 오드로이드
  • 4년 전에 비글보드
  • 4년 전에 아두이노


EZ 보드의 경우, 그래도 학부 단기 프로젝트에 써먹었는데 다른 녀석들은 구매해놓고 쳐박아 뒀다.
반성반성...이번에는 의지를 가지고 좀 열심히 해봐야지.

최근 나의 관심을 끈 녀석은 라즈베리파이다.
가격도 저렴하고 이 녀석을 가지고 이것 저것 해보는 사람들이 넘쳐난다.
기존 보드들은 국내에서 사용자가 그리 많지 않았던 것 같은데
라즈베리파이의 경우는 국내에서도 자리를 잡은 것 같다.

But 라즈베리파이로 해보고 싶은 것이 아직 구체적이지는 않다.
다만 아래 키워드가 핵심이다.

Yocto 프로젝트 + 라즈베리파이2

우선 조금 더 조사해보고 할만한 아이템을 선정해야지.
아래는 지금 생각 중인 다음 포스팅 주제들이다...


  1. 라즈베리파이2 프리뷰 및 구매기
  2. 라즈베리파이2 리뷰
  3. Yocto 프로젝트 소개
  4. 라즈베리파이2 개발환경 셋업
  5. ...
2015.03.13