최근들어 피지컬 컴퓨팅이라는 분야에 대한 관심이 높아지면서 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만으로 하기 힘든 다양한 아이디어의 응용 프로젝트가 가능해진다.
Posted by nautes

이전 포스트에 서 구글이 Favorite Place on Google이라는 서비스에서 QR code를 사용한다는 이야기를 했었다.
그 래서 구글은 이 서비스 활성화를 위해 아이폰용 QuickMark를 선착순 40,000명에게 무료로 다운로드 받을 수 있게 해 주고 있다.
지금까지 몇가지를 테스트 해 봤는데 QuickMark가 auto-focus가 없는 iPhone 3G에서도 확실한 인식능력을 보여주었다.


아이폰 용 뿐 아니고 거의 대부분의 WM폰, 심비안 폰용 QuickMark도 있다.


아이폰에서 QuickMark를 실행하면 카메라 화면이 나오게 되는데 여기서 읽으려고 하는 바코드를 가져다 대면 셧터를 누를 필요 없이 자동으로 바코드를 인식하게 된다.


위의 바코드를 읽은 결과이다. 보는바와 같이 위의 QR code에는 URL이 들어있다. 이 정보를 가지고 다른 타입의 바코드를 만들어 주거나 다른 사람에게 메일로 보내거나 트위터로 tweet할 수도 있다.


Generate Quick Code를 선택하면 URL을 Quick Code 타입의 바코드로 만들어 준다.

만들어 진 바코드 위쪽의 버튼 2개가 현재 어떤 타입의 바코드인지 알려준다. 왼쪽이 Quick Code, 오른쪽이 QR Code이다. 이 화면에서 현재 회색인 QR Code버튼을 누르거나 위쪽 화면에서 Generate QR Code를 누르면 URL을 QR Code로 만들어 보여준다.


QR Code 타입의 바코드 화면이다. 이번에는 위쪽의 버튼 두개의 색깔이 반대로 된 걸 볼 수 있다.
그리고 주의력이 깊은 사람은 눈치챘을 지 모르겠는데 맨 위의 QR Code와 이 화면의 QR Code는 동일한 URL로 만든건데 실제 모양이 다르다. 그건 두개의 QR Code의 Error Correction Capacity가 다르기 때문이다. QR Code는 잡지나 포장지, 상자 표면등 여러곳에 사용되기 때문에 코드가 인쇄된 부분이 찢어지거나 더럽혀 지는 경우가 많다. 그래서 QR Code는 이런 경우에도 코드가 어느정도 망가지더라도 자체적으로 에러를 보정해서 원래 코드를 찾아낼 수 있게 설계되어 있다. 최고 level인 H-level인 경우 전체 바코드 면적의 30%정도가 없더라도 원래 코드를 정확하게 읽을 수 있다.


화면 아래쪽의 기어박스 모양 아이콘을 누르면 설정 화면으로 갈 수 있다.


QuickMark는 1/2차원 바코드를 모두 인식할 수 있다. 현재 지원하는 2차원 바코드는 Quick Code, QR code, Data Matrix이고 1차원 바코드로는 EAN 8/13, Code 39, Code 128이다.


설정화면의 아래쪽으로 내려오면 트위터 계정이 있는 사람은 트위터를 설정해서 바코드 읽은 내용을 tweet할 수도 있다. 그리고 마지막은 바코드에 들어있는 내용에 따라 자동으로 동작을 할것인가 여부를 설정할 수 있다. 즉 바코드의 내용이 전화번호인 경우 자동으로 그 번호로 전화를 걸게 한다던가 URL인 경우 브라우져에서 그 주소로 바로 가게 한다던가등의 설정이 가능하다.





