2010년 1월 27일 수요일

구글보이스를 사용해서 미국으로 무료로 전화 걸기 (Unlimited free call to US by using Google Voice)

구글 보이스를 사용하면 미국 전화번호로 무제한 무료로 전화를 걸 수 있다.
다만 한국에서 결정적으로 구글 보이스를 사용할 수 없는 것은 처음에 서비스를 활성화 시켜주기 위해서는 미국 전화번호가 있어야만 한다는 것 때문이다.
하지만 이전 포스트에서 설명한 방법을 사용하면 무료로 미국 전화번호를 얻어 사용할 수 있다.


구글 보이스 초대장을 방으면 초대장 안에 있는 링크를 클릭한다.


이미 구글을 사용하고 있는 경우는 자신의 구글 암호만 넣어주면 된다.


이미 사용하고 있는 번호를 그대로 사용할 것인가, 아니면 새 번호를 만들것인가를 물어본다. 한국에 살고 있으면 이미 사용하고 있는 번호는 없으니 당연히 새 번호를 선택한다.


첫번째 단계로 희망하는 번호를 선택할 수 있다. 자신의 지역번호, 우편번호, 또는 전화번호에 집어넣고 싶은 단어나 숫자를 넣어주면 된다.


원하는 번호가 없는 경우 이런 식으로 나오고 Search again을 할 수 있게 된다.


매치되는 전화번호가 있으면 이런식으로 목록을 보여주고 그 중에 하나를 선택하면 된다.


번호를 선택하면 비밀번호를 선택해 준다. 전화로 걸었을 때의 비밀번호이기 때문에 4자리 숫자를 사용한다.


다음에는 구글보이스와 연동시킬 전화번호를 물어본다. 여기에 IPKall에서 할당받은 전화번호를 넣어주면 된다.


그러면 위와 같은 화면이 나오면서 인증을 요구한다. Call Me Now 버튼을 눌러준다.


그러면 IPKall에 설정되어 있는 곳으로 전화가 온다. 이 전화를 받은 다음 전화기 키패드로 위의 인증코드(여기서는 '22')를 눌러주면 인증이 끝난다.


이것으로 구글 보이스 설정이 다 끝난 것이다.

이제 구글 보이스를 사용해서 미국으로 전화를 걸어 보겠다.


구글보이스 화면의 왼쪽 상단에 보면 Call 버튼이 있다.


전화를 걸 상대방 전화번호를 넣어주고 Connect 버튼을 눌러준다.



그러면 Calling you.....라고 나오고 먼저 나(여기서는 앞에서 등록해 놓은 IPKall 전화번호)에게 전화를 건다.


구글 보이스가 먼저 나에게 전화를 걸어 온다.


내가 구글 보이스에게서 온 전화를 받으면 그때서야 구글 보이스가 상대방에게 전화를 걸어 통화를 시작한다.

이 방법을 사용하면 내 컴퓨터에서 미국 유선전화/휴대폰 가리지 않고 무료로 통화를 할 수 있다.


국제로밍을 하지 않고 자신의 휴대폰으로 걸려오는 전화를 외국 전화기에서 받기

장기간 해외 여행이나 출장을 가는 경우 휴대폰을 로밍이라도 해 가면 통신비용이 엄청난 부담이 되기 쉽다. 특히 한국에서 걸려올 전화가 많은 경우 로밍은 완전 요금폭탄이다.
이 경우 스카이프를 사용하면 저렴한 요금으로 자신에게 걸려오는 전화를 외국에서 받을 수 있다.



이 방법을 사용하려면 먼저 스카이프에서 skype in 서비스를 신청해야 한다. 이 서비스를 신청하면 070-xxxx-yyyy 라는 전화번호를 부여받게 된다. 이 서비스는 3개월에 12000원, 12개월에 36000원 (부과세 별도)이고 한달 단위로는 구입할 수 없다.

그리고 여행/출장을 갈 국가에서 전화를 걸기 위해 무제한 요금제에 가입하던가 아니면 skype credit을 구입해야 한다.


이건 옥션을 통해 구입하는것보다 직접 skype.com에서 구입하는게 다양한 요금제가 있다.


만일 미국/캐나다로 가는 경우는 Unlimited US & Canada에 가입하면 된다. 그러면 미국/캐나다 전화는 유선전화/휴대폰에 관계 없이 기간 내에는 무제한으로 전화를 걸 수 있게 된다.

Unlimited World로 전화를 걸 수 있는 국가는 위와 같다. 그리고 저 국가들 중에 빨간색으로 표시한 국가는 유선전화/휴대폰 관계 없이 무제한으로 전화를 걸 수 있고 나머지 국가는 유선전화만 무제한으로 걸 수 있고 휴대폰으로 걸 경우는 Unlimited world서비스에 가입되어 있어도 추가로 skype credit이 있어야 한다.
자신이 여행할 목적지에 따라 적절한 서비스를 선택해주면 된다.

그러면 준비는 끝난 것이다.

이제 출국하기 전에 자신의 전화기로 오는 전화를 스카이프로 착신전환(Call Forwarding)하도록 해 주면 된다.

착신전환 설정 방법은 통신사마다 다르다.

- SKT 착신전환(무멘트로 설정됨)
착신전환 설정 : *71 + 착신희망번호 -> 통화
착 신전환 해제 : *73 -> 통화
Tworld에서 사이버 리모콘 서비스를 통해서도 설정 가능

- KTF 착신전환
안내멘트 나오고 연결 : *71 + 착신희망번호 -> 통화
안내멘트 없이 연결 : *71 + 착신희망번호 + * -> 통화
착신전환 해제 : *710 -> 통화

- LGT 착신전환
안내멘트 나오고 연결 : *71 + 착신희망번호 -> 통화
안내멘트 없이 연결 : *71 + 착신희망번호 + * -> 통화
착신전환 해제 : *710 -> 통화
일반전화 또는 다른 폰을 이용할 경우(무조건 안내멘트 없이 설정됨) :
019-200-8282 → 이동전화번호 → * → 안내 멘트에 따라 2번 착신전환을 선택 후 등록 및 해제 가능

예를 들어 내가 할당받은 스카이프 번호가 070-2345-6789 이고 내가 KTF의 휴대폰을 사용하고 있다면 자신의 전화기에서 *7107023456789* + [통화] 를 눌러주면 된다.



이제 한국에서 해야 할 일은 모두 끝났다. 해외 현지에서 선불폰(또는 SIM)을 구입해서 휴대폰을 사용할 수 있게 한다.


휴대폰을 사용할 수 있게 되면 컴퓨터에서 스카이프로 로그인해서 설정 화면으로 간다. 설정화면의 Calls 탭을 선택하면 위와 같은 화면이 나온다. 여기서 Forward unanswered calls after (    ) seconds를 체크해주고 시간은 0초, 그리고 자신의 휴대폰 번호를 넣어준다. 휴대폰 번호는 국가코드까지 같이 넣어주면 된다. 만일 휴대폰 번호가 213-456-7890인 경우 위와 같이 +12134567890 으로 넣어주면 된다. (참고로 미국의 국가 코드가 1, 일본은 81, 한국은 82이다.)

이제 한국에서 누군가 내 한국 휴대폰 번호로 전화를 걸면 그게 스카이프를 타고 해외로 건너와 외국에서 사용하는 휴대폰으로 전달되어 링이 울리고 통화를 할 수 있게 된다.

* 다른 나라들은 휴대폰으로 통화를 위해 스카이프 크레딧이 필요해서 비용이 많이 들 수 있지만 미국, 캐나다, 중국, 홍콩, 싱가폴, 태국으로 한달 이상 출장등을 가는 경우 이렇게 설정해주면 약 월 20000원 정도의 정액으로 국내 휴대폰으로 걸려오는 전화를 해외에서 모두 받을 수 있게 되어 업무상 전화요금을 대폭 줄일 수 있다.

* 참고로 미국의 휴대폰은 전화를 걸때 뿐 아니고 받을때도 요금이 부과되기 때문에 만일 선불폰에 300분을 충전 해 놓았다고 하면 내가 단 한통도 전화를 걸지 않더라도 받는것만 300분을 채우면 충전된 액수가 모두 없어진다. 다만 출장인 경우 사무실에 있는 동안이나 숙소에 있는 동안은 그곳의 유선전화로 포워딩 해 놓으면 미국 휴대폰 요금을 줄일 수 있을 것이다.


무료로 미국 전화번호 만들기 (Get free US phone number for incoming calls)

미국에 자신의 수신 전용 전화번호를 완전 무료로 만들 수가 있다.


IPKall.com 에서는 미국 워싱턴 지역의 전화번호를 무료로 만들어 준다. 비용은 하나도 없고 단지 한달에 최소 한번 이상 사용하지 않으면 발급받은 번호가 없어진다. 위의 화면에서 Sign-up을 눌러 계정을 만들어 준다.


Sign-up화면에서 필요한 정보를 넣어준다. Area Code는 현재 워싱턴의 지역코드(미국의 수도인 워싱턴 D.C.가 아닌 워싱턴 주)인 206, 253, 360, 425중에 선택할 수 있다. 지역코드만 선택할 수 있고 전화번호는 임의로 부여된다.
여기서 가장 중요한 정보는 SIP Phone number와 SIP Proxy이다. 할당받은 번호로 전화가 걸려 왔을 때 실제로 전화를 받을 SIP타입 IP폰의 정보를 정확하게 넣어줘야 한다. 이 정보는 자신이 어떤 디바이스, 서비스를 사용하는가에 따라 다르기 때문에 각자 확인해야 한다.


이건 SIP클라이언트로 Gizmo5를 사용하는 경우의 정보이다. 이럴 경우 SIP Phone number에는 1747xxxyyyy 를, SIP Proxy에는 proxy01.sipphone.com을 넣어주면 된다.


모든 정보를 집어넣어 문제가 없으면 자신의 이메일 주소로 위와 같은 메일이 날라온다. 메일에 보면 앞으로 자신이 사용할 수 있는 미국 전화번호가 들어있다. 이것으로 모든 설정이 끝난 것이다. 이제 누군가가 위의 전화번호로 전화를 걸면 내가 전 세계 어디에 있건 내 SIP phone에 링이 울리고 통화를 할 수 있다.

Gizmo5가 상당히 편하고 Google Voice와 연동하면 훨씬 다양한 기능을 사용(미국 전화번호로 무제한 무료 전화걸기 등등)할 수 있는데 얼마 전 구글이 인수한 후 현재 신규가입이 당분간 중단되어 있는 상태이다.


그 대안으로 컴퓨터에서는 SIP Communicator를 사용할 수도 있다.


오픈소스 소프트웨어로 거의 모든 플랫폼을 지원한다.


맥용을 다운받아 처음으로 실행한 화면이다. 통합 메신져로 SIP 뿐 아니고 다른 메신져도 같이 사용할 수 있다. 일단 SIP 어카운트가 없기 때문에 상단 좌측의 SIP 부분에서 Not registered yet?을 눌러준다.


그러면 웹 브라우져에 위와 같은 가입화면이 열린다. 필요한 정보를 넣고 등록해주면 된다.



간단하게 등록이 끝나고 자신의 SIP address(IP폰의 전화번호)가 생긴다.


등록이 끝났으면 다시 SIP communicator로 돌아와서 아이디와 암호를 넣고 로그인 해 주면 된다. 위의 화면은 정상적으로 로그인이 된 상태이다.


SIP communicator를 위의 IPKall 서비스와 연동해서 전화가 걸려오면 컴퓨터로 받고 싶으면 IPKall 계정을 만들 때 SIP Phone number에는 [자신의ID] 를 넣어주고 SIP Proxy에는 sip.iptel.org 를 넣어주면 된다.

* 물론 아이폰이나 다른 스마트폰에서 Fring이나 Nimbuzz같은 SIP 클라이언트를 연동시켜 줘도 된다.

* 삼성 070 의 경우도 설정해주면 미국번호로 걸려오는 전화를 한국의 집에 있는 전화로 받을 수 있을거 같은데 실제 실험을 해 보지 않아서 100% 된다고 장담은 못하겠다. 누군가 집에 070을 사용하는 사람이 있으면 실험해 보고 결과를 알려주면 감사하겠다.
이 경우 SIP Phone number에는 [자신의 전화번호] 를, SIP Proxy에는 sniproxy.samsung70.com 을 넣어주면 될 것이다. -> 확인 결과 아쉽게도 삼성 070으로 포워딩은 안된다고 한다.

2010년 1월 24일 일요일

TI의 CC430을 사용한 무선 도어 개폐 시스템 (Wireless door controller using eZ-430 Chronous)

TI에서 무선통신 기능을 가지고 있는 초저전력 마이크로 프로세서인 CC430을 사용한 데모보드로 만든 eZ430-Chronos라는 키트($49)가 있다.


사진에서 보는것처럼 시계 안에 CC430 프로세서와 3축 가속도 센서 및 고도/온도 센서가 들어 있다. 또한 시계의 프로그래밍과 디버깅을 위한 USB동글(사진 왼쪽), CC430과 무선 통신을 위한 USB동글(사진 오른쪽)이 키트 내에 기본으로 포함되어 있다.

이 키트를 사용해 도어락 제어 시스템을 만든 사람들이 있다.



