うさぴょんカメラ

[English(英語)|のっぽのぺぇじTopへ]

Android版のバグ改修などの状況はこちら(外部サイト)で参照できます。
バグを見つけたり要望をお知らせくださるときは、Google playに掲載しているメールアドレスにその内容を送信してください。


うさぴょんカメラ

うさぎ「このアプリを使えば、夏休みの宿題なんか楽勝さっ!」
かめ「どういうことなの?」
うさぎ「古いスマホで動かして、アサガオを毎日自動撮影するんだよっ!」
かめ「いいね。僕は毎日観察日記をつけるよ」
うさぎ「最終日に自動撮影した画像を並べれば、宿題はすぐ完成さっ!」
かめ「ほんとにそれだけで大丈夫なのかい?」
うさぎ「当たり前だろ!俺は昔から冴えてるんだぜ?ムフフフフフフ〜」
かめ「(あの話のオチ、知らないのかなぁ・・・)」

こんな感じで気軽に楽しく使えるアプリです。
大流行している豆苗の観察日記をつけるのに役立つでしょう。
※完全放置は危険です。適度に動作確認してください。

うさぴょんカメラLite(無料)

Android版 2017.05.13 バージョン1.1.0公開中 変更履歴
iPhone版 作りません

※画像は開発中のAndroid版のものです

Liteは無料でお使い頂けます。機能はProとほぼ同じです。
Proとの差別化の都合により、以下の制限があります。

連続撮影できる写真は30枚です。

バグの修正は行いますが、機能追加は原則としてProに対して実施します。
Proとの機能格差が開きすぎた場合に、一部の機能差分をLiteに反映するかもしれません。
LiteとProは原則として別データとして動作します。
LiteやProに関わらず、個別のサポートは有料となりますのでご注意ください。


うさぴょんカメラPro(有料)

Android版 2017.05.13 バージョン1.1.0公開中 変更履歴
iPhone版 作りません

※画像は開発中のAndroid版のものです

Proだけの機能

Liteでの制限がありません。

Liteでの要望を含め、機能追加は原則としてProに対して実施します。
Proとの機能格差が開きすぎた場合に、一部の機能差分をLiteに反映するかもしれません。
LiteとProは原則として別データとして動作します。
LiteやProに関わらず、個別のサポートは有料となりますのでご注意ください。


うさぴょんカメラとは

いわゆる「インターバルカメラ」です。
一定時間毎に自動的に写真を撮影して保存します。
撮影した写真を、パソコンなどのWebブラウザーから直接参照することができます。
写真データはSDカードのDCIMディレクトリに保存しますので、「ギャラリー」や
「アルバム」などの標準アプリで参照できます。また、FTPアップロード機能を
使って、撮影した写真をFTPサーバーにアップロードすることもできます。

(注意)機種によっては「うさぴょんカメラ」が使えない場合があります。
使えるかどうかを確認するためのテスト機能を用意してありますので、
まずはテストを行って使える機種かどうかを確認してください。
SH-10D(OS4.1.2)や、ISW11F(OS4.0.3)で使えないことを確認しています。


使い方

うさぴょんカメラを起動して表示される画面には、「カメラ機能を設定する場所」と
「設定されている内容が表示されている場所」があります。

最初の起動時にはまず「テスト」ボタンをタップして、お使いの機種で「うさぴょんカメラ」が
動作するかどうかを確認してください。テストでエラーが表示された場合は、残念ながら
その機種では「うさぴょんカメラ」を使うことができません。

テストが終了したというメッセージを確認できた場合は、必要な設定を行ってください。
「設定」ボタンをタップすると詳細な設定を行うことができます。詳細な設定については、
必要に応じて以下の説明を参照してください。

カメラで撮影している画像は「テスト」している時しか画面に表示しません。
構図を決めるためにAndroid本体の置き場所を調整したい場合は「テスト」を行ってください。


説明

カメラ

カメラは「背面」「前面」のいずれかを選べます。
設定画面が「カメラ切り替え」になっているのは、機種により「前面」「背面」が
異なる場合があるためです。(なんだかややこしいのです・・・)

写真画像モードとは、カメラで撮影した写真を用いる方法です。
Androidのカメラは内部で「プレビュー用の画像」と「写真用の画像」の2種類を処理しています。
前者は本体の液晶に表示されている画像で、カメラの構図を決めたりする際に用います。
高速に画像を取得できますが低解像度です。
後者は高解像度の画像を取得する方式で、撮影に時間が掛かります。また、古い機種やOSでは、
後者を用いると自動的にシャッター音が鳴ります。

Androidを縦にして写真画像モードを用いる場合、機種によって本体の角度と写真の角度が
合いません。そのため、写真とサムネイル(Webブラウザーや変化判定用)の
角度を調整する項目があります。実際にお使いの機種で撮影して調整してください。
当方の手元では、IS11NやFLEAZF4S+で調整が必要でした。