또한 QuickMark의 가장 유용한 기능중에 하나가 바코드를 사용해서 손쉽게 연락처 교환을 할 수 있다는 것이다. 일본 드라마나 영화를 보면 사람들끼리 전화번호를 교환하자며 서로의 휴대폰을 마주보게 하는 장면을 기억할 것이다. 일본 휴대폰에는 적외선 포트가 기본으로 장착되어 있어 서로간에 전자명함을 적외선으로 주고받을 수 있다.

아이폰에는 별도의 적외선(IR) 포트가 없기 때문에 유사한 기능을 하는 app들은 무선랜으로 전자명함을 보내도록 하고 있다. 하지만 데이터를 교환하려면 둘 다 같은 무선네트웍 안에 있어야 하기 때문에 서로 인사하고 명함 교환하려고 무선랜 찾아서 연결하고 하는 절차가 귀찮아서 사용하기가 불편하다. 그리고 아이폰끼리만 명함 교환이 가능하다.

QuickMark에서는 무선랜 대신 바코드와 아이폰의 카메라를 이용해 명함을 교환한다. 적외선 통신이 아닌 가시광선 통신이라고 할 수 있겠다.


위쪽 화면에서 Share를 선택하면 나오는 화면이다. 왼쪽 버튼을 눌러 주소록에서 선택하거나 오른쪽 버튼을 눌러 임의의 텍스트(URL이건 뭐건 상관없다)를 직접 입력해 줄 수 있다.


왼쪽의 주소록에서 선택 버튼을 누르면 주소록의 목록이 나온다. 이 중에 자신이 전송하려는 사람을 선택해 준다.


선택한 사람의 정보중에 바코드에 어떤 정보를 넣어줄 것인지 선택할 수 있다. 즉 주소록 목록에 있는 생일, 집주소, 집전화번호등은 비즈니스 상대에게는 공개하지 않고 친구에게는 공개하는 식으로 할 수 있다.



이 화면에는 휴대폰 번호, 이메일, URL, 회사이름을 집어넣는다고 선택하였다. 선택이 끝나면 Done 버튼을 눌러주면 된다.


방금 선택한 항목이 들어가 있는 2차원 바코드가 만들어 졌다. 이 화면을 내 정보를 주려는 사람에게 보여주면 된다.


그러면 상대방 역시 QuickMark를 실행해서 상대방 아이폰 화면에 나타난 2차원 바코드를 읽으면 된다.


바코드가 인식되면 바코드 안에 들어있는 내용을 이렇게 보여준다.


위의 화면에서 읽은 내용(이름, 전화번호, URL등등)을 클릭하면 이 화면으로 넘어오고 방금 읽은 정보를 주소록에 추가할건지, 이미 주소록에 있는 항목에 정보를 추가할건지 결정할 수 있다.

예전에 다른 프로그램으로 테스트 해 볼 때는 코드문제인지 한글이름이 제대로 인식되지 않아서 ???로 나왔었는데 QuickMark는 확인해 본 결과 한글, 한자, 일본어 모두 아무 문제 없었다.

--
이 런식으로 내 정보를 상대방에게 전달하고 나서 이번엔 상대방이 자신의 전자명함을 만들고 내 아이폰에서 읽어 주소록에 추가하면 서로간에 명함 교환이 이루어지게 되는 것이다.

이 방법은 전파를 사용하지 않기 때문에 전달되는 정보의 도청 위험(별로 가능성이 크지 않다 하더라도 자신의 개인 연락처를 다른 사람에게 공개할 필요는 없다고 본다)이 없고 WM이나 심비안 기종에도 QuickMark가 있고 대부분의 일본 휴대폰에는 이런 기능이 기본 내장되어 있기 때문에 거의 모든 휴대폰과 연락처 교환이 가능하다.
Posted by nautes

2차원 바코드 중에 일본에서 매우 광범위하게 사용되고 있는 QR code가 있다.
QR code에 대한 설명은 이전 포스트를 참고하길 바란다.

구글이 오늘 새로운 계획을 발표하였다. 구글맵과 구글서치의 pagerank를 기초로 약 10만개의 업체를 선정하여 'Favorite Place on Google'이라는 이름이 들어간 decal을 무료로 만들어 주겠다고 한 것이다.


이 decal에 위의 그림과 같이 업체의 전화번호, 주소, 리뷰 및 쿠폰정보가 포함되어 있는 QR code를 집어넣는다고 한다.
이렇게 되면 QR code reader를 가진 휴대폰의 경우 가게 정보를 얻기 위해 따로 브라우져에서 가게 홈페이지 주소를 입력하거나 검색을 할 필요 없이 QR code만 읽으면 자동으로 가게의 홈페이지가 열려 손 쉽게 원하는 정보를 얻을 수 있게 된다.

일본 휴대폰은 거의 모든 휴대폰에 QR code reader가 기본으로 포함되어 있지만 미국에서 판매되는 휴대폰에 QR code reader가 기본으로 포함되어 있는 경우는 아직 없다. 하지만 아이폰, 블랙베리, WM, 심비안이나 java를 지원하는 대부분의 휴대폰용 무료 QR code reader가 있기 때문에 사용하는데 불편은 없다.

NeoReader - http://www.neoreader.com/
QuickMark - http://www.quickmark.com.tw/En/basic
UpCode - http://www.upc.fi/en/upcode/
Kaywa - http://reader.kaywa.com/
zxing - http://code.google.com/p/zxing
i-nigma - http://www.i-nigma.com/i-nigmahp.html

이 이외에도 검색을 해 보면 더 많은 무료 QR code reader를 쉽게 찾을 수 있다.




일본에서는 이미 상당히 오래전부터 널리 쓰여왔지만 그 이외 나라에서는 별로 쓰이지 않았는데 이번에 구글 덕택에 미국에서도 널리 쓰일 수 있는 기반이 만들어질거 같다.
Posted by nautes

이전 포스트에서 QR 코드에 대해 설명했었는데 그에 대해 좀 더 이야기 해 보려고 한다.
아직까지 일본에서 정도로 광범위하게 사용되는건 아니어도 다른 나라에서도 QR코드가 조금씩 사용이 늘어나고 있는거 같다.

먼저 QR코드를 생성하는 방법은 여러가지가 있는데 그 중 쉽게 할 수 있는 방법중 하나는 구글 chart를 사용하는 것이다.
구글 챠트에서 QR 코드를 만들때 필요한 파라미터는 다음과 같다.

cht=qr
chs=<size>
chl=<text to encode>
choe=<output encoding>


<size>는 '가로픽셀x세로픽셀'로 지정해준다.
<text to encode>는 QR코드에 집어넣고 싶은 내용으로 UTF-8으로 URL-encoded 되어 있어야만 한다. 즉 'Hello World'를 표시하고 싶으면 'Hello%20World'를 넣어줘야 한다.
<output encoding>은 출력을 어떻게 인코딩 할 것인가를 결정한다. 이 항목이 없는 경우 디폴트 값은 'UTF-8'이다. 현재 여기에 들어갈 수 있는 값은 UTF-8, SHIFT_JIS, ISO-8859-1 밖에 없다.

파라미터는 URL 'http://chart.apis.google.com/chart?' 뒤에 넣어주고 각 파라미터 사이에는 '&'로 연결해준다.

브라우져의 주소창에 넣는 경우는 다음과 같이 입력하면 된다.

http://chart.apis.google.com/chart?cht=qr&chs=100x100&chl=Hello%20World&choe=UTF-8


웹페이지 안에 html로 집어넣는 경우는 <img> 태그를 이용해서 다음과 같이 입력해주면 된다.

<img src="http://chart.apis.google.com/chart?cht=qr&chs=100x100&chl=Hello%20World&choe=UTF-8" alt="QR code sample image" />


둘 중 어느것을 이용해도 아래와 같은 QR코드가 생성된다. 참고로 아래 QR코드도 바로 위의 <img> 태그를 이 페이지의 html에 집어넣어 구글에서 다이내믹하게 만들어 낸 결과이다.



일본의 카메라가 달린 휴대폰은 거의 다 QR코드를 읽을 수 있지만 아직 국내 휴대폰중에 QR코드를 읽을 수 있는 제품은 없는걸로 알고 있다.
단 삼성의 해외판매용 심비안 모델인 경우는 설치할 수 있는 무료 QR코드 리더가 있다.

아이폰의 경우 여러가지 무료 QR코드 리더 소프트웨어가 나와 있는데 아이폰 카메라가 마크로 촬영은 포커스가 잘 맞지 않아 인식률이 별로 좋지 않다. 몇가지 테스트 해 본 결과 NeoReader가 다른 소프트웨어에 비해 월등하게 인식률이 높았다.

(단 다른 소프트웨어도 Griffin Clarifi 같은 제품을 이용해 마크로 렌즈를 사용하면 인식률을 크게 높일 수 있다.)

--
맥 사용자라면 Micono의 QRCodingen, DecodingQR?을 이용하면 직접 QR코드를 만들고 읽을 수 있다. 단 메뉴가 일본어인것이 단점이지만 맥용 소프트웨어 답게 메뉴의 위치가 일정하기 때문에 약간의 한자실력과 통밥을 이용하면 사용하는데 큰 문제는 없다.





Posted by nautes

http://techblog.iviator.net
 일본에 가 봤거나 잡지, 광고등을 보면 왼쪽의 그림같이 정사각형 안에 불규칙하게 점이 찍혀 있는걸 꽤 많이 봤을 것이다.

옆에 그림이 QR code라고 불리우는 2차원 바코드들중에 하나이다. 일본에서 특히 다양한 용도로 많이 사용하고 있는 코드이다. 잡지의 광고에 자신들 홈페이지 주소나 경품 응모 할수있는 웹주소를 넣어놔서 독자가 http://xxx.yyy.com 같이 직접 주소를 칠 필요 없이 자신의 휴대폰에 있는 카메라를 저기에 가져다 대면 소프트웨어가 바코드를 해독해서 그 주소로 바로 연결해준다.

명함에도 사용할 수 있는데 자신의 이름, 회사명, 전화번호등을 넣은 QR code를 명함 한 구석에 넣어주면 명함을 받은 사람이 휴대폰 카메라로 QR code를 찍기만 하면 휴대폰 주소록에 자동으로 입력이 된다.


사용자 삽입 이미지

2차원의 공간에 정보를 집어넣기 때문에 상당히 많은 양의 데이터를 기록할 수 있고 코드 자체가 오류보정 기능을 가지고 있어서 인쇄된 종이의 일부분이 훼손된 경우에도 원래 데이터를 복원해 낼 수 있다.

좀 더 자세한 정보는 위키피디아QR Code.com 에서 얻을 수 있다.


QR Code Data capacity

Numeric only
Max. 7,089 characters

Alphanumeric
Max. 4,296 characters

Binary (8 bits)
Max. 2,953 bytes

Kanji/Kana
Max. 1,817 characters

 

Error Correction capacity

Level L
7% of codewords can be restored.

Level M
15% of codewords can be restored.

Level Q
25% of codewords can be restored.

Level H
30% of codewords can be restored.


관련 소프트웨어를 구할 수 있는 곳

QR Factory from NTT Docomo

QR Code를 만들어주는 PC 어플리케이션인 QR Factory를 다운받을 수 있다. 다만 영문환경/일본어 환경에서만 설치가 가능하기 때문에 설치하는데 약간의 편법이 필요하다.

Kaywa.com

웹브라우저에서 바로 QR code를 만들어준다.

또한 휴대폰에서 실행되는 QR code reader인 Kaywa reader를 다운받을 수 있다.

Posted by nautes

이전버튼 1 이전버튼