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

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

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

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

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

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

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

슬라이드 1

슬라이드 1

JDK이클립스

Install stm32cubemx and st-link utility

슬라이드 1

스마트월드캠퍼스 교육교제

서현수

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

슬라이드 1

DE1-SoC Board

슬라이드 1

PowerPoint 프레젠테이션

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

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

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

슬라이드 1

슬라이드 1

Microsoft Word - Armjtag_문서1.doc

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Spring Boot

(SW3704) Gingerbread Source Build & Working Guide

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

Studuino소프트웨어 설치

OM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사

tut_modelsim(student).hwp

(Microsoft PowerPoint - \270\266\300\314\305\251\267\316\304\250USB_Host_Device_\272\316\306\256\267\316\264\365\275\307\275\300_Philip.ppt)

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

SBR-100S User Manual

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

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

슬라이드 1

Microsoft Word - CooCox

ISP and CodeVisionAVR C Compiler.hwp

01장

슬라이드 1

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

JavaGeneralProgramming.PDF

Microsoft PowerPoint - 안드로이드 개발 환경 구축(170411)

WebPACK 및 ModelSim 사용법.hwp

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

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

Microsoft Word - src.doc

52 l /08

Microsoft Word - 임베디드월드_WindowsEmbeddedCompact7_rev

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

PowerPoint Template

파워포인트

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

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

PLC Robot Starter Quick Guide

PowerPoint Presentation

슬라이드 1

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft Word - PEB08_USER_GUIDE.doc

1부

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

Interstage5 SOAP서비스 설정 가이드

untitled

( )부록


Microsoft Word - 안드로이드_개발_매뉴얼1.docx

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

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

*Revision History 날짜 내용 최초작성 Tel Fax [2] page

슬라이드 1

Facebook API

untitled

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

02 C h a p t e r Java

PowerPoint Presentation

ESP1ºÎ-04

슬라이드 1

Microsoft PowerPoint - Chapter_02-1_DevEnv.pptx

Windows Live Hotmail Custom Domains Korea

Google Maps Android API v2

ICAS CADWorx SPLM License 평가판설치가이드

PowerPoint 프레젠테이션

J2EE & Web Services iSeminar

Voice Portal using Oracle 9i AS Wireless


<4D F736F F F696E74202D20C0BDBCBA484D4920C0FBBFEB20C5DAB7B9B8C5C6BDBDBA20B4DCB8BBB1E228B9DFC7A5C0DAB7E129>

Microsoft Word - 문필주.doc

B.3 JDBC 설치 JDBC Java DataBase Connectivity 는자바에서 DBMS의종류에상관없이일관된방법으로 SQL을수행할수있도록해주는자바 API Application Program Interface 다. 이책에서는톰캣과 SQL Server 간의연결을위

Gartner Day

NTD36HD Manual

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

PowerPoint Template

[Brochure] KOR_TunA

10X56_NWG_KOR.indd

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

Windows 8에서 BioStar 1 설치하기

PowerPoint 프레젠테이션

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

MPLAB C18 C

Transcription:

Technology & Developer 02 Technology & Developer 자바를활용한 M2M 디바이스제어 ORACLE KOREA MAGAZINE Summer 2013 64 자바를활용한 M2M 디바이스제어 웨어러블디바이스, 스마트워치, 스마트그리드, 전기자동차등 M2M 열풍이불고있다. 한조사에 의하면, 2020 년경에는 M2M 디바이스의개수가 500 억개를넘어설것이라고한다. 이제 M2M 은 우리와멀리떨어진기술이아닌, 우리생활속에서개개인의생활패턴이나기호를분석하고, 이를 바탕으로삶을더욱편리하고의미있게만드는여러형태의서비스의가장기본이된다고볼수 있다. 이런다양한디바이스의출현의바탕은여러가지이유가있겠지만, 우선 HW 기술의발달로 우수한성능의하드웨어를개발자들이값싸게구입할수있고이를바탕으로다양한디바이스를 제공하는것이가능해졌다. 많은개발자들이과거에많은비용과노력이들어가서시도하지 못했던여러아이디어들을값싸고구하기쉬운하드웨어를바탕으로개인이 M2M 프로젝트를 시작할수있는환경이만들어진것이다. 최근에이런다양한개발용디바이스들을우리주변에서 값싸고쉽게구입할수있다. 대표적인것이 2012 년첫출시가되어 1 년동안백만대이상이팔린 라즈베리파이 (Raspberry Pi) 를들수있다. 저자 - 김홍일컨설턴트, 한국오라클 Java Embedded GSU(hong-il.kim@oracle.com) M2M 개발환경의진화 라즈베리파이의경우 25~35$ 라는저렴한가격에서도우수한성능의 ARM 프로세서를내장하고있으며, HDMI, Ethernet, USB, Audio, RCA Video 등다양한 Output 단자를가지고있으며, 또한 GPIO, UART, I2C, SPI 등과같은주변기기인터페이스를지원해서다른기기들을제어하거나통신하는데우수한환경 을가지고있다. 이디바이스하나로 1080p 의 full hd 동영상재생이가능하면서, 최대 3.5W 의전력소모를 가진다는것은여러면에서많은가능성을보여준다. < 그림 1> 은필자가현재보유하고있는 HW 의종류들로우리주변에서쉽게구매할수있으며현재다양 한데모나테스트용도로사용하고있다.

