84 라즈베리파이는그래픽성능이뛰어나면서도저렴한가격 ( 모델 A 의경우 25 달러, 모델 B 의경우 35 달러 ) 이라는특징을갖고있다. 세부적으로좀더자세히특징을살펴보면브로드컴의 BCM2835 단일칩시스 템을사용하며, 이칩에는 ARM1176JZF-S 700 MHz 프로세서

Similar documents
Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Microsoft PowerPoint - chap01-C언어개요.pptx

라즈베리파이 프로그래밍_130912(최종).indd

슬라이드 1

벤처연구사업(전동휠체어) 평가

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

PowerPoint Presentation

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint - aj-lecture1.ppt [호환 모드]

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

ConnectCore i.mx53 / Wi-i.MX53 Freescale i.mx53 Cortex A8 system-on-module 네트워크가가능한 i.mx53 ConnectCore는새로운프리스케일 i.mx53 Application 프로세서기반인고성능 32-bit S

슬라이드 제목 없음

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

슬라이드 1

4S 1차년도 평가 발표자료

안전을 위한 주의사항 제품을 올바르게 사용하여 위험이나 재산상의 피해를 미리 막기 위한 내용이므로 반드시 지켜 주시기 바랍니다. 2 경고 설치 관련 지시사항을 위반했을 때 심각한 상해가 발생하거나 사망에 이를 가능성이 있는 경우 설치하기 전에 반드시 본 기기의 전원을

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft Word - 임베디드월드_WindowsEmbeddedCompact7_rev

PowerPoint 프레젠테이션

로봇SW교육원 강의자료

Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다.

K_R9000PRO_101.pdf

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

ICT03_UX Guide DIP 1605

PowerPoint Presentation

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Microsoft PowerPoint - java1-lecture1.ppt [호환 모드]

PowerPoint 프레젠테이션

슬라이드 1

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

Microsoft PowerPoint - 권장 사양

DE1-SoC Board

Learn Raspberry Pi with Linux by Peter Membrey, David Hows Original English language edition published by Apress, Inc. Copyright c 2013 by Apress. Kor

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

서현수

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

슬라이드 1

Microsoft PowerPoint - java1-lecture1.ppt [호환 모드]

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

컴퓨터과학과 교육목표 컴퓨터과학과의 컴퓨터과학 프로그램은 해당분야 에서 학문적 기술을 창의적으로 연구하고 산업적 기술을 주도적으로 개발하는 우수한 인력을 양성 함과 동시에 직업적 도덕적 책임의식을 갖는 IT인 육성을 교육목표로 한다. 1. 전공 기본 지식을 체계적으로

스마트 IoT 사물통신실습시스템사양 휴인스의 Smart IoT 설계시스템은 Gateway(Raspberry Pi) 와 8 종의센서, 7 종의액츄에이터, 다양한주변장비로구성된다. 5 종의설계 / 실습과제를통합시스템에서직접설계및실습할수있는환경을제공하고, 사용자가설계한시스템

PowerPoint 프레젠테이션

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

슬라이드 1

JDK이클립스

라즈베리파이_내지_ indd

슬라이드 1

Spring Boot

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

PowerPoint 프레젠테이션

슬라이드 1

라즈베리파이를이용한사물인터넷_내지(1도)_최종_ indd

5" TFT- LCD 및감압터치지원 : 800x480 USB Host 2.0, USB OTG 2.0, GPS, Wireless LAN, Ethernet 10/100Mbps 통신지원 300 만화소 CMOS Image Sensor 고해상도카메라모듈내장 전원은베이스보드에서공

<4D F736F F F696E74202D20332DC1F6B9DDC1A4BAB8BDC3BDBAC5DB>

PowerPoint 프레젠테이션

초보자를 위한 C++

고급 프로그래밍 설계

[Brochure] KOR_TunA

52 l /08

Microsoft PowerPoint - java1-lecture1.ppt [호환 모드]