위의 동작 영상에서 볼 수 있는것처럼 시계를 차고 문에 가까이 접근하면 시계가 문에 있는 시스템과 통신을 하게 된다. 미리 페어링이 되어 있지 않은 시계는 문을 열 수가 없다. 일단 서로 페어링 된 디바이스란게 확인되면 시계에 정해진 암호를 넣어줘야 한다. 여기서 멋진 아이디어는 별도의 스위치를 누르는게 아니고 시계를 가볍게 두드려 주면 된다. 시계의 3축 가속도 센서를 이용해 가볍게 두드릴 때의 충격을 감지한다. 즉 탁(두드리는 소리) - 잠시 휴식 - 탁 - 탁 - 탁 - 휴식 - 탁 - 휴식 같은 식으로 정해진 코드를 입력하면 된다. 이 두드림간의 시간 간격이 문으로 전달되어 기록되어 있는 암호와 비교하게 된다. 물론 이 시간간격은 normalized되기 때문에 매번 정확한 시간 간격으로 두드리지 않아도 된다. 즉 어떤 리듬감을 가지고 두드린다면 그 리듬을 좀 빠르게 하거나 느리게 해도 normalized되면 동일한 암호로 인식하게 된다.

예를 들어 [탁 - 0.5초 휴식 - 탁 - 0.8초 휴식 - 탁 - 0.2초 휴식 - 탁 - 0.5초 휴식 - 탁] 이나 [탁 - 0.25초 휴식 - 탁 - 0.4초 휴식 - 탁 - 0.1초 휴식 - 탁 - 0.25초 휴식 - 탁] 은 동일한 리듬으로 인식한다.

CC430은 초저전력 프로세서로 만들어 졌기 때문에 시계의 경우 하루에 약 10번정도 문을 연다고 하면 시계에 들어가는 220mA 코인셀 배터리인 경우 약 4년, 문은 하루 30번 정도 개폐한다고 하면 2500mAh, 1.2V 배터리 4개를 직렬로 연결해 사용하는 경우 약 1년 8개월 정도 사용할 수 있다고 한다.

회로도 및 상세한 기술적 사항의 확인, 소프트웨어 다운로드는 https://ziyan.info/2010/01/secure-wireless-door-lock/ 을 보면 된다.

2010년 1월 22일 금요일

아이폰 화면을 외부로 출력해서 TV나 프로젝터로 보기 (how to mirror iPhone screen to the external display)



현재 순정 아이폰에서는 AV케이블을 연결해도 항상 아이폰 화면이 출력되는게 아니고 동영상 플레이나 사진 보기 정도만 화면이 외부 출력이 가능하다.
하지만 탈옥한 경우 ScreenSplitr이라는 app을 사용하면 AV케이블로 화면 출력을 토글(on/off) 해 줄 수 있다. 이 app은 무료이고 오픈소스라 코드도 공개되어 있다.
이 앱을 사용하면 항상 화면을 외부로 출력할 수 있어 프로젝터에 연결하면 큰 화면으로 여러 사람들에게 프리젠테이션 할 때 유용하게 사용할 수 있다.






또한 ScreenSplitr 개발자가 거기서 한 발자국 더 나가 DemoGod이라는 맥용 어플리케이션도 제공하고 있다.
DemoGod을 사용하려면 아이폰에 ScreenSplitr가 설치되어 있어야 한다.
맥에서 이 프로그램을 사용하면 아이폰 화면을 무선랜을 통해 미러링 할 수 있게 된다.



위의 동영상에서 볼 수 있는것처럼 맥의 모니터에 아이폰의 화면이 무선랜을 통해 전달되어 똑같이 나타나게 된다. (미러링) 무선랜을 통해 화면을 전달하기 때문에 동영상 플레이는 별로 유용하지 않겠지만 강연이나 프리젠테이션 등에서 아이폰 화면을 여러 사람들에게 보여줘야 하는 경우 유용하게 사용할 수 있을 것이다.

* 단 iPhone 3GS부터는 AV케이블에 인증칩이 들어간것만 사용할 수 있게 되어 3G에서 잘 사용하던 AV케이블이라 해도 3GS에 연결하면 동작하지 않는다. AV케이블을 구입하는 경우 3GS에서 사용할 수 있는 제품인지 꼭 확인하길 바란다.

ScreenSplitr는 cydia에서 구할 수 있고 DemoGod는 http://screensplitr.com/ 에서 다운받을 수 있다.

2010년 1월 20일 수요일

저항타입의 센서 사용하기 (how to use resistor-type sensor)