撮影している間のみAndroidのカメラを動かします。
待機中はカメラを動かしませんので、無用な電力消費を抑えられると同時に、
Android本体の発熱を防止することができます。
カメラを使う他のアプリ(「ちら見カメラ」など)と併用が可能です。
ただし、他のアプリがカメラを使用している場合は、「うさぴょんカメラ」は
写真撮影ができません。また、それにより間隔撮影が失敗した場合でも、
「うさぴょんカメラ」は再試行しません。

間隔撮影と画像変化

あらかじめ設定した間隔で写真撮影を行います。
設定できるのは撮影間隔で、撮影時刻を指定することはできません。

オートフォーカス機能があるカメラの場合は、オートフォーカスを
実行した後に撮影を行います。

撮影時に音を鳴らすことができます。
音はAndroidに入っている音から選択します。
撮影の0秒から10秒前に音を鳴らすという設定が可能です。

画像の変化を判定し、前回と今回の画像に変化があった場合のみ保存することができます。
画像の変化は以下の手順で判定します。

1.比較する2画像を画像を縮小します(サムネイル用画像を用いています)
2.比較する2画像を、それぞれ画素に分解します
3.各画素の色をRGBに分解します
4.比較する2画像の各画素のRGB値それぞれの差を求めます
5.各差の絶対値の和を各画素の色差(a)とします
6.あらかじめ設定している閾値(b)と(a)を比較して変化有無を決定します
7.全画素数に対する変化有数の割合(c)により、画像全体の変化有無を決定します

簡単な方法ですので、あまり効率的には動体検知はできません。
「うさぴょんカメラ」では、(b)と(c)を設定することができますので、
撮影対象での変化具合を確認しつつ、具体的な値を調整してください。

画像の変化判定には、サムネイル用画像を用いています。サムネイル用画像は、
写真の長辺が256ドット(固定値)になるように縮小して生成しています。

FTPサーバー

撮影した画像をFTPサーバーにアップロードできます。
アップロードできるファイルは2種類です
「最新ファイル」(必須:任意に設定できる固定ファイル名)
「過去ファイル」(任意:自動で設定される日時ディレクトリ名+日時ファイル名)

FTPサーバー名、サーバーポート、ユーザー名、パスワード、ディレクトリ名、
パッシブモードON/OFF、FTPディレクトリ名、過去ファイル有無、を設定できます。

自動撮影時にエラーになっても停止しません。FTPサーバーへの接続ができない
場合でも、撮影とSDカード内への記録を続けます。

Webサーバー

「うさぴょんカメラ」に内蔵しているWebサーバーを使って、撮影した画像を
パソコンなどのWebブラウザーから参照することができます。
「うさぴょんカメラ」の画面に表示してあるURLにアクセスしてください。
パスワードや暗号化の設定はできませんのでご注意ください。

Webブラウザーから写真を撮影することができます。間隔撮影とタイミングが
重なった場合は、早く起動していた処理が優先され、後になった処理は実行されません。
また、他のアプリがカメラを使用中の場合は、Webブラウザーから写真を撮影しても
エラーになるだけで、写真は撮影出来ません。自動で再試行はしません。

Webブラウザーから「うさぴょんカメラ」で撮影した画像とそれに付随する
内部データを削除できます。
Webブラウザーから画像を削除しても、「ギャラリー」や「アルバム」などの
アプリに画像の残像(?)が残ってしまう場合があります。各アプリにより
その消し方やそうならないための方法が異なりますので、お使いの機種での
動きをよく調べた上で削除するようにしてください。よくわからない場合は
Webブラウザーからは削除せず、「ギャラリー」や「アルバム」などで
写真を選択して削除した後で、「データ同期」を実行してください。

データ

「うさぴょんカメラ」はSDカードの「DCIM」ディレクトリにアプリ
専用のディレクトリを作成し、その中に写真データを保存します。
写真データは「2015-11-30_21」のように、「年-月-日_時」という
ディレクトリを生成して、その中に秒までの時刻を付けたファイル名で
保存します。

SDカードのデータディレクトリに内部データを保存します。
Webブラウザー用の「サムネイル画像」と「画像変化判定結果」、
および、ログファイルです。

Lite
(SDカード)/Android/data/com.noppoland.android.usapyoncamlite
Pro
(SDカード)/Android/data/com.noppoland.android.usapyoncampro
共通(上記ディレクトリ内)
LOG (ログファイルを1日1ファイル生成して保存)
THUM (サムネイル画像を日付毎にディレクトリを生成して保存)
DIFF (画像変化判定結果を日付毎にディレクトリを生成して保存)

「サムネイル画像」と「画像変化判定結果」はアプリ内で保持している
データベースと連動しています。これらは直接削除せず、アプリから
「データ同期」か「データ全削除」を実行して削除するようにしてください。

