半年ほど前にハマっていた、電子工作。
Arduinoの農業利用を真剣に考えて
アレコレ模索するものの
マネー的な持ち合わせが無く
財布の中身と相談して
ギリギリ購入できる装備の中で
(※本体、温度計、イーサネットシールド)
パフォーマンスをめいっぱい発揮できそうだったのが
「温度を読みとってそれをツイートする装置」
しかし、これが難題だった。
Arduinoという電子機器に、USB経由で
PCからプログラム(スケッチ)を入れるのだが
言語がまったくわからないという
昨日あたりにも書いたかと思われる
言葉の壁にぶちあたった。
その辺りはやはり持ち前の検索力でカバーするも
いや、カバーしようにも
どのサイトもスケッチの内容が違っていて
書いてある通りにしてもそれぞれがうまくいかず
アレンジしようものなら即座にエラーを吐き出し
Arduinoを購入した週の土日は
完全にその模索で潰れてしまった。
で、まぁなんとか
いろいろなサイトからもってきたものを
組み合わせたり削ったりして
翌月曜日に完成したスケッチが以下の通り。
#include
#include
#include
float data,temp;
String strMsg;
int temp1,temp2;
int count = 0;
// MACアドレス
byte mac[] = {
ここにMACアドレスを入力してください };
// “YourToken”をあなたのトークンで書き換えてください。
Stewitter twitter(“YourToken”);
void setup(){
delay(1000);
Ethernet.begin(mac);
Serial.begin(9600);
Serial.println(“connecting …”);
}
void loop(){
count ++ ;
//countに+1
// twitterに接続して、メッセージを送信
delay(3000);
data = analogRead(A0);
temp = (data*5)/1024*100;
temp1 = temp;
temp2 = int(temp*10)%10;
strMsg = String(“現在の気温は”);
strMsg += temp1;
strMsg += “.”;
strMsg += temp2;
strMsg += “度です。(“;
strMsg += count;
strMsg += “)”;
char msg[255];
strMsg.toCharArray(msg, 255);
if (twitter.post(msg)) {
// 完了を待つ
int status = twitter.wait();
// status が 200なら正常に完了
if (status == 200) {
// レスポンスを表示
Serial.println(twitter.response());
}
else {
Serial.print(“failed : code “);
Serial.println(status);
}
}
else {
Serial.println(“connection failed.”);
}
delay(180000);
}
半年経った今見ても頭が痛い…。
何がどういうことなのか、
実はほとんど理解していないのですが
本体+イーサネットシールドをそれぞれ
電源とLANに有線接続してやった状態で
このスケッチを実行したところ
うまくいきました。
(※要MACアドレス&トークン)
わかる方にはわかると思うので
一応ここに置いておきますね。
善き農業ライフを!