使ったのは
Arduino Uno
Arduino Ethernet Shield Rev3 without PoE Module
TP-LINK TL-WR702N
難しいことは良くわからないので、Arduino+twitterで検索していたら「Stewitter」という便利なものを発見
なんでも作っちゃう、かも。のStewitterの使い方とコードの書き方を参考に書いてみた。
そしたら簡単に書き込めた。
Stewitterの作者のarms22さん、ありがとうございます。
#include <SPI.h>
#include <Ethernet.h>
#include <Stewitter.h>
// MACアドレスを↓に書く
byte mac[] = {
0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF };
// "YourToken"を先ほど手に入れたトークンを書く。
Stewitter twitter("ここにトークンを入力");
// メッセージ(日本語もOK)
char msg1[] = "upupu";
char msg2[] = "gahahaha";
void setup()
{
delay(1000);
Ethernet.begin(mac);
Serial.begin(9600);
Serial.println("connecting ...");
// twitterに接続して、メッセージを送信
if (twitter.post(msg1)) {
// 完了を待つ
int status = twitter.wait();
// status が 200なら正常に完了
if (status == 200) {
// レスポンスを表示
Serial.println(twitter.response());
delay(1000);}
if (twitter.post(msg2)) {
int status = twitter.wait();
if (status == 200) {
Serial.println(twitter.response());
}}
else {
Serial.print("failed : code ");
Serial.println(status);
}
}
else {
Serial.println("connection failed.");
}
}
void loop() {
}
これでTwitterに書き込み成功!
そして、このコードを利用して「約200円で土壌水分センサーを作ってみた」のコードを流用して定期的に水分の値をつぶやくようにしてみた。
が
void loopの中に
わからないことがあったらArduino forumで聞けってメーカーズ(Makers)のクリスアンダーソンが言っていたのを思い出した。そして実際に聞いてみたら、イギリス紳士が丁寧に教えてくれた!
そしてできたコードがこちら
RubyもPHPも挫折した文系ですが、調べて、質問して、試行錯誤すればArduinoを使えるんですね。オープンソースの恩恵ですね。
今からArduinoを始めたい人は、これを買うといいですね。自分もこれを使っています
が
void loopの中に
if (twitter.post(msg)) {を入れるだけだと、エラーが出てします。C言語が良くわからないので調べながら試行錯誤。。。でもできなかった
// 完了を待つ
int status = twitter.wait();
// status が 200なら正常に完了
if (status == 200) {
// レスポンスを表示
Serial.println(twitter.response());
delay(1000)
わからないことがあったらArduino forumで聞けってメーカーズ(Makers)のクリスアンダーソンが言っていたのを思い出した。そして実際に聞いてみたら、イギリス紳士が丁寧に教えてくれた!
そしてできたコードがこちら
#include <SPI.h>
#include <Ethernet.h>
#include <Stewitter.h>
//ここにMacアドレスを入力↓
byte mac[] = { 0xAA, 0xAA, 0xAA, 0xAA, 0xAA, 0xAA };
// stewgate.appspot.comで入手したトークンを入力
Stewitter twitter("ここに入力");
int moistureSensor = 0;
int moisture_val;
void setup()
{ delay(1000);
Ethernet.begin(mac);
Serial.begin(9600); //open serial port
}
void loop()
{moisture_val = analogRead(moistureSensor); // read the value from the moisture-sensing probes
Serial.print("moisture sensor reads ");
Serial.println( moisture_val );delay(120000);//2分間停止させます。Twitterは同じ内容のつぶやきを連続して書き込めないらしい
char text[32]; // make sure this is long enough to hold your entire message, including the null terminators
printf(text, "My sensor reading is %d", moisture_val);
if (twitter.post(text)) { // 投稿の完了を待つ int status = twitter.wait();} //If status is 200, it means succeed
if (twitter.wait() == 200) { // 返信を読む
Serial.println(twitter.response());プログラムのことはよくわかりませんが、イギリス紳士?な方のおかげでちゃんとできました!
} }
RubyもPHPも挫折した文系ですが、調べて、質問して、試行錯誤すればArduinoを使えるんですね。オープンソースの恩恵ですね。
今からArduinoを始めたい人は、これを買うといいですね。自分もこれを使っています
No Comment to " 土の中の水分をつぶやく "