2009년 11월 30일 월요일

아이폰에서 풀사이즈의 사진을 메일로 보내기

아이폰에서 사진을 찍은 다음 그 사진을 메일로 보내면 사진 크기가 자동을 800*600(원래 크기의 1/4)으로 리사이즈 되어 보내지게 된다.
웹사이트에 첨부하거나 싸이에 올리는데는 충분한 크기지만 인쇄를 하거나 후보정을 원하는 경우는 풀사이즈(1600*1200)의 사진이 필요하다.

먼저 'Photos' 앱을 실행한다.

Photos 앱에서 왼쪽 아래의 버튼을 누른다.


사진을 선택할 수 있는 상태가 되었다.


메일로 보낼 사진들을 터치해서 선택해 준다. 선택된 사진은 체크 표시가 나타난다. 선택이 끝나면 아래쪽의 Copy 버튼을 눌러준다. 그리고 Photos 앱은 종료하고 Mail 앱을 실행한다.


메일 앱에서 메일 작성을 선택하고 메일 내용에 가서 한 지점을 약간 오래 터치하고 있으면 메뉴가 나타나게 되고 그 메뉴중에 Paste를 선택해서 사진을 첨부해주면 된다.

이렇게 해서 메일을 보내면 사진이 자동으로 리사이즈 되지 않고 원래의 풀사이즈로 보내진다.

2009년 11월 20일 금요일

컴퓨터에서 노키아 휴대폰을 직접 제어하기 (전화 걸기/받기, 문자메시지 보내기)

인터넷 시대 이전에 모뎀을 사용해서 PC통신을 하던 사람들에게는 눈에 익은 AT 명령어(Hayes AT command)를 사용해서 노키아 휴대폰을 컴퓨터에서 직접 제어해서 전화를 걸고 받거나 문자 메시지를 보낼 수 있다.
컴퓨터와 노키아 휴대폰은 블루투스를 사용해서 연결해 준다.

여기서는 맥에서 노키아 E71x를 연결해서 제어하는 방법을 설명하겠다.

먼저 맥과 E71x는 페어링 되어 있어야 한다.



'Preferences'에서 'Bluetooth'를 선택한다.


디바이스(여기서는 E71x)를 선택하고 아래쪽의 휠 버튼을 눌러준다.



버튼을 누르면 나오는 풀다운 메뉴 중에 'Edit Serial Ports..'를 선택한다.



디바이스 설정 창이 열리면 '+' 버튼을 누른다.



Name, Protocol, Service를 차례대로 설정한다. Name은 디바이스 이름으로 사용되기 때문에 간단한 이름을 넣어주는게 좋다. 여기서는 e71x를 넣어줬고 저 가상 시리얼 포트의 패스는 /dev/tty.e71x가 된다.



앞의 화면에서 'Apply'를 눌러 설정이 끝난 상태이다. 여기까지 했으면 맥과 휴대폰 설정은 끝났다.



맥에서 시리얼 터미널 프로그램을 실행시킨다. 여기서는 GoSerial 이라는 프로그램을 사용했지만 아무 시리얼 터미널 프로그램(CoolTerm, jterm 등등)들을 사용해도 관계 없다.

위의 그림은 GoSerial의 포트 설정 화면이다. 시리얼 포트 파라미터는 9600-N-8-1로 맞춰주면 된다.



설정이 끝났으면 'Connect' 버튼을 눌러 휴대폰과 연결시켜주면 된다.



정상적으로 연결되면 이제부터 AT 명령어를 사용해 휴대폰을 제어할 수 있다.



휴대폰으로 전화를 걸어 본 예이다. 모뎀과 동일하게 ATDT 명령어를 사용해서 전화를 걸 수 있다.

문자메시지를 보내는 방법이다.

AT+CMGF=1
AT+CMGS=”##########”      ;#####은 수신자 번호이다.
[메시지]를 입력하고 끝나면 CTRL-Z를 누른다.


노키아 휴대폰에서 사용할 수 있는 AT 명령어 셋은 노키아 사이트에서 확인할 수 있다.

2009년 11월 13일 금요일

모바일 프로세싱을 사용해 보기 (Using Mobile Processing)

이전 포스트에서 소개했던 모바일 프로세싱을 실제 사용해 보도록 하겠다.

노키아 6210S를 구입한 사람들도 많아졌고 최근 노키아 5800 Music edition이 판매되기 시작하여 Symbian S60을 사용하는 사람들이 많이 늘어났기 때문에 모바일 프로세싱을 실제 폰에서 사용해 보기가 매우 편해졌다.

모바일 프로세싱을 설치해 주려면 Java, Java Wireless Toolkit for CLDC (WTK, 현재 최신버젼은 2.5.2_01이다), mobile processing까지 총 3개의 파일이 필요하다.
JavaWTK는 sun의 웹 사이트에서 다운받을 수 있고 mobile processing은 모바일 프로세싱 홈페이지에서 다운받으면 된다.

