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時間あれば作れる。