节点JS安全摄像头运动检测

时间:2018-03-29 17:32:34

标签: javascript node.js

我有一个节点js模块,当我的安全摄像头检测到动作时会发出事件。即使相机的感光度设置设置为低,我仍然会在没有人的情况下获得动作事件(例如风吹过相机)。

eventEmitter告诉我何时有动作以及动作何时结束。我希望看到当动作超过3秒钟时我怎么能触发事件。

camera.on('alarm', function(code,action,index) {
  if (code === 'VideoMotion' && action === 'Start')
    //LOGIC: If action = start and for the next 3-5s action <> Stop
    console.log('Video Motion Detected')
  if (code === 'VideoMotion' && action === 'Stop')
    //Reset Timer   
    console.log('Video Motion Ended')
});

1 个答案:

答案 0 :(得分:0)

  let running;

 camera.on('alarm', function(code,action,index) {
    if (code === 'VideoMotion' && action === 'Start') {
      if(running) clearTimeout(running);
      running = setTimeout(trigger, 3000);
    }
    if (code === 'VideoMotion' && action === 'Stop' && running)
      clearTimeout(running);
 });

 function trigger(){
   //...
 }