파일을 다 다운받았으면 먼저 java를 설치해준다. 이미 설치되어 있는 경우 이 단계는 건너뛰면 된다. 그 다음 WTK를 설치해 준다. 그리고 WTK가 설치된 위치를 기록해 놓는다. (디폴트는 c:\wtk2.5.2_01 이다.)
마지막으로 다운받은 mobile processing 파일의 압축을 풀어준다. 모바일 프로세싱은 별도의 설치 과정이 필요없이 그냥 압축을 풀어주면 된다.


압축을 풀면 위와 같은 파일이 보인다. 여기서 'mobile'을 더블클릭해서 실행해 주면 된다. (별도의 설치과정이 없기때문에 시작메뉴에도 자동으로 등록되지 않는다.)


모바일 프로세싱을 실행시킨 화면이다. 프로세싱 화면과 거의 동일하다. 다만 모바일 프로세싱을 사용하려면 먼저 환경설정을 해 줘야 한다.


File->Preferences를 선택한다.


Preferences 창이 열리면 Mobile 탭을 선택한다.


이 화면에서 아까 설치한 WTK의 위치를 지정해 줘야 한다. 그리고 자신이 사용할 폰의 CLDC와 MIDP 버젼을 지정해준다. 최근 1~2년 사이에 나온 폰들이면 거의 다 CLDC 1.1과 MIDP 2.0을 지원한다. 자세한 내용은 각 폰의 technical specification을 참조하면 된다.

여기까지 하면 모든 설정이 끝나고 모바일 프로세싱을 사용할 수 있다.


테스트를 위해 File->Example에서 예제를 하나 선택해 보겠다. 여기서는 keypad를 선택했다.


화면 위쪽의 아이콘들 중에 가장 왼쪽의 삼각형 버튼을 누르면 프로그램을 컴파일하고 폰 에뮬레이터에서 실행을 해 준다.


실행을 시키면 이런 폰 에뮬레이터 창이 뜨고 프로그램이 로드된 걸 볼 수 있다. 로드된 프로그램을 실행하려면 오른쪽 소프트키(화면 오른쪽 아래 Launch 표시 바로 아래쪽의 '.' 버튼)를 눌러주면 된다.


'keypad' 프로그램이 실행된 화면이다. 프로그램을 종료하려면 왼쪽 소프트키를 눌러주면 된다.


'keypad' 프로그램은 숫자키패드를 누르면 그에 해당하는 수직막대기를 화면에 그려주는 프로그램이다. 몇개의 숫자키를 눌렀을 때 화면이다.

이런 식으로 작성한 프로그램을 실제 폰이 없는 경우에도 컴퓨터 상에서 테스트가 가능하다. 디버깅이 다 끝났으면 만들어 진 프로그램을 직접 폰에서 실행시킬수도 있다.


File->Export MIDlet 을 선택하면 이 소스코드를 폰에서 실행할 수 있는 JAVA MIDlet으로 만들어준다.


위에서 Export MIDlet을 선택하면 keypad.jar 파일을 만들고 탐색기에서 그 파일이 들어있는 폴더를 자동으로 열어준다.


이제 만들어 진 파일을 폰으로 넣어주기만 하면 된다. MicroSD카드에 복사해서 옮겨도 되지만 여기서는 블루투스를 이용해 옮겨보겠다. (단 폰은 미리 컴퓨터와 페어링 되어 있어야 한다.) 'keypad.jar'파일을 선택한 다음 마우스 오른쪽 클릭해서 Send to->Bluetooth device를 선택한다.


Bluetooth File Transfer 창이 열리고 블루투스 디바이스들을 보여준다. 원하는 폰을 선택해주면 된다.



이렇게 전송이 끝났으면 폰에서 받은 프로그램을 설치할거냐고 물어본다. 설치해 준 다음 프로그램을 실행시키면 위의 시뮬레이터에서 본 것과 동일하게 움직이는걸 볼 수 있을 것이다.

모바일 프로세싱은 이전에 프로세싱이나 아뒤노를 사용해 본 사람이라면 거의 동일한 구조와 문법을 사용하기 때문에 배우기 쉽고 폰 프로그래밍을 할 때 단말기별로 신경써야 하는 것들을 알아서 처리해주기 때문에 매우 편리하다.

또한 단순히 키패드 입력, 화면 제어뿐 아니고 폰의 블루투스 통신도 프로그래밍이 가능하기 때문에 임베디드쪽으로도 다양하게 응용이 가능하다. 아뒤노에 블루투스 모듈을 붙이고 모바일 프로세싱으로 폰과 통신을 하게 해 주면 폰을 아뒤노의 입출력 디바이스 또는 리모컨으로 이용할 수도 있기 때문에 다양한 응용이 가능하다.


2009년 11월 7일 토요일

BluePhone Elite 2 - 맥에서 휴대폰을 사용하기

BluePhone Elite 2를 사용하면 블루투스를 통해 휴대폰을 연결해서 전화를 걸고 받거나 채팅 형태로 문자메시지를 주고 받을 수 있다.

BPE2를 실행하면 화면 상단 메뉴바의 우측에 아래와 같은 아이콘이 생긴다. 아직 휴대폰과 연결되어 있지 않기 때문에 아이콘이 희미하게 되어 있다.



아이콘을 눌러 보면 다음과 같은 메뉴를 볼 수 있다.


메뉴에서 'Connect' 를 선택해서 휴대폰과 연결되면 아이콘이 진한 색으로 바뀌고 전파 세기, 배터리 상황이 같이 표시된다.


BPE2는 상당히 다양한 종류의 휴대폰을 지원한다. 다만 휴대폰에 따라 사용할 수 있는 기능이 조금씩 다르다.




위쪽은 iPhone 3G를 연결한 경우이고 아래쪽은 Nokia E71x를 연결했을 때이다.

새 전화기를 연결하려면 위의 화면에서 '+' 버튼을 누르면 디바이스 추가 위져드가 실행되어 새로운 디바이스를 추가할 수 있다. 아이폰의 경우는 별도의 프로그램 없이 바로 사용할 수 있고 노키아의 경우 별도의 프로그램을 설치해 줘야 한다. 디바이스 추가 과정에서 BPE2가 블루투스를 통해 휴대폰으로 전송해주기 때문에 휴대폰에서 설치확인 버튼만 눌러주면 된다.


개별 이벤트에 대해 다양한 트리거를 설정할 수 있게 되어있다. 위의 화면은 휴대폰이 블루투스 통신 범위에서 벗어나면 화면보호기를 시작하고 다시 통신 범위에 들어오면 화면 보호기를 멈추는 동작을 설정한 것이다.



전화가 오는 경우 화면보호기를 멈추고, 화면이 반짝거리며, 발신자 정보가 윈도우로 열리고 현재 플레이중인 음악과 DVD는 잠시 정지하도록 설정되어 있다.


문자메시지를 받으면 화면보호기를 멈추고, 화면이 반짝거리며, 채팅창이 열리게 설정되어 있다.


다른 이벤트 트리거를 추가할 수도 있다. 위에서 볼 수 있는것처럼 배터리 잔량이 특정 레벨 이하인 경우나 네트웍 상황 변화(신호 세기가 일정 세기 이상/이하인 경우)가 발생해도 원하는 동작을 하도록 할 수 있다. 즉 배터리가 10% 이하이면 화면을 번쩍이면서 충전하라는 메시지 윈도우를 화면에 표시하도록 할 수 있다.


일반적으로 많이 사용되는 동작들은 이미 들어있지만 그렇지 않은 경우도 AppleScript파일을 추가할 수 있기 때문에 메뉴에 없는 원하는 동작은 AppleScript로 만들어 주면 된다.


'New Call'을 선택하면 전화번호를 입력하는 창이 열리는데 직접 번호를 입력하는것 이외에도 이름의 일부만 입력하면 Address Book에서 일치되는 번호들을 보여줘서 거기서 선택할 수 있다.


전화를 걸면 위와 같은 화면이 되고 전화가 연결되면 컴퓨터의 스피커와 마이크를 통해 통화를 할 수 있다.


문자 메시지가 온 경우이다. 위와 같은 윈도우가 열리고 아래쪽의 click to accept를 누르면 메시지의 내용이 표시되면서 채팅창 형태의 윈도우로 바뀐다.


BPE2에는 크게 3개의 윈도우(Call Center, Message Center, Preferences)가 있다. 위의 사진은 Message Center의 설정 화면이다.


SMS 채팅화면의 스타일 설정 화면이다.


독과 메뉴바 스타일 설정 화면이다.


단축키 설정 화면이다.

http://mirasoftware.com/BPE2/phones/

위의 링크에서 자신의 폰을 사용할 수 있는지 확인할 수 있다. 상당히 많은 수의 LG, 삼성 폰들도 지원되는걸로 나온다. 물론 대부분 미국, 유럽에서 판매되는 모델이지만 한국판매 모델중 WM을 사용하였거나 노키아 6210s, 5800같은 경우는 큰 문제 없이 사용할 수 있을 것이다.

BPE2에는 통화내용 녹음 기능은 없지만 맥에서 사운드 라우팅 소프트웨어와 같이 사용하면 통화 내용 녹음도 물론 가능해진다. 이 프로그램을 이용하면 컴퓨터 키보드를 이용해 문자메시지를 보내는 것 뿐 아니고 문자 수/발신 내용, 통화 내역까지 모두 맥에서 관리할 수 있기 때문에 휴대폰 사용에 새로운 세계가 열리게 된다.