임베디드 보드에서 저항 타입의 센서를 사용하는 방법에 대해 알아보기로 하겠다.


위의 사진은 온도센서이다. 온도의 변화에 따라 저항값이 달라진다.

센서의 값을 읽으려면 기본적으로 다음과 같은 회로를 사용하면 된다.


위의 그림에 있는 공식과 같이 두개의 저항값에 따라 출력되는 전압이 달라지게 된다.


출력 전압은 위의 예제와 같이 두 저항값의 비율에 따라 결정된다.


위의 그림과 같이 하나의 저항값(R1)은 고정시켜 놓고 다른 저항(R2) 대신 저항 타입의 센서를 연결해 주면 온도의 변화에 따라 저항값이 변하고 결국 출력 전압이 따라 변하게 된다. 이 전압을 A/D 컨버터를 통해 읽어주면 된다.




센서의 온도의 변화에 따른 저항값의 변화표이다. 대략 -20도에서 125도 까지의 온도를 측정하고 싶다면 센서의 저항값은 100Kohm에서 0.33Kohm까지 변하게 된다.
이 센서를 위의 회로에 사용하려면 R1값을 결정해 줘야 한다.


R1의 값을 10 Kohm으로 했을 때 온도의 변화에 따른 출력전압의 변화를 계산한 것이다.


R1의 값을 1 Kohm으로 했을 때 온도의 변화에 따른 출력전압의 변화를 계산한 것이다.


동일한 정도의 온도변화에 대해 전압의 변화가 크고 리니어해야 온도를 읽는데 오차가 작아지고 정확하게 읽을 수 있다.
그러므로 위의 두개의 그래프에서 보듯이 주 사용환경이 -10~70도 사이라면 R1 저항으로 10 Kohm을 사용하는게 좋고 사용환경이 10~120도 사이라면 R1 저항으로 1 Kohm을 사용하는게 좋다.

오차를 최소화해서 정확하게 온도를 읽으려면 전압-온도 형태의 lookup table을 사용하면 되고 그 정도까지 정확할 필요가 없어 간단하게 하려면 저 구간에서는 온도-전압의 변화가 거의 리니어하기 때문에 간단한 수식으로 계산해도 된다.

R1이 1 Kohm인 경우 25도인 경우 전압이 4.545V, 125도인 경우 전압이 1.24V니까 직선의 기울기는 (1.24-4.545)/(125-25) = -0.033이 된다. 이 경우 Vo = -0.033T+5.365 라는 공식이 나오기 때문에 T = (5.365-Vo) / 0.033 이 된다. 즉 A/D컨버터의 전압값을 읽어 저 공식에 집어 넣으면 온도를 구할 수 있게 된다.

* 물론 좀 더 정확하게 하기 위해서는 calibration 과정을 거쳐줘야만 한다.

이 포스팅에서는 온도센서를 예로 들었지만 그 이외에도 환경의 변화에 따라 저항값이 변하는 타입의 센서(CDS photocell 등)는 모두 동일한 방식으로 사용하면 된다.

2010년 1월 12일 화요일

맥의 Mail에서 gmail 설정하기

먼저 Mac OS X에서 Mail을 실행한다. (여기서는 Mac OS X 10.6 Snow Leopard에서 Mail 4.2를 기준으로 한다.)


메뉴바에서 Mail을 선택한다.


풀다운 메뉴에서 Preferences...를 선택한다.


Preferences 창에서 Accounts 탭을 선택한다.


화면 아래쪽의 '+' 버튼을 눌러준다.


Add Account 창이 열리면 이름, gmail 주소, gmail 암호를 넣어주고 Create버튼을 누른다.


Create버튼을 누르면 프로그램이 자동으로 gmail과 연결하여 필요한 정보를 수집하고 암호가 맞는지 확인해서 위와 같이 정보가 자동으로 입력된다.



만일 gmail 계정의 imap이 활성화 되어 있지 않은 상태면 위와 같은 화면이 나오게 된다.
이 경우 먼저 gmail로 가서 imap을 활성화 시켜 줘야 한다.


gmail 우측 상단의 Settings를 눌러준다.


Settings 화면에서 Forwarding and POP/IMAP 을 선택해 준다.


화면 아래쪽 IMAP Access에 보면 IMAP is disabled 를 확인할 수 있을 것이다. 먼저 Enable IMAP을 선택해주고 아래쪽의 Save Changes를 눌러 변경된 설정을 저장해주면 된다.
이제 다시 mail에서 계정을 추가해주면 이번에는 문제없이 될 것이다.