위즈네트 아카데미

TUTORIAL

튜토리얼

Home  > 튜토리얼

WIZwiki-W7500 mbed 보드로 트위터 보내기

WIZnet Academy 2016.03.22 14:23 조회 수 : 34

트위터는 가장 널리 쓰이는 SNS 서비스로 최근에는 디바이스 단에서 트위터 메세지를 주고 받을수 있는 프로젝트들에 대한 시도가 많이 늘어나고 있습니다.

이번 포스팅에서는 WIZnet의 WIZwiki-W7500 보드를 통해 트윗 메세지를 보내는 방법에 대해서 소개하겠습니다.

트위터 메세지 전송방식에 OAuth를 도입하게 되면서 사실 임베디드 보드상에서 메세지를 직접 전송하기는 쉽지 않습니다. 하여 아래와 같이 프록시 (Proxy) 솔루션을 사용할 수 밖에 없습니다. 본 솔루션은 OAuth를 받을 수 있는 Twitter APP을 만드고, 이 APP을 이용하여 자신의 계정에 트윗 메세지를 보낼 수 있도록 해줍니다.
tweet-1

 

Step 1을 누르면 아래 그림처럼 자신의 계정에 메세지를 올릴 권한을 달라는 창이 뜨고, OK 해주면 사용자 Token을 받을 수 있습니다.

tweet-2

tweet-3

이제 이 Token 값을 이용해서 내 계정의 트위터에 메세지를 보낼 수 있습니다. 널리 알려진 아두이노 소스를 보면 이 값을 아래 노란색 부분에 넣어서 컴파일하여 사용하도록 합니다.

tweet-4

임베디드 보드는 큰 인증작업 없이 위의 Step으로 미리 구해놓은 키 값을 가지고 본 Twitter Proxy 서비스로 접근만 하면 됩니다. 따라서 복잡한 OAuth 대신 단순한 HTTP Client 기능 정도만 구현하고, 미리 확보해 둔 자신의 카 값만 이 Proxy 서비스로 전달해 주면 됩니다.

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

Node.jst 를 이용하여 트윗을 보내는 방법에 대해서는 우선 아래 링크의 글을 참조하여 숙지합니다.

How to tweet with Node.js

위의 글에서 구현한 내용에서 변경되는 부분은 키 값을 보드에서 보내주도록 바꿔야 합니다.

현재 구현 버젼은 보드에서 보내주도록 하기 전에 일단 받은 키를 미리 코드에 넣어 동작을 확인해 봅니다. 위의 글 링크에서 개발한 소스에서 app.js 부분에서 아래 그림과 같이 수정을 합니다.

tweet-5

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

이렇게 수정 후, IoT 보드에서는 간단하게 이 서비스 웹서버의 특정 페이지를 호출하기만 하면 됩니다. (본 포스팅세서는 http://[IP Address]:3000/twitter/tweet 로 HTTP 호출만 하면 됩니다)

tweet-6

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

아래는 코드입니다. 보시느바와 같이 매우 간단합니다.

tweet-7

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

mbed 보드에서는 UART를 통해 출력합니다.

tweet-8

트위터를 열어보면 보드에서 보낸 메세지와 시간 정보와 함께 업데이트 되고 있습니다.

tweet-9

 

간단하게 트위팅 머신 만드는 방법에 대해서 설명했습니다.

Node.js 등에 대한 좀더 자세한 내용은 아래 출처 글에서 확인해 주세요~

글 출처 : 오늘을 살자