KEIL MCBSTM32F20 Oracle SunSpot Raspberry Pi Beagleboard-xM Pandaboard-ES ARM Cortex-M3 ARM 9 ARM 11 ARM Cortex-A8 ARM Cortex-A9 < 그림 1> M2M 개발용하드웨어 이렇게다양한 HW 환경속에서 M2M 에대한개발환경은나날이좋아지고있지만실제현업에서일하고 있는 SW 엔지니어들의이야기를들어보면, 디바이스개발이그리쉬운것만은아니다. 과거보다는많이 개발환경이개선이되었지만아직개인이아이디어하나만을가지고프로젝트를시작하기에는많은어려 움이있다. 각디바이스들이가지는표준화되지않은 API 들과개발환경, 빠르게발전하는하드웨어환경과부족한 라이브러리, 그리고아직활성화되지않은개발자커뮤니티들은개발의주요지연요소이고, 그결과로비 슷한프로젝트를진행하더라도, 다른개발환경에서발생하는문제들때문에프로젝트가지연되는것을 종종볼수있다. < 그림 2> M2M 개발을위한 SW 환경 CPU Proprietary API 이에이들 M2M 디바이스들의환경을통합할수있는플랫폼에대한시도가많아지고있고현재오라클 의 Java Embedded 솔루션의경우, 표준화된 API 를지원하면서다양한 HW 사양과우수한개발환경을 지원하는 M2M 의주요플랫폼으로자리잡고있다. Programming Language RTOS 65

66 Java ME Embedded Java ME Embedded 는스마트미터와같은작은 M2M 디바이스를대상으로만든오라클의 Java Embedded 솔루션들중의하나이다. Java ME(Mobile Edition) 의경우이미오랜기간, 수많은휴대폰에 탑재되어게임, 미디어플레이어, 네비게이션등다양한애플리케이션이만들어져왔고지금도많은개발 자들이이환경아래서여러애플리케이션들을만들고있다. Java ME Embedded 의경우, 기존 Java ME 에서일부기능들을그대로사용하고, M2M 에특화된기능들을새로추가하여만들어졌다. 다음은 Java ME Embedded 의 SW 구조이다. < 그림 3> 에서보면, 검정색으로된부분이 Java ME 로부터 가져온부분이고, 붉은색으로표시된부분이 M2M 을위해새롭게구현된부분이다. Runtime Environment Device Port OEM APIs AMS APIs < 그림 3> Java ME Embedded SW 구조 Logging APIs Access point APIs Device Access APIs IMP-NG CLDC-HI Virtual Machine Porting Layer 위모든기능들이포함이된 Binary 가약 2MB 의크기를가지고있으며, XML, Messaging, Security & Trust, Location, Web Services, PIM and File 와같은모듈들은옵션으로구성이되어있어서, 더 작은메모리의디바이스에도탑재가가능하다. 그럼작은 M2M 디바이스에탑재가가능한 Java ME Embedded 를이용하여개발하는방법에대해알아보자. Java ME Embedded 의경우, Emulator 를포함한 SDK 를제공해주기때문에, 디바이스가아직준비가되 어있지않다고하더라도, 개발자가애플리케이션개발을시작할수가있다. 그리고 Eclipse 와 Netbeans 와같은통합환경을지원하는 Plug-in 도지원이되기때문에여러분이익숙한통합개발환경을통해, 프로 그램의디버깅과프로파일링, 디바이스로의애플리케이션설치및관리를쉽게할수있다. XML Security & Trust Web Services Messaging Location PIM and File On-Device Debugging Tools Java Me SDK Test, Emulate NetBeans IDE Develop, Debug, Profile

