본문 바로가기

트위터 보내기

제일 유명하고 쉽게 인터넷의 연결을 보여줄 수 있는 예제이다.

문제가 있다.


OAuth 를 도입하면서 임베디드 보드상에서 이를 전체 구현해서 동작시키기란 쉬운 일이 아니다.

해서, 그림과 같은 프락시(Proxy) 와 같은 솔루션을 이용할 수 밖에 없다.

OAuth를 받을 수 있는 Twitter APP을 만들고, 이 APP을 이용하여 자신의 계정에 트윗 메시지를 보낼 수 있도록 해준다.


step 1을 누르면 아래 그림처럼 이 앱을 자신의 계정에 메시지를 올릴 권한을 달라는 창이 뜨고, ok 해주면 사용자 token을 받을 수 있다.


이제 이 token 값을 이용해서 내 계정의 트위터에 메시지를 보낼 수 있다.

널리 알려진 아두이노 소스를 보면 이 값을 아래 노란색 부분에 넣어서 컴파일해서 사용하도록 한다.

즉, OAuth 라는 큰 장벽을 넘을 수 없기 때문에, 위의 방식과 같이 돌아가야 한다는 것이다.

물론 이제는 임베디드 보드는 큰 인증작업 없이 위의 step으로 미리 구해놓은 키 값을 가지고 이 Twitter Proxy 서비스로만 접근하면 된다.

따라서 복잡한 OAuth대신에 단순한 HTTP Client 기능 정도만 구현하고, 미리 확보해 둔 자신의 키 값만 이 Proxy 서비스로 전달해 주면 된다.


맨날 남의 서비스만 사용하고 있어, 욕심을 내봤다.

내 PC에 유사한 서비스를 구현해서 전부 우리 기술로 해보자.

이미 기본적인 내용은 이전 글에서 다 나와 있다.

How to tweet with Node.js - 트윗을 보내보자.

변경되는 부분은 키 값을 보드에서 보내주도록 바꿔야 한다.

현재 구현 버전은 보드에서 보내주도록 하기 전에 일단 받은 키를 미리 코드에 넣어 동작을 확인해본다.

앞서 개발한 링크의 소스에서 app.js 부분에서 아래 그림과 같이 수정을 한다.



노란 박스의 내용처럼 인증받은 user.token, user.tokenSecret 대신에 확보한 키 값을 직접 넣어서 큰 복잡한 절차없이 메시지를 보내도록 한다.

이렇게 수정해 두니,

IoT 보드에서는 간단하게 이 서비스 웹서버의 특정 페이지를 호출하기만 하면 된다.

본 글에서는 http://[IPaddress]:3000/twitter/tweet 로 HTTP 호출만 하면 끝

결과는


오른쪽의 센서부분에 손가락을 대면, 아래 코드에 따라 Proxy가 돌고 있는 서버로 접속하여 트윗 메시지를 보내라고 요청한다.


코드는 너무 간단하지. 이게 다 Proxy 덕분~~

로그를 보면, 접속을 하고 자신의 트위터를 확인하라는 메시지를 당당하게 찍어 주고 있다. 

이전 글에서는 PC 브라우저에 나타나는 메시지들이지만 mbed board에서는 UART를 통해 출력해 주었다.


당연히, 트위터에는 시간과 함께 메시지가 떡 하니 와 있다.



간단한 Tweet Button 만들기 끝..



B로그0간

개발 관련 글과 유용한 정보를 공유하는 공간입니다.