Technology & Developer 02 Technology & Developer 자바를활용한 M2M 디바이스제어 ORACLE KOREA MAGAZINE Summer 자바를활용한 M2M 디바이스제어 웨어러블디바이스, 스마트워치, 스마트그리드, 전기자

슬라이드 1

PowerPoint 프레젠테이션


iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고

PLC Robot Starter Quick Guide

파워포인트

PowerPoint Template

ESP1ºÎ-04

Install stm32cubemx and st-link utility

Microsoft PowerPoint - Windows CE Programming_2008 [호환 모드]

CONTENTS 목차 1. 전원 및 설치시 주의사항 2 2. 시스템 사용시 바른 자세 4 3. 시스템 구성품 확인 5 슬림형 케이스1 6 슬림형 케이스2 7 타워형 케이스1 8 타워형 케이스2 9 일체형 케이스1 10 망분리형 케이스 시스템 시작 및 종료

PowerPoint Presentation


810 & 는 소기업 및 지사 애 플리케이션용으로 설계되었으며, 독립 실행형 장치로 구성하거 나 HA(고가용성)로 구성할 수 있습니다. 810은 표준 운영 체제를 실행하는 범용 서버에 비해 가격 프리미엄이 거의 또는 전혀 없기 때문에 화이트박스 장벽 을

Microsoft Word _기술동향분석_우분투_유정목[1]

슬라이드 1

1

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

Microsoft Word - Armjtag_문서1.doc

<B1D7B7A1C7C8C4ABB5E5BBE7BEE72E786C7378>

Report Designer V3.0 사용설명서 2장

디지털TV솔루션 브로셔

목 차 1. 안전을 위한 주의사항 2. 사 전에 2-1. 제품 특징 2-2. 제품 구성 2-3. 각 부분의 명칭 전 뷰어 / 뷰어 설정 전 뷰어 / 환경 설정 환경설정 본 값 재생방법 (블랙박스) 3-15.

Motor Control Solution

<그림 1> 윈도우 10 기반의 IoT 플랫폼 새롭게 출시된 세 개의 플랫폼 중 가장 흥미로운 플랫폼은 그 동안 코드명 아테네(Athens) 로 알려졌던 Windows 10 IoT Core(이하 Windows IoT Core) 플랫폼이다. 이 플랫폼은 오랫동안 개발자들

USB 케이블만을이용한리눅스 NFS 개발환경 (VirtualBox) 최초작성 : 2010 년 10 월 21 일 작성자 : 김정현 수정내용 최초작성 by 김정현 스크립트추가, 설명보충 by 유형목 1. VritualBox

Microsoft Word - PEB08_USER_GUIDE.doc

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

PowerPoint 프레젠테이션

PowerPoint Template

Transcription:

Technology & Developer 03 전세계개발자를열광시킨 Raspberry Pi 와 Java Technology 의활용 초소형컴퓨터라즈베리파이 (Raspberry Pi) 의열풍이뜨겁게불고있다. 2012 년초처음발매이후 벌써 100 만대이상이판매되었으며, 이미해외나국내의발빠른개발자들은이작은컴퓨터를 이용하여다양한창작품들을만들어내고있다. 그리고얼마전구글 (Google) 이영국의어린이 프로그래밍교육을위해라즈베리파이 15,000 대를기부했다는소식도언론에소개되고있는것을 보니, 그열풍을쉽게가늠해볼수있을것같다. 도대체신용카드한장보다조금큰크기에불과한 이작은컴퓨터가무엇이기에이렇게화제를만들어내는걸까? 본고에서는최근개발자들사이에서 화제가되고있는라즈베리파이에대하여자세히알아보고, 최신의 Java 기술을이용하여이를좀더 다양하게활용할수있는방법에대하여알아보고자한다. 저자 - 최승호컨설턴트, 한국오라클 Java Embedded GSU(seungho.choi@oracle.com) 라즈베리파이 (Raspberry Pi) 란? 라즈베리파이는영국의라즈베리파이재단이학교에서기초컴퓨터과학교육을증진시키기위해서만 든, 신용카드한장크기정도의기판으로제작된싱글보드컴퓨터이다. 기본적으로작은회로보드, ARM 기반의 CPU, 그래픽프로세서, 이더넷, 그리고몇가지핀과포트로구성된단순한형태의 PC 이지만, 데스 SDCard Slot Power General Purpose I/O < 그림 1> 라즈베리파이모델 B RCA Video HDMI Audio USB Ethernet 크탑 PC 가할수있는많은것들을라즈 베리파이에서도할수있다. 운영체제 (OS) 는일반적으로리눅스를탑재하는 경우가많지만, 오픈소스 PC 인만큼안 드로이드를탑재하여사용하기도한다. < 그림 1> 은라즈베리파이모델 B 를나타 내고있으며, 그림에서볼수있듯이화 면출력을위한 HDMI 포트를비롯하여 다양한입출력포트등이내장되어있는 것을확인할수있다. 83

