0

Arduino+XPort+Perl+WebService

ArduinoにXPortでIP持たせて、そこにPerlからデータをプッシュする。

s.h.log: XPortをEthernet-UARTコンバータとして使うの通りにXPortを設定する。

そこに、明日の天気のデータをLivedoorお天気のRSSからパースしてsocketで送ると、

socket通信をXPort越しにArduinoで受け取れるので、晴れ/曇り/雨でそれぞれLEDを光らせる「てるてる坊主」を作ろうというもの。

最初は今日の天気だったが、よく考えたら今日の天気は空見ればわかるから、Date::Simple使って明日の天気になった。

あと、送信データもstringではなくchar一文字でいいやという事になった。Arduinoには文字列比較系の関数が無いし、heepが無いマイコンに無理させる必要も無いし。

以下は暫定版のArduino&Perlコード。

physicalとwebに向いているのをそれぞれで分業させたので、結構短く書けて楽だった。

これでテンプレートができたので、GoogleCalendarから予定引っ張ってきて枕に振動モータ突っ込んで起こすとか1時間あれば作れる。

Read more

2

Del.icio.usとはてなブックマークをクロスポスト

CPANモジュールのWebService::SyncSBS::D2Hを使って、Deliciousはてブを同期させた。

I have synced two Social Bookmark Services, Delicious and Hatena by using WebService::SyncSBS::D2H.

WebService::SyncSBS::D2H – del.icio.us and hatena bookmark sync – search.cpan.org

/home/sho/src/perl/070204_delicious2hateb/d2h.pl

usestrict;

usewarnings;

useutf8;

useWebService::SyncSBS::D2H;

my$sbsync=WebService::SyncSBS::D2H->new({

delicious_user=>”your-delicious-username”,

delicious_pass=>”your-delicious-password”,

hatena_user=>”your-hatena-username”,

hatena_pass=>”your-hatena-password”,

delicious_recent_num=>40,

});

$sbsync->sync;

use utf8;しておかないと、delicious側で日本語タグを付けた時にはてブ側で文字化けする。

そしてcrontabで30分毎に回す。

*/30 * * * * /usr/bin/perl /home/sho/src/perl/070204_delicious2hateb/d2h.pl

実際動かすのはすぐだったけど、cpanモジュールを入れるのに手こずった。

Read more