KUSONEKOの見る世界

ATOM Camが旅行・出張時のペット監視に良かった

 格安ネットワークカメラのATOM Camを購入してから3か月くらい経ちました。

購入のきっかけは旅行に行っている際に、自宅の猫が元気にしているか見たいと思ったからです。
このようなネットワークカメラは数多くありますが、ここまで高機能で3,200円で買えるものは無いでしょう。

今回は若干の機能紹介と、我が家での使用方法を記載します。

機能

機能は色々とありますが、自分としては以下がポイントでした。

  • 1080P フルHD
  • 動体検知
  • 高感度CMOSセンサー&赤外線ナイトビジョン
  • モバイルバッテリーで動作可能
  • NASアップロード機能(現状β版でのみ)

動体検知は、画面内に動くものを検知した前後を録画してくれる機能です。
これにより24時間動かした状態でも容量を気にしなくて良いです。
また、検知すると同時にスマートフォンに通知されます。

赤外線ナイトビジョンは、猫を監視するなら必須です。
夜行性の猫は、夜に活動しますので、撮れていなければ意味がありません。
この機能でばっちり撮れていました。

モバイルバッテリーで動作するのは嬉しいです。
電源が無いところでも撮影が可能で、6000mAhのモバイルバッテリーで大体12時間持ちます。
外に設置して星を撮ることもできますが、防水では無いので注意が必要です。

NASアップロード機能は、共有サーバ(SAMBAなど)へアップロードする機能です。
これにより、PCでも簡単にアクセス見ることができます。
現状β版でのみしか使用できません。
Sambaの設定方法は、後述します。

開封

 コンパクトな箱を開けると、コンパクトな本体、ACアダプタ、USBケーブル、マグネット、マグネット貼り付けシールが入っています。
本体が思ったより小さく、驚きました。

ATOM cam本体と付属品

ATOM Cam用 Samba設定

ATOM Camは現状、SMB1.0のみの対応となりますので、Sambaもこれを有効にする必要があります。

Samba4.11以降ではデフォルトでSMB1.0が無効になっています。
セキュリティ上の問題はありますが、LAN内のみの使用なので良しとします。

ATOM Cam用 ユーザー作成

ユーザーのパスワードは任意の物を指定。

useradd -M -s /sbin/nologin atomcam
/usr/local/samba/bin/pdbedit -a atomcam
new password:
retype new password:

ATOM Cam用 ディレクトリ作成

mkdir /home/samba/atomcam
chown atomcam. /home/samba/atomcam/

SMB1.0有効化とatomcamディレクトリ設定

globalセクションにSMB1.0を有効する行を追加。
atomcamセクションはお好みで設定。
我が家では普段Sambaで使っているユーザグループがアクセスできるよう追加しています。

vi /usr/local/samba/etc/smb.conf

[global]
        server min protocol = NT1
        socket options = IPTOS_THROUGHPUT SO_KEEPALIVE
        deadtime = 30
        use sendfile = Yes
        min receivefile size = 16384
        aio read size = 16384
        aio write size = 16384

[atomcam]
        comment = ATOM Cam Recorded Movies
        path = /home/samba/atomcam
        public = no
        writable = yes
        read only = no
        force group = 普段使うグループ
        force create mode = 664
        force directory mode = 775
        valid users = @普段使うグループ, atomcam
        write list = @普段使うグループ, atomcam

赤字の部分は、ATOM Camのアップロード速度のチューニングのために追加したものです。

これらを入れた直後は速くなっていたのですが、しばらくするとまた遅くなってしまいました。
サーバのカーネルアップデートやATOM Camのバージョンアップなど、いろいろあったため原因は不明です。

現在のアップロード速度は非常に遅く、LAN内にも関わらず、5.6MBのファイルのアップロードに12分掛かってしまいます。つまり62kbps程度の速度です。

SMBに詳しい訳ではありませんが、パケットキャプチャをすると、サーバからATOM CamへWrite AndX Responseの応答が0.1~0.2秒後と遅く、ここで時間が掛かっているようでした。
チューニング直後は、0.001秒未満とかなり速くなっていたのですが…。

今後、ATOM CamがSMB2やSMB3に対応することを期待します。

Samba再起動

設定編集後は再起動して反映。

systemctl restart smb nmb

ATOM Camのβ版適用

スマートフォンアプリをβ版にすることで、ATOM Camのファームをβ版にできます。

詳しくは以下で。

https://community.atomtech.co.jp/t/topic/853

ATOM Camの設定

モーションセンサー等の設定

猫の検知ために以下のように設定します。

ATOM camモーション検知設定

NAS設定

β版でのみこの項目があります。

ATOM cam 録画およびストレージ管理画面

Sambaが動いて入れば、サーバが見つかり、フォルダも指定できるはずです。

ATOM cam NAS設定画面

指定後『転送開始』をタップすると、動体検知で撮られた動画が順次アップロードされていきます。

注意点として、保存期間を短い期間に変えると、その期間以前のアップされたファイルがNASから削除されてしまいます。
アップロード後に別のフォルダに移動させるか、保存期間を触らないようにしましょう。

使うとこんな感じ 

通知

画面内で動体を検知すると通知があり、タップすると検知時の12秒間の動画が見られます。

ATOM camメッセージセンター画面

本体とNASの方には、1分間の動画が複数保存されるので、ファイラーアプリ等でNASにアクセスすれば、全体を見ることができます。

iPhoneでNAS上の動画見るのは、『ファイル』アプリより、『Documents by Readdle』の方が動作が速く良かったです。

日中

以下の画像は、NASにアップされた動画の1コマです。
動体検知の緑枠や時刻が表示されていますが、設定でオフにしておけば録画されません。

ATOM cam 動体検知されたねこ(日中)

夜間

以下の画像は、旅行時に天井付近から撮った物です。
暗くてもナイトビジョンが効いていて、様子が見られます。
(色々写っているので一部にモザイクをかけました。)

ATOM cam 動体検知されたねこ(夜間)

上の画像は、フルHDを縮小しています。
元の解像度だと以下のようになります。

ATOM cam 動体検知されたねこ(夜間)元の解像度

最後に

旅行・出張時に部屋に設置しておけば、ペットの様子を通知で知ることができます。
ただ、餌を食べている所ばかり見せられてしましたが…。

また、赤外線ナイトビジョンがあるため、こたつの中に設置しておいても、猫が寝ている姿を見ることができます。

3,200円で面白いことができる高機能なカメラが手に入ります。
ペットを飼われている方はチェックしてみてください。

最近NAS機能が動かなくなったので

バージョンアップが何度かされていますが、いつの間にかNASアップロード機能が動かなくなっていました。

修正は期待できないようなので、別の方法でATOM Cam内の動画ファイルを取得します。
この方法は自己責任でお願いします。

telnetdとFTPdを有効化

以下のサイト様の公開されているTest.shをSDカードのルートディレクトリに入れて起動させるだけで、ATOM CamにtelnetとFTPができるようになります。

例のごとくATOM Cam2を使い倒す(telnetdとftpdを使う) - honeylab's blog

さて、ATOM Cam2ですが、例のごとくONVIF対応もなく、NAS対応がされていないようで、せっかく防水外部設置ができるのに、例えばmicroSD内のファイルを一括ダウンロードするような操作のために本体にアクセスしなければいけなかったりしていまいち使いにくいです。 (NAS対応についてですが内部的には対応しているようですが、IPアドレスなどの設定情報を書き込むUIが無いために動作していないように見えます) 起動ログにはNASに関するメッセージが出ている ということで、ATOM Cam2を遠隔操作、自動化するための方法をまとめておきます。 できること ・telnetによるシェル操作 ・ftp…

これをするだけで、FTPで動画をダウンロードできるようなります。

lftp インストール

私の場合、自宅サーバがありますので、自宅サーバで動画を自動ダウンロードさせるようにしました。

FTPでダウンロードを行いますが、差分ファイルのダウンロードが簡単にできる、lftpを使用してみました。

# dnf install lftp
========================================================================================================================
 パッケージ              アーキテクチャー          バージョン                        リポジトリー                 サイズ
========================================================================================================================
インストール:
 lftp                    x86_64                    4.8.4-2.el8                       appstream                    883 k

トランザクションの概要
========================================================================================================================

スクリプト作成

lftpを使用したスクリプトを作成します。
また、ATOM Cam内には時刻毎の空ディレクトリが作られていますので、それもローカル側に作られてしまいます。
それを止めることはできなさそうなので、ダウンロード後ローカル側で空ディレクトリを削除するようにしました。

# vi /etc/cron.hourly/atomcam_ftp.sh

#!/bin/sh

HOSTNAME=192.168.0.100
USERNAME=root
PASSWORD=atomcam2
SRC="media/mmc/record/"
DEST="/home/samba/atomcam/ATOM_**********/record/"

lftp -d -u $USERNAME,$PASSWORD $HOSTNAME -e "\
  mirror \
  --only-newer \
  $SRC \
  $DEST; \
  exit"  >/dev/null 2>&1

find $DEST -type d -empty -delete
chmod 700 /etc/cron.hourly/atomcam_ftp.sh

 これで1時間に1回、新しい動画ファイルがダウンロードされます。