「データ同期」は、DCIMディレクトリにない写真ファイルの内部データ、
および、写真撮影していないデータ(エラーや画像変化なしなど)を削除します。
この処理ではDCIMディレクトリのデータは削除しません。

「データ全削除」は、アプリ内部で持っているデータ全てを削除します。
ただし、こちらもDCIMディレクトリのデータは削除しません。

※DCIMディレクトリのデータ削除は、「ギャラリー」「アルバム」などの
アプリから行ってください。

ログファイルは1日1ファイルです。アプリからは書き出すだけですので、
不要であれば都度削除しても問題ありません。
間隔撮影関係の動きを書き出すようにしていますので、画面やWebでは不明な
動きがあればログファイルを参照してください。

ネットワーク

「うさぴょんカメラ」へのWebブラウザーからのアクセスは、ローカルWi-Fi
(同一LAN内・参照機器は有線LANでも勿論可)専用です。
インターネット経由(LTEや3G、光回線などを含む)の使用には対応していません。
ご自身でネットワーク設定(ルーターの設定やVPNなど)ができる方は止めませんが、
「うさぴょんカメラ」はセキュリティ的に無防備ですのでお勧めできません。
また、LAN内であっても、他の人に見られて困るような用途には使わないでください。

Wi-Fiのスリープ設定と省電力機能

Androidの標準設定では、画面がOFFになるとWi-Fiがスリープするようです。
Wi-FiがスリープするとWebブラウザーから「うさぴょんカメラ」にアクセスすることが
できなくなります。画面がOFFのときでも「うさぴょんカメラ」にWebブラウザーから
アクセスしたい場合は、設定を変更してください。

■Android2と3?
「設定」→「無線とネットワーク」→「Wi-Fi設定」→(本体のメニューボタン)→「詳細設定」→「Wi-Fiのスリープ設定」
「電源接続時はスリープにしない」もしくは「スリープにしない」を選択する。

■Android4以降?
「設定」→「Wi-Fi」→(本体のメニューボタン)→「詳細設定」→「スリープ時にWi-Fi接続を維持」
「電源接続時にのみ使用する」もしくは「常に使用」を選択する。

※他にも色々な表記があるようです。さすがに網羅できませんので、各自お調べください。。。

また、機種によっては、省電力機能によって、Androidを操作していない時にWi-Fiを
OFFにしてしまうものがあるようです。その場合は、各機種に搭載されている省電力機能の
設定を変更するなどして対応してください。

なお、「うさぴょんカメラ」からWi-Fiの接続を維持するために外側へアクセスするような
機能は搭載していません。

連続稼働

ある程度以上の時間(具体的には不明です。基準があるのでしょうか?)動かしていると、
Androidのシステムから強制終了される場合があるようです。
その場合は、Android本体を直接操作して「うさぴょんカメラ」を起動し直す必要があります。

自動起動

設定の「電源ON時に自動起動」をONにしていれば、電源ON時に「うさぴょんカメラ」を
自動的に起動することができます。
※起動時に「SIMが挿入されていません」というようなエラーを表示して操作を求めてしまう機種は、
「うさぴょんカメラ」が呼び出される前に一時停止し、自動起動しない場合があります。(例:IS11N)

Android2.2.x

Android2.2.xでも動きますが、カメラが選べないという制約があります。
もしかしたら、その当時の機種はカメラが1つばっかりだったのかもしれませんね。

要望など

要望やカスタマイズ版作成については、個別に有料で対応させていただきます。
Google playに掲載しているメールアドレスに内容を送信してください。
要件によっては、お見積もりにも費用が発生する場合があります。


いきさつ

Androidで何かアプリを作りたいと考える際、どうしても、パソコンとは違う、
Androidとして特徴がある機能を使いたくなってしまいます。そうすると、カメラや
GPS、タッチパネルなどがすぐ思い浮かびます。当方はあまり出歩く生活をしていないため、
GPSはピンと来ません。タッチパネルはちょっとしたゲームを作って楽しみましたが、
巷にはゲームが溢れています。そしたらやっぱりカメラかなぁ、と、カメラを使った
何かを作ってみることにしたら、「うさぴょんカメラ」ができていました。

名前の由来

「うさぎ」がぴょんぴょん跳ねる姿を間隔撮影にたとえました。
「ちら見カメラ」が亀アイコンのため、「兎と亀」の話にちなんで
兎アイコンにしようという意図もありました。
USA的な妖怪とは一切関係ありません。

NanoHTTPDについて

「うさぴょんカメラ」は、NanoHTTPDを使っています。
http://nanohttpd.org/

Apache Commons Netについて

「うさぴょんカメラ」は、Apache Commons Netを使っています。
https://commons.apache.org/proper/commons-net/