< 그림 4> Java ME Embedded / Mobile Emulator 개발환경준비 Java ME SDK의경우에는자바가탑재된휴대폰을위한 Java ME Mobile Emulator와 M2M 디바이스를위한 Java ME Embedded Emulator가들어있다. 하나의환경으로 2가지종류의서로다른종류의애플리케이션개발이가능한것이다. Java ME SDK는 Java ME SDK 다운로드사이트에서에서다운로드를할수있으며, 가장최신버전은 Java ME SDK 3.3 Early Access 버젼이다. 미리말씀드리지만, 이글이세상에나올때는 Early Access 버전이아닌, 공식버전이나와있을수있다. Java ME SDK 3.3 Early Access 버전은공식버전은아니지만, 정식버전인 Java ME SDK 3.2에비해아래와같은주요기능들이추가가되었다. 라즈베리파이, KEIL보드 (MCBSTM32F20) 용 Java ME 3.3 바이너리호환 Java ME Embedded 3.3 주변기기 IO API 추가 : UART, ADC/DAC, AT command 애플리케이션메모리모니터링, 애플리케이션로그기능추가 이클립스 Plug-in 기능보강 Java SE SDK 설치자바애플리케이션을개발하기위해서는자바컴파일러와여러툴들이포함된 JDK(Java Development Kit) 이필요하다. Java SE 다운로드사이트에서 JDK를다운받아설치를한다. Java ME SDK 설치 JDK를설치완료하였다면, 앞서언급한 Java ME 다운로드링크에서 Java ME SDK 3.3 Early Access 버전 (oracle-java-me-sdk-3-3-rr-win-bin.exe) 과 Java ME SDK 3.3 Plugins for NetBeans(nb-builduc-oracle-java-me-sdk-3-3) 를다운로드받고, Java ME SDK 3.3 Early Access 버전을설치한다. NetBeans 설치 NetBeans의경우, 다양한종류의자바애플리케이션을지원하는통합개발환경이다. 최근에는 HTML5 개발에대한기능들을추가지원하는 NetBeans 7.3 버전을발표하였다. NetBeans 공식사이트를통해다운로드하고설치해보자. NetBeans Plugin 설치 nb-build-uc-oracle-java-me-sdk-3-3.zip 파일의압축을원하는디렉토리에풀고, NetBeans 를실행하 67

68 < 그림 5> NetBeans Plug-in Manager < 그림 6> NetBeans Plug-in Installation < 그림 7> Java ME Embedded 프로젝트생성 여, NetBeans의메뉴 Tools> Plugins를선택해서 Plugin Manager 를연다. Plugin 메뉴는 < 그림 5> 와같이구성되어있는데, 아래와같이 Downloaded 탭을선택하고, Add Plugins 버튼을눌러서압축해제된모든.nbm (NetBeans Modules) 파일들을선택한다. < 그림 6> 과같이모듈들이선택된상태에서, Install 버튼을눌러플러그인들을설치한다. 지금까지 Java ME Embedded 개발환경을구성하는방법에대해서알아보았다. 이제실제로 Java ME Embedded 애플리케이션을개발해보자. 자바애플리케이션개발본격적으로 Java ME Embedded 애플리케이션을만들어볼차례이다. NetBeans를실행하여, 메뉴 File > New Project를선택해서 Categories에서 Java ME를선택한다. < 그림 7> 의오른쪽창의 Projects: 에서 Embedded Application을선택해서, 프로젝트를만들게되면새로운 Java ME Embedded 애플리케이션을만들수있다. Next 버튼을누르고, 다음창에서 Finish를눌러, 애플리케이션을만들어보자. 아래와같은기본코드가생성되면서프로젝트가생성되었다. 아래의코드에서볼수있듯이, Java ME Embedded 애플리케이션의경우, 모두 MIDlet 클래스로부터상속을받고, start/pause/destroy 와같은기본라이프사이클을가진다. 애플리케이션이시작할때필

public class IMlet extends MIDlet { public void startapp() { } public void pauseapp() { } public void destroyapp(boolean unconditional) { } } Paused Active < 그림 8> Java ME Embedded 애플리케이션라이프사이클 < 그림 9> 샘플애플리케이션, GPIO Demo 생성 요한동작은 startapp() 메서드안에, 멈출때동작을 pauseapp() 에, 마칠때동작을 destroyapp() 안에정의를한다. < 그림 8> 은 Java ME Embedded 애플리케이션의라이프사이클을그림으로표현한것이다. Destroyed 샘플애플리케이션 SDK 안에는기본적으로제공되는샘플애플리케이션들이포함되어있다. 이샘플애플리케이션을통해 Java ME Embedded 애플리케이션의기본동작을확인하실수있다. < 그림 9> 와같이, New Project 창에서 Samples의 Java ME SDK 3.3을선택하고, GPIO Demo를선택해서프로젝트를만들어보자. GPIODemo 프로젝트가생성되면서, GPIODemo. 69

70 < 그림 10> GPIODemo 실행하기 < 그림 11> GPIODemo 가실행된 Java ME SDK emulator java 를통해, Java ME Embedded API 를사용한예제코드를확인해볼수있다. 이제 GPIODemo 프로젝트를선택하고, 마우스오른쪽클릭하여서브메뉴에서 Run을선택하여실행시켜보자. Java ME Embedded Emulator < 그림 11> 과같이여러개의 tab이보이는 Java ME Embedded 에뮬레이터가동작을하고, 에뮬레이터를통해 GPIODemo 의상태나동작을확인해보실수있다. 각탭의내용은다음과같다. AMS : 설치된 Java ME Embedded 애플리케이션의상태및동작을제어할수있다. GPIO Pins : GPIO (General Purpose I/O) 핀들이 Input/Output용인지, 그리고그상태를보여준다. GPIO Ports : GPIO Port가 Input/Output 용인지, 최대값과현재값을보여준다. I2C : I2C(Inter-Integrated Circuit) 을통해보내진데이터를다시전달하는단순한에뮬레이션을지원한다. SPI : SPI(Serial Peripheral Interface) 도 I2C 와마찬가지로보내진데이터를에코, 다시돌려받는기능을지원한다. MMIO : MMIO(Memory-Mapped I/O) 의경우, 4개 (TEST_DEVICE, WDOGLOG, RTC, BIG_ENDIAN_ DEVICE) 의다른디바이스종류를지원한다. ADC : ADC(Analog-to-Digital Converter) 의경우, 각채널의정보를보여주고, 그값을보여준다. DAC : DAC(Digital-to-Analog Converter) 의경우, 각채널의정보를보여주고, 해당데이터를그래프로보여준다. Pulse Counters : 입력에대해, Rising Edge/Falling Edge를선택해서그횟수를센다. External Events Generator < 그림 12> 에서붉은원으로표시된, External Events Generator Icon을누르게되면, External Events Generator 창이열리게된다.

External Events Generator 는에뮬레이션할때, 외부장치 ( 버튼, GPIO Input, GPS 값, 등 ) 에의한값을가상으로입력받아애플리케이션에게전달할수있도록만드는프로그램이다. 이중에서 GPIO가연결된버튼을조작해서, Application 에서의동작을확인해보겠다. < 그림 12> External Events Generator 를이용해 GPIODemo 애플리케이션상의 GPIO 입력값확인 < 그림 13> GPIO 의 Wave Generator 를이용해이벤트전달 < 그림 12> 와같이애플리케이션창과 External Events Generator 창모두 GPIO 탭을선택하고, BUTTON1 의버튼을눌러보자. 버튼의표시가 High/Low로변하고, 왼쪽창의 BUTTON1 Value의값도변하는것을볼수있다. 실제디바이스에서 HW GPIO Port 0에연결된 BUTTON1을눌렀을경우, 해당입력이애플리케이션에전달되어상태값이변하는것을볼수있다. 이번에는 < 그림 13> 과같이 BUTTON1 아래 Frequency 에 10을, Duration 에 1000을넣고, 아래 Run 버튼을눌러보자. 버튼의눌림이 1초동안에 10번반복되는것을볼수있다. 이제 AMS탭을선택해서, Stop버튼을누르게되면, 실행하던애플리케이션이멈추어사라지는것을볼수있다. 이렇게디바이스없이도,, External Events Generator 를통해가상의이벤트를만들어애플리케이션개발과테스트에적용할수있는환경을제공한다. 71

