Twitterライブラリのテスト

Super Tweetを使う。 http://www.supertweet.net/about/documentation

railsでアプリを作った。(よくわかってなかったから 必要なのかと思ったら関係無かった) http://mbedautotweeter.heroku.com/

手順は、

(1)mbedがSuperTweetにPOST(SuperTweetはあらかじめTwitterアプリとして認証しておく)

(2)SuperTweetがBASIC認証(キーは登録画面で指定しておく)でTweet

ととてもシンプル。

ハードウェアの方の準備は、 イーサネットケーブルをスターオレンジボードに指すだけという無茶苦茶な手軽さ。

まず、ここの日本語のページを参考にした。

http://mbed.org/users/nxpfan/notebook/lets_try_twitter_jp/

このTwitterExampleというコードを使う。

http://mbed.org/users/donatien/programs/TwitterExample/5yhxk

パスワードだけ変えてコンパイルすると、こんなエラーが。

ググるとHTTPClientを使えと書いてあった。 http://mbed.org/forum/mbed/topic/1358/?page=1#comment-6632

(さっきのコードは作った人の環境に依存するコードみたい?) ここのHTTPClientExampleを拝借し、LCDのライブラリを追加。 http://mbed.org/users/AdamGreen/programs/HTTPClientExample/m9eeoe

#include "mbed.h"
#include "EthernetNetIf.h"
#include "HTTPClient.h"
#include "TextLCD.h"

TextLCD lcd(p24, p26, p27, p28, p29, p30); // rs, e, d0-d3
EthernetNetIf eth; 

int main() {

  printf("Init\n");

  printf("\r\nSetting up...\r\n");
  EthernetErr ethErr = eth.setup();
  if(ethErr)
  {
    printf("Error %d in setup.\n", ethErr);
    return -1;
  }
  printf("\r\nSetup OK\r\n");

  HTTPClient twitter;
  
  HTTPMap msg;
  msg["status"] = "Hello from ARM microcontroller!"; //A good example of Key/Value pair use with Web APIs

  twitter.basicAuth("username", "registered_key_to_supertweet"); //We use basic authentication, replace with you account's parameters
  
  //No need to retieve data sent back by the server
  HTTPResult r = twitter.post("http://api.supertweet.net/1/statuses/update.xml", msg, NULL); 
  if( r == HTTP_OK )
  {
    printf("Tweet sent with success!\n");
    lcd.cls();
    lcd.printf("Tweet sent with success!\n");
  }
  else
  {
    printf("Problem during tweeting, return code %d\n", r);
    lcd.cls();
    lcd.printf("Error code %d\n",r); 
     }
  
  return 0;

}

(補足)HTTPClientでauthできるみたい。SuperTweetを使わない方法。 http://shokai.org/blog/archives/5122


Please log in to post comments.