1.動作イメージを掴もう
今回の主役はWiFi-SDのFlashAirというものです。
←こいつ
SDカードでありながら同じWifiに接続しているPCから中身を覗けるようになるというすごいやつです。
FlashAirをレトロフリークにつければパソコンからスクリーンショットをダウンロードできるようになるわけです。

というわけで流れをザックリ説明

--------------------------------------------

レトロフリーク
↓スクリーンショット書き込み
FlashAir
↑スクリーンショットダウンロード(1分ごとに)
LinuxOS搭載PC
↓アップロード(1分ごとに)
twitter

--------------------------------------------

使うソフトウェア
・webdavクライアントソフト「cadaver」
   FlashAirの画像フォルダの情報取得に使う

・twitterクライアントソフト「tw」
   twitterへの画像投稿に使う

・cronie
   スケジュールでコマンド実行してくれるやつ。デスノートみたい

各パッケージの前提ソフトはあとで書きます。

--------------------------------------------

-めっちゃ簡単に言うとこんな動作-
1分ごとにスクリーンショットフォルダを覗いて
「新しい画像があったら」
を条件に画像をアップロードします。



-細かく言うとこんな動作-
"1分ごとに"はcronコマンドというスケジューラーを使います。
cronくんは指定したコマンドを指定した時間ごとに行ってくれるすごいやつです。

cronにアップロードまで全部やってもらいます。


次に新しい画像があるかないか調べるところです。
FlashAirの共有はwebdavといって、ブラウザで参照できるので
フォルダ構成はFlashAirのWEBソースを取得する形でやります。
(スクショ名に特殊文字が使用されているせいでwebdavクライアントからlsコマンドが通らないんですね。無念。)


↑ブラウザユーティリティ(取得したWEBソース)↑

こんな感じのファイルが置いてあって、赤枠で囲っている部分がスクリーンショットへのリンクになります。
スクショが追加されると赤枠内の行数が増えるわけです。
この増えた行を取得(diffコマンドするだけ)→スクリーンショット名以外の部分をトリミングしてスクリーンショットのファイル名を取り出します。

そうしたら後はスクリーンショット名を直接ファイル名を指定してダウンロードします。 トリミングの部分はjavaで書きました。どうせファイル名の形式は同じなんで、ファイル名だけ取れるように適当に書きゃ大丈夫です。

↑59文字目に必ずファイル名の先頭が来るのでそこからダブルクォーテーションが来るまでを取得。ゴリ押し。↑

あとはトリミングした画像名で指定してFlashAirからスクリーンショットをダウンロード。
ついでにコマンドラインでも動くtwitterクライアント(twくん)にアップロードまでやってもらいます。

ここまでの作業をshファイル(シェルスクリプト)にごちゃっとまとめたりまとめなかったりしてcronに"1分ごと"で登録したら完成です。




次_2.FlashAirの設定をしよう