2009年7月28日火曜日

ライブカメラの動態検知画像をTwitterに自動投稿


 Twitterをはじめてみて、その面白さにはまっている。iPhone上でも一番使用頻度が高いのがTwitterクライアントアプリで、最近はTweetieがお気に入り。Mac上でも、Tweetie for Macを使っている。Twitterって、それほど複雑でない単純な機能だけしか持っていないが、だからこそそれを素材として利用するいろんな周辺サービスが充実している。そしてAPIを公開していることもあって、いろんなマッシュアップの試みもされているけれど、そんなおおげざなことではなくて、個人レベルでもアイデア次第で面白い使い方ができるのではないかと思う。

 うちには、猫用の(といっても猫が使うわけではないが)ライブカメラを何台か設置してある。そのライブカメラの映像は静止画や動画、はたまたTimelaps動画などで楽しんで貰っている。そこで、このライブカメラの映像をTwitterのタイムラインに載せたらどうなんだろうと思いついたというわけで、本日のエントリは、ライブカメラの映像をメールでTwitterに投稿するというお話しだ。

 うちに設置してあるライブカメラは、すべてEvoCamというソフトウエアで統合・運用している。このへんは以前のエントリで紹介しているが、このEvoCamというソフトウエアがかなり高機能で、私の頭で思いつくような機能はほとんどすべて実装されていると言っていい。その数ある機能の中で、今回利用するのは、「Motion Sensor」と「Send Email」要するに、動態検知で捉えた猫の姿をメールで送る機能だ。

 画像付きメールでTwitterに投稿するサービスはいくつかあったはずだけど、今回はたまたま私がFlickrのアカウントを持っていて、あまり使用していなかったので、Flickr Twitter Betaを利用することにした。リンク先の画面での簡単な操作をすると、XXXXXXX2twitter@photos.flickr.comという感じのメールアドレスがもらえる。このアドレス宛に送信すればFlickrに画像が登録されて、同時にTwitterに投稿されるというわけだ。

 ここで、Evocamに戻って、Motion SensorとSend Emailの設定をする。
まずは、Motion Sensorを設置する。「New Item」からMotion Sensorを選ぶと表示される四角形を、画像の中の動態検知を行いたい場所に設置する。もちろんサイズも変えられるし、複数設置することも可能。ここではほとんど設定をいじる必要はない。デフォルトでは、動態検知したときの動作をRefleshに設定されている動作を指定している。従って実際の動作内容はRefreshで指定する。いちおうセンサーの感度は少し低めにしておいた。



 Refreshでの設定は、通常の使用方法だとして時間に一度(例えば30秒毎に)動作するように設定したりするが、今回は「When motion is detected」を選び、動態検知したときにのみ動作するようにした。動作内容は、「Send image as email」つまり画像をメールで送信することを選ぶ。ほかには、FTPでサーバにアップロードしたり、画像を保存したりできるが、今回は使用しない。
 


 問題なのは「Email Server」の設定方法だ。メールサーバが、POP Brefore SMTP方式だと使えない。Evocamが動作しているマシン(EvoCamはG4なMac miniで動作させている。)で常に今回送信に使うメールアカウントの未読チェックをしているのなら話は別だけど、Evocamにメールをチェック(受信)する機能はない。そのため、SMTPの認証にIDとパスワードを必要とするような逆に言えばIDとパスワードを指定すればメール送信できるような設定のメールサーバが必要だ。



 これで設定は終わり、あとはカメラの前に猫があらわれてくれるのを待つが、そんな期待をしているときには絶対その期待に応えてくれないのが猫だ。いちいち、カメラの前に手を差し出すのも面倒だけど、心配する必要はない。「Now」ボタンをクリックRefreshをしてあげるか、Motion Sensorの画面で、「Trigger Sensor」 をクリックすればいい。
 実は、最初メールの送信がうまくいかなかった。どの辺に問題があるのか少し迷ったが、メールアプリの設定内容と、EvoCamの設定内容を比べて、出した結論は使用するポートの指定がないことだろうと判断して、Serverの指定にポート指定をくっつけた。それで送信はうまくいった。



 Statusの画面で送信がうまくいったことがわかる。さらに確認してみると、Flickrにも登録がされていて、Twitterのタイムラインにも若干のタイムラグがあるけど、表示された。



Flickr Twitter Betaでは、送信するメールの件名(subject)がTwitter上のつぶやきになる。Flickr上では、件名がタイトルになって本文が画像のキャプションコメントとして公開される。(メールの署名欄に電話番号や住所、メールアドレスといった個人情報があるとそのまま公開されてしまうので注意が必要だ。)

 EvoCamでメールを送る際に、Subjectを指定できるが残念なことにここに日本語が使えない。仕方がないので、はじめのうちは「Cat motion detected」なんて設定しておいたのだけど、しっくりこない。そこで思いついたのは、エンコードの指定を含めて記述すればいいんではないかなということでやってみた。とはいえ、エンコードの指定の仕方の詳細は調べないとよくわからないし、表示したい日本語のエンコード前の文字列はなんなのか想像もつかない。上のTwitterのタイムライン画像には日本語がきちんと表示されているけど、これはどうやったのかというと、表示させたい文字を件名に記述したメールを自分宛に送ってそのヘッダーを調べたのだ。

=?ISO-2022-JP?B?GyRCJD8hQSRLJGMkTkl0MjAbKEIg?=LiveCam

これで、「た〜にゃの部屋LiveCam」と表示される。はじめ「た〜にゃの部屋 ライブカメラ」としたかったが、長さに制限があるようで後半が千切れている。そんな苦闘の様子が上のキャプチャ画像にも現れている。

iPhoneのTweetieで見るとこんな感じ。







なぜか、アイコンが表示されていない。



 なんだかEvoCamの説明に終始してしまった感がある。「Flickr Twitter Beta」の登録作業の手順も説明すると親切だったはずだけど、登録手続きの画面キャプチャをとるのがうかつにも忘れてしまったので勘弁して貰いたい。

 今回の件ともうひとつ別件の新しい試み(これはまた後日)の為にTwitterのアカウントを登録したけど、なんかちょっとおかしい。当然、新しく作ったアカウントに対してフォローをするんだけど、フォローをはじめましたというメールはくるし、実際にタイムラインに内容が流れてくるけど、いつまでたってもフォロー件数は0件のままだし、フォローをしたほうのアカウントにも今回のアカウントが作成されない。何かTwitterでトラブルが怒っているのかな。そういえば、鯨が飛んでいる絵は何回か見た。


猫の好きな方でもそうでない方でもフォローは大歓迎。
@tanaroom_cam

0 コメント: