これで2つも長期在庫がさばける。これはもうこのシールドを買うしかないだろう。週末にネットで銀行振り込みをしたら月曜の夜にもう届いた。ところが、これが動かない。画面は白いラスターのままで、何の映像も映らない。シリアル端末をつないでメッセージを出してみるとソフトそのものは動いているようだ。タッチパネルも何か感じているが肝腎の画像はでない。ピンソケットの接触不良などは念入りにテスターで測って問題なし。TFTの初期不良が一番疑われるが確信はない。買ったのはもう2年近く前で今さら交換を要求するのも気が重い。それに、わざわざ出かけて行って交換して同じだったら目も当てられらない。思い余って、とんすけさんに、何か情報はないかとメールを出してみた。すると本人から、すぐ返事があり、送ってくれれば調べてあげると言われた。販売元でもないのにそれは申し訳ないと断わろうと思ったが、彼は複数台持っているとのことなので、正常に動く1台を貸してもらえば嬉しいのだがと少しあつかましいお願いをしてみた。AitendoでTFT液晶は買いなおし(5/19/2013)まもなく返事があって、こちらの申し出を快く承諾されて完動品を送るとの報せが届いた。いやあ、これは有難い。分厚いエアシートに包まれて、TFT液晶が届いた。接続してみる(ピンソケットは接続済み)。音楽再生でpauseをかけると時々大きなノイズが入るのが少し気になるが(これはSDカードのバッファーサイズを大きくすると殆ど解消した)、動画も出る。タッチパネルの操作も楽だ。いや素晴らしい出来映えである。2年前に買ったTFT液晶の方は初期不良だった。すけさんに借りたTFTを返却しようとした時、ふと思いついた。不良品のTFT液晶をAitendoに持ち込んで交換してくれる保証はない。お店で不愉快な気持ちになるくらいなら、これを、お礼がわりにとんすけさんに差し上げてはどうだろうか。すけさんが言うように、ちょっとしたことで直るのかも知れないが、こちらにはテスト環境もないし、不具合を特定できる技術も持っていない。すけさんのところで生き返ってくれれば、生きとし生けるものに少しでも幸せが訪れるというものだ。何か、修理を催促しているようで、最後まで迷ったのだが、こちらで持っていてもしようがないし、その旨、説明すれば理解してもらえると期待してメールを送る。予想はあたって快く受け取ってもらえた。ささやかなことだが、気持ちが通じると言うのは嬉しいものだ。次の日、秋葉原に出て、Aitendoを訪ね、件のTFTを買いなおした。在庫はまだ沢山あった。ここに来るとついいらないものを買ってしまうのだが、今日は、USB-TTL(CP2102の方)ブレークアウト基板だけで我慢する(RasPi用)。買って帰ってTFTを早速テスト。何の問題もなく稼動した。画像のフレームレートを上げる(5/31/2013)RaspberryPi(以下RasPi)の話に戻ろう。LogicoolのウェブカメラC270を使ったRasPiのストリーミングビデオは、自宅内のLANでは、問題なく画像を見られるようになった(ただし、motionの画像を見るのは、IEでは不能、FireFoxはメモリーリークでハングする。Chromeは全く問題ない)。画像の解像度は、358X288(motionのデフォルト解像度)ながら、前の30万画素のカメラに比べれば、格段に綺麗な映像である。次は、これを外から見られるようにすることと、このカメラの可動部を制作することだが、その前に解決しておきたい問題がある。それは、画面のフレームレートである。現在は、motionのパラメーターファイルをいじっても、1秒に2~3回程度(2~3fps)にしかなっていないので、動きの早い猫などの姿は満足に捉えられない。多くないと実用的とはいえない。motionの設定ファイル(motion.conf)は、非常に多くのパラメーターがあって、ともかくわかりにくい。少々いじっただけでは改善されなかった。PCのUbuntuで動かしてみたら全く同じようなフレームレートなので、低いのはRasPiのハードウエアの限界ではなく、この設定のせいに違いなのだが、どこを直せば良いのかわからない。何度目かのmotionの設定ファイルの見直しで、やっと見つけることが出来た。Serverという設定項目群の中にフレームレートを規定するところがまだあったのを見落としていた。motionのフレームレートを設定するパラメーターは、いくつものところにあり、2ヶ所まで変更してあったのだが、最後の設定が、defaultの1の(1fps)のままだったのである。いくら、その前の設定でframe_rateを上げていてもストリーミングのときには、ここで下げられてしまうのである。いうパラメーターを1から、30にすると、映画並みの滑らかさになった。おーし、猫がケージから飛び降りても、しっかり画像がとれている。ネット上のデータ転送量は、これまでの毎秒12KBから50KB以上に跳ね上がった。これはとりあえずそんなに大きな問題ではない。次は、このストリームを外からアクセスするしかけの開発である。ポートマッピングのテストは成功(6/4/2013)本来の目的は、留守宅にいる猫たちの監視である。外からライブカメラ的に見えなければ意味がない。一般家庭のルーターは、一応セキュリティ機能がついていて、外部からのアクセスリクエストは殆ど中に入れないようなしかけになっている。このままでは外から見ることは出来ない。いうより、殆どの家庭用のルーターは、1つのグローバルアドレスをいくつかのローカルアドレスを持った機器で共用しているので(IPマスカレードともいう)、届け先を指定しない限り、外部からのパケットは届かない。外からのアクセスを可能にする方法が、ポートフォワードとか、ポートマッピングというしかけである。外部からのリクエストパケットのポート番号をキーに特定のローカルアドレスの機器に振り分ける。することによって外部とのネットワークゲームや、ストリーミングが可能になる。不用意にポートを開けると、前にも書いたように、ネット上を飛び回っているロボットのポートスキャンを受けてあらぬ攻撃を受ける恐れもあるので、細心の注意が必要だ。画像転送以外に、カメラの位置制御もやりたいのでポートは複数あける必要がある(Apacheを立ち上げて、HTTPプロトコル(80)一本でやる方法もあるが)。偉そうなことは言っているが、実は、これまでは講釈だけでこういう実際の作業は始めてである。ルーターのポートマッピングのテストを始める。motionのストリーム用のTCPのポート番号は8081なので、まず、こいつだけ開けて、Raspiのローカルアドレス(192.168.0.5)に通すことにする。ダイナミックDNSのサービスを受けなくても、自分の今のグローバルアドレスで、外から直接ここへアクセスすれば、所定(RasPi)のサーバーが外から見えるかの確認は出来るはずだ。自宅のルーターの設定サイトにログインしてポートマッピングのエントリーを追加する。作業そのものは、1分もかからない。あっという間に終わった。本来なら、ネットカフェとか会社とか別のサイトからアクセスしなければわからないのだが、世の中には、色々なサービス(一種のプロキシーサーバー)をしてくれるサイトが結構沢山あってこういうことを、簡単に調べられることがわかった。したネットサービスそのものの信頼性を疑う向きもあるが、疑ってばかりいても始まらない。ここのサイトで実際に試してみる。ルーターのポートマッピング(フォワード)を有効にして、テスト。おお、これまで拒否していた、ポート8081の認証に成功した。我家のルーターで閉じると、ちゃんと拒否した。