atelier:mitsuba

i love UI/UX, Blend, XAML, Behavior, P5, oF, Web, Tangible Bits and Physical computing. なにかあればお気軽にご連絡ください。atelier@c-mitsuba.com

Arduino単体でTwitterにポストする.

ArduinoEthernetシールドをくっつけて,Arduino単体でTwitterにポストするプログラムです.

Twitterのトークンの取得はStewGateの認証を使います.
http://stewgate.appspot.com/sg1/

TwitterのライブラリはStewitterライブラリを使っています.

Arduinoには,3番PINにタクトスイッチを1つ付けているだけの簡単なものです.

#include <EthernetDHCP.h>
#include <EthernetDNS.h>
#include <Ethernet.h>
#include <Stewitter.h>

const int buttonPin = 10;  
int buttonState = 0;
int tempbt = 3;
int inc = 0;

char mT[] = "Japanino post";
char tag[] = "#ardutweet";
char msg[140];

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
Stewitter twitter("ついったーのトークン");


void setup()
{
  delay(1000);
  pinMode(buttonPin, INPUT); 
  EthernetDHCP.begin(mac);   
  Serial.begin(9600);
}

void loop()
{
  buttonState = digitalRead(buttonPin);
  tempbt = buttonState;
  
  Serial.println(buttonState);
  Serial.println(tempbt);
  
  if (buttonState == HIGH&&buttonState != tempbt) {  
    post();
  }
 
  delay(100);
}


void post(){
   
      // turn LED on:
      Serial.println("test");
        inc++;
        sprintf(msg,"%s%03d%s",mT,inc,tag);
        Serial.println("connecting ...");
        if (twitter.post(msg)) {
          int status = twitter.wait();
          if (status == 200) {
            Serial.println("OK.");
          } 
          else {
            Serial.print("failed : code ");
            Serial.println(status);
          }
        } 
        else {
          Serial.println("connection failed.");
        }

  EthernetDHCP.maintain();
  
}