72 < 그림 14> Device Selector 를이용해실제디바이스연결 < 그림 15> Device Selector 를이용해실제디바이스연결 < 그림 16> Device Selector 에연결된 Keil 보드 실제디바이스에서의개발 NetBeans 상에서실제디바이스와연결해서개발을하기위해서는, 해당기기를 NetBeans에등록을해야한다. < 그림 14> 와같이 Tools > Java ME > Device Selector를선택하게되면, 그림의왼쪽아래와같이 Device Selector 창이나타나게된다. 여기서붉은원으로표시된 Add External Device 아이콘을클릭하게되면, Add External Device 버튼을누르게되면, < 그림 15> 과같이 Add Device 창이열리면서, 연결하고자하는디바이스의 IP주소입력창이나타난다. 주소를입력하고, Next를누르면자동으로 Java ME Embedded 가탑재된디바이스를검색하게되고, 찾게되면 Finish를눌러등록을할수있다. 현재 < 그림 16> 는 Keil이라는디바이스를등록한화면이다. 이렇게 Java ME Embedded 의경우, 간단한방법으로여러개의다른종류의디바이스를등록해서사용할수있고, 모든디바이스들에게같은개발환경을제공한다. 이디바이스에 GPIODemo 프로젝트를설치해서동작하는방법은 GPIODemo 프로젝트에마우스오른쪽버튼클릭으로 Property를선택한후, < 그림 17> 와같이 Device 를 Keil로선택을하고, Run시키면된다. 이렇게실행시키면, 선택된애플리케이션이디바이스에자동으로설치되고, 디바이스상에서테스트해볼수있다. 이

< 그림 17> 등록한 Keil 보드를이용해서애플리케이션실행 외에도, 디바이스상에서의디버깅, 프로파일링, 애플리케이션메모리사용모니터링, 애플리케이션로그등다양한기능을 Emulator 를사용할때와같은방법으로사용할수있다. 개발가능한디바이스앞서언급하였듯이, 현재 Java ME Embedded 3.3 binary 가제공되는디바이스들은다음과같다. 라즈베리파이 Keil MCBSTM32F200 < 그림 18> 라즈베리파이 < 그림 19> KEIL MCBSTM32F200 보드 위디바이스들의 Java ME 바이너리는아래그림과같이 Java ME 다운로드사이트를통해다운받으실수있고, 라스베리파이나 Keil보드의경우인터넷을통해쉽게구매할수있다. < 그림 20> 라스베리파이, KEIL 보드용 Java ME Embedded 바이너리다운로드링크 73

74 위링크들로부터다운로드받은 Java ME Embedded 바이너리를설치, 사용하는기본적인방법은아래링크된비 디오에잘나와있다. Getting started with Java ME Embedded 3.3 on the Keil Board. PART I http://www.youtube.com/watch?v=liudwtlzz3i Getting started with Java ME Embedded 3.3 on the Keil Board. PART II http://www.youtube.com/watch?v=sgiulmq_dpy Getting Started with Oracle Java ME Embedded and Raspberry Pi http://www.youtube.com/watch?v=na7amutk9se 결론 앞서이글을시작할때언급한것처럼, 하드웨어와소프트웨어환경은최근 M2M 영역에서도빠르게발전해나가고 있다. 아이디어하나로시작해서 M2M 제품을개발하는것이더이상남의일이아니다. M2M 영역도기존의 B2B 환경에서 B2C 환경으로옮겨가고있는것이다. 과거휴대폰의다양한플랫폼에서스마트폰플랫폼과같은표준화된 플랫폼으로옮겨오면서앱스토어를통해많은성공사례를보여주었듯이, M2M 도이제는우수한소프트웨어플랫폼 을기반으로많은기회를제공할것으로본다. 이런시장환경에서경쟁력을갖추기위해서는 Java ME Embedded 와같은우수한 M2M 개발환경은이제선택이 아닌필수라고생각한다. Java ME SDK 다운로드사이트 http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html Java ME 다운로드사이트 http://www.oracle.com/technetwork/java/embedded/downloads/javame/index.html Java SE 다운로드사이트 http://www.oracle.com/technetwork/java/javase/downloads/index.html NetBeans 공식사이트 http://netbeans.org