84 라즈베리파이는그래픽성능이뛰어나면서도저렴한가격 ( 모델 A 의경우 25 달러, 모델 B 의경우 35 달러 ) 이라는특징을갖고있다. 세부적으로좀더자세히특징을살펴보면브로드컴의 BCM2835 단일칩시스 템을사용하며, 이칩에는 ARM1176JZF-S 700 MHz 프로세서, 비디오코어 IV GPU 와 RAM 이들어있다. 라 즈베리파이는하드디스크나솔리드스테이트드라이브를비롯한내장디스크드라이브를포함하고있 지않으며, SD 카드를운영체제를포함한데이터를담기위한외부저장장치로사용하고있다. 와이파이 와블루투스모듈이빠져있는것이아쉬운부분이지만, 별도로판매하는모듈을사용하면이러한기능들 도추가해서사용할수있다. 라즈베리파이재단은컴퓨터교육증진을위해 2 가지모델을시중에출시하 였으며, 각각 25 달러 (256MB RAM) 와 35 달러 (512MB RAM) 의저렴한가격으로책정하였다. 라즈베리파이 의자세한하드웨어스펙은아래와같다. 목표가격 US $25 US $35 SoC 브로드컴 BCM2835 (CPU, GPU, DSP, 그리고 SDR SDRAM) CPU 700 MHz ARM1176JZF-S core (ARM11 계열 ) GPU 브로드컴비디오코어 IV, OpenGL ES 2.0, 1080p30 h.264/mpeg-4 AVC 높은프로파일디코더 메모리 (SDRAM) 256MB (GPU 와같이사용 ) 512MB (GPU 와같이사용 ) USB 2.0 Ports 1 2 ( 내장 USB 허브하나제외 ) 비디오출력컴포지트 RCA (PAL & NTSC), HDMI (rev 1.3 & 1.4), 액정디스플레이를위한디스플레이시리얼인터페이스 640 350 부터 1920 1200 이상의 14 개의 HDMI 해상도와여러 PAL, NTSC 표준들 오디오출력 내장저장장치 3.5mm 잭, HDMI SD/MMC/SDIO 카드슬롯 내장네트워크 None 10/100 이더넷 (RJ45) 로우레벨주변장치 8 GPIO, UART, I²C 버스, 2 개의칩을선택할수있는 SPI, +3.3 V, +5 V, 접지 전력 500mA (2.5W) 700mA (3.5W) 전원 크기 무게 지원중인운영체제 < 표 1> 라즈베리파이의하드웨어스펙 MicroUSB 에서받는 5 볼트혹인 GPIO 헤더 85.60 53.98mm 라즈베리파이재단측에서는라즈베리파이에포팅한데비안 (Debian) 과아치 (Arch) 리눅스, QtonPi 등의 리눅스배포판을제공하고있으며, 라즈베리파이의주프로그래밍언어인스크래치 (Scratch), 파이썬에 BBC 베이직 (Basic), C, 펄 (Perl) 등을지원할수있는툴들을계획중에있다. 라즈베리파이는비상업적환경에서다양한분야에응용될수있다. 라즈베리파이를이용하여약간의프 로그래밍과정을거쳐게임을조작할수있는게임패드를만들기도하고, XBMC 를설치해미디어센터로 활용하거나, 정해진시간마다화분에물을뿌려주는간이스프링클러등을제작하기도한다. 이외에도 센서와 LCD 패널을연결하여온도 / 습도계를만들어내는등, 사용자가상상하는것그대로라즈베리파이 를이용하여손쉽게다양한형태의창작물들을만들어낼수있다. 45g Debian GNU/Linux, Fedora, Arch Linux ARM, RISC OS

