最近の更新 | |
---|---|
ドライランのありがたみを改めて知る
| 2024/04/04 |
伊豆半島
| 2024/03/31 |
お出かけチェックリスト
| 2024/03/29 |
Ruby
| 2024/03/27 |
Kubernetes
| 2024/03/22 |
音楽データをDisplayAudioで聞く
| 2024/03/09 |
Redmine
| 2024/02/05 |
git
| 2024/02/02 |
経済
| 2024/01/08 |
どうする家康
| 2023/12/17 |
MX-Linux
| 2023/11/06 |
國體関連学-休学のご連絡
| 2023/08/13 |
Debian
| 2023/08/02 |
CentOS
| 2023/06/13 |
Dell-XPS13
| 2023/05/23 |
ベルト
| 2023/05/18 |
SourceForge
| 2023/04/17 |
確定申告
| 2023/02/19 |
さらば「まぐまぐ」
| 2023/01/09 |
風猷縄学
| 2022/11/23 |
太陽光仲間の間で話題になる太陽光発電での監視装置。
用途は意外と色々あって、
こんな写真を見せられると、どうしても監視カメラを付けたくなってしまう: TODO
で、僕もカメラを取り付けたいと思った次第。
遠隔地、という大前提がある。これがないとそもそもカメラも不要かも。
motion という Linux 上の動体検知ソフトがあるけど、 これは使用しない結論になった。
理由は、motion はもともと Linux OS の走る PC につながる web カメラ (USB / PCカード経由)に、VOL(Video On Linux) API を経由してアクセスし、 そこから動体検知や mpeg 保存をしてくれる、というのが基本。
そこに付加機能として IPカメラも接続できるのだけど、この場合 mjpeg しか扱えないことが分かった。 mjpeg は圧縮率が mpeg4 より格段に悪く、あまり使いたくないフォーマットだったのだ。
また、監視カメラ → Linux で監視できるといいね → motionという動体検知ソフトがあるよ、という流れで随分 motion を評価してしまったけど、だんだん迷走してしまっていたことにハタと気づいたのだった。
よく考えると、Linux である必要も motion である必要もなかった。
最近の IP カメラには自前で動体検知機能が付いているし、 mjpeg より数倍圧縮率の高い mpeg, 一桁圧縮率の高い H.214(?) を提供してくれている。
この機能をそのまま使えばよいのだった。
格安クラウド型監視カメラサービス
常時データをクラウドサーバに上げるアーキテクチャになっていて、 伝送容量が足りるのか気になっていたけど、やはり…だった:
1日のデータ通信量は 5GB 程度になる
5G[Byte/日] !!
月 5 * 30 = 150G[Byte/月]!!
月2Gの格安スマホを使っている僕にとっては富豪過ぎた(^^;。
ちなみに、僕の手元に置いてある評価用カメラ(corega CG-NCVD031A) は 200Mピクセル。30fps で 14G[Byte/日] 使うし、2fps でようやく 4.5G[Byte/日]
謎が解けたし、このような富豪的使い方は僕の好みではなかった。
ということで、
で進めようと考えている。
Localインテリジェントとは勝手に名付けたけど、 「通信コストを抑えるために、なるだけ Camera 内LAN で処理をする」の意。 具体的には
…と言った辺りだ。
最近のデジカメは動体検知機能があるので、その機能をそのまま使う。 他方、帯域を制限しつつ決めの細かい通知機能をつけようと思うと、 どうしても既存機能では不十分で、そこで Rasberry-PI + プログラム、 の出番となる。
ざっと見たところ、RassberryPI zero で良さそう。
買った後で気づいたけど、このカメラ、パン・チルト・ズームがついてなかった…orz
凡例
M$: | 母艦プロンプト |
$: | Raspberryプロンプト |
Version: | May 2016 |
Kernel Version: | 4.4 |
M$ sudo dd bs=4M if=2016-05-27-raspbian-jessie-lite.img of=/dev/mmcblk0
M$ sudo fdisk -l /dev/mmcblk0 デバイス 起動 Start 最後から セクタ Size Id タイプ /dev/mmcblk0p1 8192 137215 129024 63M c W95 FAT32 (LBA) /dev/mmcblk0p2 137216 2709503 2572288 1.2G 83 Linux
M$ sudo mount /dev/mmcblk0p2 /mnt
M$ sudo vi /mnt/etc/dhcpcd.conf interface eth0 static ip_address=192.168.0.202/24 static routers=192.168.0.1 static domain_name_servers=192.168.0.1
M$ cd M$ sudo umount /mnt
M$ ssh pi@192.168.0.202 pi@192.168.0.202's password: raspberry
login: | pi |
password: | raspberry |
shutdown し、LAN をつなげて再度電源を on$ sudo vi /etc/dhcpcd.conf interface eth0 static ip_address=192.168.0.202/24 static routers=192.168.0.1 static domain_name_servers=192.168.0.1
注: USBキーボード&HDMI無しで行う方法の場合、boot から ssh ログイン までの間に LAN 経由で他人がログインして pi ユーザパスワードを勝手に 変えてしまうリスクが存在する。$ passwd
$ sudo raspi-config
$ sudo apt-get update && sudo apt-get upgrade $ sudo apt-get autoremove # 不要モジュールの削除 $ sudo shutdown -r 0 # リブート
$ sudo adduser --uid [NNNN] [MyName]
$ sudo adduser [MyName] sudo
DMM だと ¥23,000, Amazon の方が安いなぁ。
既成品前提なので、足りない機能を RasPI と知恵で補う、 というアプローチを取る。
これら要件:
…は、カメラ自身の機能だけではどうしても満たせない。
例えば、動体検知は既存機能にあるけど、それをどう通信費を抑えて通知するか。 通知後、すぐ見れるか、となると難しい (safieは通信量を犠牲にしている)。