前回の記事にも書いたように、Eye-Fiカードへの書き込まれた画像がWiFi経由で転送されるためには、いくつかの条件があります。これまでの経験から習得した、Eye-Fiカードを使ううえでの注意点を整理しておくことにします。
Eye-Fi対応カメラであれば画像転送中であることの判別ができるようなので、できればその方法が知りたいところです。しかしながら、現状ではQVGA画像を圧縮しているため、ファイルサイズは20KB~30KB程度でしかなく、転送にも時間を要しません。撮影後2分も待てば無線LANを見つけて転送を完了できるでしょうから、カードへの電源供給を断ってもいいかと思われます。
- 消費電力
Eye-Fiカードは無線LAN機能内蔵なので、普通のSDカードと比べて当然消費電力が多くなります。Eye-Fiは1分周期で無線アクセスポイントと新しい画像の有無をチェックする仕様となっているようです。無用の場合には、カードへの電源供給を断った方が好ましいので、今回製作したボードではFETスイッチを設けてこれを制御できるようにしてあります。ところが、このスイッチを入れたとたんに、マイコンにリセットがかかるという問題に遭遇しました。原因は、カードへの電源供給開始にともなう突入電流によって電圧降下が発生し、BODがかかるためです。対策として手もちの47μHのインダクタをSDカードへのVccに追加することで、問題解決。普通の2GB SDカードを使っていた時は問題なかったので、Eye-Fiカードの違いを痛感。 - DCFに従う
前回の記事にも書いたとおり、カードへのJPEGデータ保存に際してはDCFに従ったディレクトリ構造、ファイル名を持つ必要があります。最初、ファイル名の番号付けを間違えていたためにファイル名が8文字であるべきところが7文字になっていたために、ちっとも画像が転送されずハマってしまいました。 - ファイル長
やはり16KB以下のサイズのファイルは転送されないという推測は当たっているようです。16KB以上のサイズの画像は全て転送されることが確認できました。圧縮時のqualityを80から90に変更することで対応しました。IJGライブラリを用いて生成しただけのシンプルなJPEGファイルでも転送できています。このファイルにはExif情報は全く含まれていませんが、Eye-Fiカードもそこまではチェックしていないようです。
Eye-Fi対応カメラであれば画像転送中であることの判別ができるようなので、できればその方法が知りたいところです。しかしながら、現状ではQVGA画像を圧縮しているため、ファイルサイズは20KB~30KB程度でしかなく、転送にも時間を要しません。撮影後2分も待てば無線LANを見つけて転送を完了できるでしょうから、カードへの電源供給を断ってもいいかと思われます。