2009년 6월 9일 화요일

모바일 프로세싱 - 휴대폰에서 프로세싱을 사용하기 (Mobile Processing runnng on a cellphone)

최근들어 피지컬 컴퓨팅이라는 분야에 대한 관심이 높아지면서 arduino 뿐 아니고 processing도 많이들 사용하고 있다. Processing은 주로 컴퓨터에서 독립적으로 사용하거나 외부 하드웨어와 연동하는 경우는 processing+arduino의 조합으로 사용하는 경우가 많다.



그에 비해 휴대폰에서 사용할 수 있는 mobile processing은 국내 휴대폰에서 사용할수가 없어서인지 아직까지 사용하는 사람들을 별로 본 적이 없는거 같다. 해외용으로 출시된 LG, 삼성 휴대폰에는 잘 돌아가지만 국내 출시 휴대폰들은 통신사와 제조사의 여러가지 제한때문에 mobile processing을 사용할 수 있는 모델이 거의 없었다. 하지만 최근 출시된 노키아 6210의 경우 심비안 S60 플랫폼을 사용하기 때문에 mobile processing을 사용할 수 있게 되었다. Mobile processing은 현재 Mac OS X와 윈도우용이 있다.

아래가 삼성, LG모델중에 mobile processing을 사용할 수 있는 모델들인데 대부분 수출모델로 알고 있다. 혹시 자신의 휴대폰에서 실행해보고 되는 경우 알려주면 국내 휴대폰 모델들 리스트에 업데이트 해서 목록을 만들어 봤으면 한다.

LG와 삼성의 지원되는 모델들


기본적인 문법은 processing과 거의 동일하고 mobile processing에서 스케치 파일을 만들어 컴퓨터상의 에뮬레이터에서 실행해 볼 수 있고 컴파일해서 만들어 진 MIDlet을 microSD 카드에 복사해서 휴대폰에서 어플리케이션으로 실행할 수 있다. MIDlet은 J2ME플랫폼의 CLDC 1.0, MIDP 1.0에서 실행된다.

기본적으로 휴대폰 전화기능, 이미지, 사운드, 비디오, 네트웍, XML, Messaging, 블루투스등을 제어하기 위한 라이브러리가 제공된다. 또한 3rd party가 추가한 3D 그래픽, QR code, 웹, UI, Location 서비스 등등 다양한 라이브러리가 존재한다.

Arduino에 블루투스 모듈을 붙여 휴대폰과 블투로 통신하게 할 수도 있고 아니면 휴대폰의 시리얼 포트와 arduino의 시리얼 포트로 통신을 하게 해 줄 수도 있다. 이 경우 arduino에 별도의 LCD나 키패드를 붙이지 않아도 훌륭한 입출력 인터페이스를 만들어 줄 수 있다. 또한 휴대폰의 다양한 장치들을  arduino의 센서(디지털 나침판, GPS, 조도센서, 가속도센서 등등)로 사용하거나 휴대폰을 arduino의 네트웍 인터페이스(무선랜, 블루투스, 휴대폰 망)로 사용할수도 있게 된다. 또한 전화를 걸고 받기, 문자메세지 보내기 등등도 제어할 수 있기 때문에 센서 입력에 따라 문자를 보내거나 전화를 걸도록 할 수도 있다.


인터넷에서 발견한 mobile processing과 arduino를 시리얼로 연결한 예제 프로젝트이다. 그림에서처럼 arduino와 휴대폰은 시리얼로 연결하고 휴대폰은 휴대폰망의 무선데이터 전송을 통해 컴퓨터와 http로 연결해서 컴퓨터에서 arduino에 연결되어 있는 LED의 색깔을 제어하는 예제이다.



최근 노키아 6210이 매우 싼 가격(약 6개월 약정인 경우 1000원정도)에 풀렸다고 알고 있다. Arduino를 사용하는 사람들이라면 이번 기회에 mobile processing에도 관심을 가져 보는것도 나쁘지 않을 것이다. Arduino만으로 하기 힘든 다양한 아이디어의 응용 프로젝트가 가능해진다.

댓글 1개: