Amazonで991円のウェブカメラを買いIntel Compute Stickに接続して、apt-get install motionで動体検知すると。
動体検知したらxsetでモニタの電源をオン、300秒後にオフになるようにする。
on_motion_detected 'xset -display :0 dpms force on;xset -display :0 s 300 300'
ところが、明るいときは良いのだけれど部屋の照明を落とすと、「モニタの電源オフ」→「何か動いたで?(暗くなっただけ)」→「モニタの電源オン!」を繰り返すようになる、と。
変化のあったピクセル数を閾値とするパラメータ・threshold
がmotion.conf
にあるので、デフォルトの1500から3000に変更して様子を見たところ、照明を落とした状態でヒトは検知するけど、モニタの電源オフによる照度の変化は検知しなくなった。なお、lightswitch
というパラメータも存在するのだけれど、こちらではうまくいかず。単にthreshold
だけで設定する方がうまくいった。
なおthreshold
の設定値は、on_motion_detected
で’echo %D
‘すれば変化のあったピクセル数が分かるので、適当な値を見つけるのが吉。
(追記:2017.10.26)
もう少しテストしてみたところ、結局、threshold
は10000になった。