< 그림 2> 라즈베리파이를활용한다양한창작물들 < 그림 2> 는라즈베리파이를이용하여만들어진다양한형태의창작물들을나타내고있으며, 그림에서볼수있듯이라즈베리파이를이용하여게임콘솔부터미니노트북, 심지어슈퍼컴퓨터에이르기까지다양한형태의결과물들이만들어지고있다. 지금이시간에도다양한형태의창작물들이만들어지고있을뿐만아니라, 여러커뮤니티들을통하여국내개발자들의활동도꽤나활발하게이루어지고있다. 그럼이제, 라즈베리파이를활용할수있도록운영체제를설치하는방법을알아보자. 라즈베리파이환경준비서두에서언급하였다시피라즈베리파이는기본적으로하드웨어만을제공하기때문에, 이를활용하기위해서는공식사이트에서제공하는운영체제를설치해주어야한다. 오픈소스 PC인만큼안드로이드 OS를비롯하여다양한오픈소스기반의운영체제를설치할수있지만, 공식사이트에서는리눅스커널기반의운영체제만을제공한다. 라즈베리파이에설치할수있는 OS는공식사이트 (http://www.raspberrypi.org/downloads) 에서확인및다운로드할수있으며이글을쓰고있는현재, 공식사이트에서는다음의네가지버전의리눅스배포판을제공한다. Raspbian wheezy Soft-float Debian wheezy Arch Linux ARM RISC OS 각각의배포판에대한자세한설명은라즈베리파이의공식사이트에서참조할수있으며, 이글에서는 Raspbian wheezy 리눅스를기준으로설명한다. Note : Raspbian wheezy 는데비안 (Debian) 리눅스를라즈베리파이에맞게최적화한버전이며, LXDE, Midori, 개발자도구및멀티미디어기능그리고예제소스코드들을포함하고있다. 85

86 < 그림 3> Raspbian "wheezy" 다운로드페이지 라즈베리파이에운영체제를설치하는방법은다음과같다. ➊ 설치하고자하는리눅스의이미지를다운로드받는다. < 그림3> ➋ 다운로드받은이미지파일을 dd(unix Tool) 나 Win32DiskImager(Windows Tool) 를이용하여 SD 카드에운영체제를설치한다. 예를들어 dd를이용한다면, 아래의명령어로 SD카드에운영체제를설치할수있다. $ddbs=1mif=[ 라즈베리파이 OS Image 의 Path] of=[sdcard의 path] ➌ 운영체제의설치가완료된 SD카드를라즈베리파이의 SD카드슬롯에넣어준후, MicroUSB 형태의전원케이블을입력한다. Note : 라즈베리파이에는별도의 On/Off 스위치가없다. ➍ 전원을입력하면, 화면에부팅과관련된메시지들이출력되며, 부팅과정이완료된후아이디 / 패스워드를물어보게된다. 이때기본값은 pi/raspberry이다. ➎ 최초부팅단계에서로그인이완료되면, 자동으로라즈베리파이의설정페이지 (rasp-config) 가실행된다.< 그림4> 설정페이지에서다음의항목을추가로설정한다. 참고로설정페이지는이후 sudo raspi-config를이용하여다시실행할수있다. < 그림 4> raspi-config 환경설정페이지 a. expand_rootfs: root 파티션을확장한다.( 실제 Resize 작업은이후의재시작단계에서수행된다.) Note : expand_rootfs는필수적으로실행해야하는작업이다. 왜냐하면, SD카드에올렸던이미지는 2기가바이트로크기가고정되어있어서, 메모리카드의용량에상관없이 2기가바이트의크기로파티션이설정되기때문이다. expand_rootfs를실행하면이후의재시작단계에서파티션의크기를최대로확장시켜준다.

b. change_timezone: Timezone을설정한다. c. memory_split : CPU와 GPU에서사용하게될메모리의양을설정한다. 3D 환경이나복잡한그래픽연산, 비디오디코딩의작업이필요할경우 GPU에 128MB를할당한다. 다음단계에서다루게될 JavaFX 애플리케이션을원활하게실행하기위해서는 128MB의메모리를할당한다. d. ssh: SSH서버의실행여부를설정한다. e. boot_behavior: X-Windows Desktop의자동실행여부를설정한다. f. Finish를선택하여라즈베리파이의설정을완료한다. ➏ 에디터를실행하여 /boot/config.txt 파일을수정한다. 예를들어라즈베리파이의콘솔이나 SSH에서 vi 에디터를사용한다면, 다음의커맨드를실행하여파일을수정할수있다. $ sudo vi /boot/config.txt a. /boot/config.txt 파일의여러항목중, 아래의항목을찾아주석 (Comment) 을제거한다. framebuffer_width=1280 framebuffer_height=720 이단계까지완료하면, 이제라즈베리파이를사용하기위한준비는끝난상태이다. 아래의커맨드를입력하여라즈베리파이를재시작하여, 변경한설정값을적용한다. $ sudo shutdown r 자바개발킷 (Java Development Kit) 설치자바 (Java) 가다른프로그래밍언어와비교하여가지는가장중요한특징중하나는자바는플랫폼에독립적인방향으로설계되었다는것이다. 자바로작성된애플리케이션은자바를지원하는모든운영체제에서별도의코드수정없이실행될수있으며, 그어떤언어로작성된프로그램보다훨씬이식성이뛰어나다는장점을가진다. 자바로작성된애플리케이션은실행할플랫폼의개수에상관없이한가지의소스코드만있으면된다. 다른프로그래밍언어의경우에는애플리케이션을각각의플랫폼에서실행하기위해서여러가지의소스코드가필요하다. 특히다양한 GUI가연관되어있는경우나다양한하드웨어스펙이존재하는임베디드시스템의경우이러한이식성은커다란강점이자장점이될수있다. 자바의중요한두번째특징은자바가객체지향적 (Object Oriented) 이라는것이다. 객체지향프로그램은이해하기쉬우며, 유지보수와확장이필요할때소모되는시간을줄여준다. 라즈베리파이재단에서배포하는리눅스운영체제에는기본적으로 Java가설치되어있지않기때문에 Java 애플리케이션을개발하기위해서는우선라즈베리파이에자바개발킷 (Java Development Kit) 을설치하여야한다. 87

88 얼마전오라클은 Java SE8 Developer Preview for ARM 버전을릴리즈하였다. Java SE8 for ARM버전은임베디드 (Embedded) 시스템에서동작하는애플리케이션을개발하기위한최적의플랫폼을제공한다. 이릴리즈는또한라즈베리파이와같이 ARM 프로세서를사용하는리눅스시스템에서동작하는 GUI 애플리케이션의개발을지원하기위한 JavaFX for Linux를포함하고있다. 또한 OpenGL 기반의그래픽가속기능을제공하기때문에복잡한 3D나 2D 그래픽을포함하는애플리케이션의제작에도적합한개발환경을제공하고있다. Note : JavaFX는자바언어를기반으로하는 RIA(Rich Internet Application) 개발툴킷으로써다양한 UI 컴포넌트들과미디어처리를지원한다. 기존의 Java Swing과비교하였을때, 보다간편한방법으로 UI를구성할수있으며, 고수준의그래픽작업을수행할수있다. Java 8에서는 JavaFX 8이자바의기본 UI로제공될예정이다. 라즈베리파이에 Java SE8 for ARM을설치하는방법은다음과같다. ➊ http://jdk8.java.net/fxarmpreview/ 에서 JDK8(with JavaFX) for ARM 버전 < 그림 5>JDK & Sample 다운로드페이지 과샘플을다운로드한다.< 그림 5> ➋ 다운로드받은 JDK 파일을아래의명령어를순서대로실행하여설치한다. $ mkdir -p /opt $sudotarzxvffx_ea_download_file_name-c/opt ➌ 설치가완료되면, 아래의명령어를실행하여다운로드받은설치파일을제거한다. $ rm fx_ea_download_file_name ➍ 정상적으로 Java가설치되었는지아래의명령어를실행하여확인한다. $ sudo /opt/jdk1.8.0/bin/java version 정상적으로설치가되었을경우아래와같은메시지가화면에출력된다. java version "1.8.0-ea" Java(TM)SERuntimeEnvironment(build1.8.0-ea-b36e) JavaHotSpot(TM)ClientVM(build25.0-b04,mixedmode)

< 그림 6> Java SE8 for ARM 에포함되어있는 JavaFX 기반의애플리케이션 자바의설치를완료하였다면, 다운로드받은샘플애플리케이션들을실행해볼수있다. < 그림6> 은 Java SE8 for ARM에포함되어있는 JavaFX 예제애플리케이션을라즈베리파이에서실행해본것이며, PC 데스크탑환경에서볼수있는결과와동일한형태의 GUI가제공되는것을확인할수있다. 예제애플리케이션은다음과같은형 식의명령어를입력하여실행할수있다. $ sudo /opt/jdk1.8.0/bin/java - cp\ /opt/jdk1.8.0/jre/lib/jfxrt.jar:javafx_sample_path/sample_name.jar\ sample_app_entry_class 예를들어, Stopwatch 애플리케이션을실행하기위해서는아래와같이명령어를입력하여실행한다. $ sudo /opt/dk1.8.0/bin/java -Djavafx.platform=eglfb -cp \ /opt/jdk1.8.0/jre/lib/jfxrt.jar:/tmp/javafxsamples/stopwatch.jar \ stopwatch.mainscreen 이뿐만아니라, 자바의가장큰특징중하나라고할수있는 WORA(Write Once, Run Anywhere : 한번개발한코드는다양한플랫폼어디서나실행할수있다 ) 의개념을바탕으로, 이미보유하고있는다양한애플리케이션및코드들을별다른포팅작업없이바로테스트해볼수있다. 예 < 그림 7> 라즈베리파이에서아파치톰캣서버구동 를들어, 아파치톰캣 (Tomcat) 이나제티 (Jetty) 와같은오픈소스기반의자바서버 소프트웨어를설치하여라즈베리파이를작은크기의애플리케이션서버 (Small Embedded Server) 로변신시키는것도가능하다.< 그림7> 89

90 < 그림 8> 라즈베리파이와자바를이용한다양한디바이스제어 또한, 라즈베리파이에 < 그림 8> 과같이다양한 USB 디바이스 (Device) 들을연결한후, 자바 API를이용하여제어하는등의실험적인시도들도개발자들사이에서꾸준히일어나고있다. 지금까지라즈베리파이와자바개발환경을구성하는방법에대하여알아보았다. 구슬이서말이라도꿰어야보배라했듯이, 이제준비된환경을이용하여애플리케이션을개발하는방법을알아보자. 자바애플리케이션개발라즈베리파이에서의 Java 애플리케이션개발과정은데스크탑환경에서의그것과완전히동일하다. 넷빈즈 (NetBeans) 를비롯하여이클립스 (Eclipse), 제이디벨로퍼 (JDeveloper), 인텔리제이 (IntelliJ) 등과같은통합개발환경 (IDE) 을이용하여애플리케이션을개발할수있다. 지금부터대표적인자바통합개발환경인넷빈즈 (NetBeans) 를이용하여자바애플리케이션을개발하는방법을설명한다. 넷빈즈는임베디드 (Embedded) 부터데스크탑 (Desktop), 그리고엔터프라이즈 (Enterprise) 애플리케이션까지자바를기반으로하는모든애플리케이션의개발에필요한과정 ( 테스트및디버깅을포함하여 ) 을하나의툴에서수행할수있는통합된개발환경을제공해준다. 넷빈즈를이용하여애플리케이션을개발 < 그림 9> 애플리케이션및프로젝트속성설정 < 그림 10> 프로젝트윈도우및코드윈도우 하는과정은대부분의경우다음의과정을따른다. 먼저새로운프로젝트를생성한다. 새로운프로젝트생성의첫번째단계는프로젝트의속성을설정하는부분으로, 개발하고자하는애플리케이션의종류 (Categories) 를먼저선택한후, 프로젝트에대한속성 (Projects) 을결정한다. 각각의종류는그에맞는프로젝트속성을포함하고있다. < 그림 9> 다음으로선택한프로젝트의종류에따라

< 그림 11>JavaFX UI 를쉽게개발할수있는 Scene Builder 적절한속성값을입력한후, 새로운프로 젝트를생성한다. 넷빈즈는사용자의입력값에기반하여새 로운프로젝트를생성하며, 이렇게생성된 프로젝트에는바로실행하여결과를확인 할수있는템플릿 (Template) 코드를포함 하고있다. 이러한코드템플릿이나자동 완성등의기능을이용하면보다쉽게애 플리케이션을개발할수있다.< 그림 10> 그리고 JavaFX 와함께제공되는씬빌더 (Scene Builder) 는애플리케이션의 UI 를시각적인환경에서개발 할수있는개발환경을제공할뿐만아니라 JavaFX 의주요기능지원및넷빈즈를비롯한기타다른자바 개발환경과쉽게상호작용할수있다. < 그림 11> 이외에도넷빈즈는자바개발환경뿐만아니라 HTML5 애플리케이션, 자바스크립트 (Javascript), 루비 (Ruby), 그루비 (Groovy), 파이썬 (Python), C/C++ 등과같은다양한언어의개발환경을지원하고있다. 넷빈즈에대한자세한내용은넷빈즈의공식사이트에서확인할수있다. 라즈베리파이, 그무한한가능성 라즈베리파이재단은지난 2012 년 12 월, 라즈베리파이용응용프로그램 ( 앱 ) 을내려받을수있는앱장터인 파이스토어 (Pi Store) 를오픈하였다. 파이스토어는컴퓨터디자인, 애플리케이션, 팁을공유하는허브역 할을한다. 이를통하여, 전세계사람들의다양한아이디어를공유할수있으며, 원한다면내가만든아이 디어를전세계사람들과공유할수있다. 이외에도라즈베리파이는좀더다양한분야에서활용할수있는무한한잠재력을지니고있으며, 이러한 가능성에대한다양한연구가방대한온라인커뮤니티등을통해서이루어지고있다. 본고를통해서라즈베 리파이에흥미를느끼기시작했다면주저하지말고지금당장라즈베리파이의매력속으로빠져들어보자. 라즈베리파이공식사이트 : http://www.raspberrypi.org 라즈베리파이리눅스다운로드사이트 : http://www.raspberrypi.org/downloads 라즈베리파이위키피디아페이지 : http://en.wikipedia.org/wiki/raspberrypi JavaSE Embedded on the Raspberry Pi : http://www.oracle.com/technetwork/articles/java/raspberrypi- 1704896.html JavaFX Overview : http://www.oracle.com/technetwork/java/javafx/overview/index.html JDK 8(with JavaFX) for ARM Early Access : http://jdk8.java.net/fxarmpreview/ JDK 8(with JavaFX) for ARM Early Access Document : http://jdk8.java.net/fxarmpreview/javafx-armdeveloper-preview.html NetBeans IDE : http://netbeans.org/downloads/ Apache Tomcat : http://tomcat.apache.org Jetty : http://jetty.codehaus.org/jetty/ Win32DiskImager 다운로드페이지 : https://launchpad.net/win32-image-writer/+download 91