t-motion-detector

A library for detecting motion in general, with an application for Raspberry Pi in particular.

WARNING: This project has been renamed to vermon. Install using npm -i vermon instead.
Last updated 2 years ago by tcardoso .
BSD-2-Clause · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install t-motion-detector 
SYNC missed versions from official npm registry.

NPM info

Travis build status dependencies

Unit tests

t-motion-detector

A NodeJS Motion detector, initially aimed for Raspberry Pi. The Motion Detectors detect changes in the Environment and the Notifiers receive the Motion Detectors' event changes.
NOTE: this code has only been tested in the following Linux OS:

  • Raspbian: using Node ARMv7
  • OSX: Tests and code runs / works where no real sensors are involved

  • STEP 1 : Create your config.js file and define the default profile of your app:
profiles = {
  default: {
    Environment: {},
    PIRMotionDetector: {
      pin: 17
    },
    MotionDetector: [{
      name: "MD 1"
    },
    {
      name: "MD 2"
    }],
    SlackNotifier: {
      name: "My Slack channel",
      key: "https://hooks.slack.com/services/<MySlackURL>"
    },
    HighPassFilter: [{
      val : 8,
      applyTo: "MD 1"
    },
    {
      val : 5,
      applyTo: "MD 2"
    }]    
  }
}

exports.profiles = profiles;
exports.default = profiles.default;
  • STEP 2 : Add your main file
let md = require('t-motion-detector');
let config = new md.Config(__dirname + '/config.js', false);

md.StartWithConfig(config, (e,d,n,f)=>{
  console.log(`Good to go! My environment is ${e}, detectors are ${d}, notifiers ${n} and filters ${f}`);
});

Featured detectors:

PIRMotionDetector

PIRMotionDetector
//Sends a Slack message if the PIR sensor detects movement
profiles = {
  default: {
    Environment: {},
    PIRMotionDetector: {
      pin: 4
    },
    SlackNotifier: {
      name: "My Slack channel",
      key: "https://hooks.slack.com/services/<MySlackURL>"
    }
  }
}
exports.profiles = profiles;
exports.default = profiles.default;

FileDetector

FileDetector
//Sends a Slack message if any file is added, removed or changed in the "photos" folder
profiles = {
  default: {
    Environment: {},
    FileDetector: {
      name: "File Detector",
      path: "photos",
      sendOld: false
    },
    SlackNotifier: {
      name: "My Slack channel",
      key: "https://hooks.slack.com/services/<MySlackURL>"
    }
  }
}
exports.profiles = profiles;
exports.default = profiles.default;

From version 0.3.3 onwards, it is possible to attach a Notifier based on node-raspistill, RaspistillNotifier, which means you can use your Raspberry pi camera to take pictures when movement is detected. Here's an example which takes a snapshot once the Raspberry pi detects movement via the PIRMotionDetector connected to pin 17 (requires a sensor like the Infrared motion sensor HC-SR501):

let md = require('t-motion-detector');

let env = new md.Entities.Environment();
initialMD = new md.Extensions.PIRMotionDetector(17); //Rpi listens on pin 17 for incoming signals from the PIR sensor
md.Start({
	environment: env,
	initialMotionDetector: initialMD
});

camNotifier = new md.Extensions.RaspistillNotifier();
md.AddNotifier(camNotifier); //Rpi will take a picture if the PIR sensor detects movement

Unit tests: t-motion-detector uses mocha unit tests to test the detector, notifier and environment classes. I'll be adding more on the go. to test use "npm test"

Links

Current Tags

  • 0.5.44                                ...           latest (2 years ago)

51 Versions

  • 0.5.44 [deprecated]           ...           2 years ago
  • 0.5.43 [deprecated]           ...           2 years ago
  • 0.5.42 [deprecated]           ...           2 years ago
  • 0.5.39 [deprecated]           ...           2 years ago
  • 0.5.38 [deprecated]           ...           2 years ago
  • 0.5.36 [deprecated]           ...           2 years ago
  • 0.5.28 [deprecated]           ...           2 years ago
  • 0.5.26 [deprecated]           ...           2 years ago
  • 0.5.25 [deprecated]           ...           2 years ago
  • 0.5.24 [deprecated]           ...           2 years ago
  • 0.5.21 [deprecated]           ...           2 years ago
  • 0.5.20 [deprecated]           ...           2 years ago
  • 0.5.19 [deprecated]           ...           2 years ago
  • 0.5.18 [deprecated]           ...           3 years ago
  • 0.5.17 [deprecated]           ...           3 years ago
  • 0.5.16 [deprecated]           ...           3 years ago
  • 0.5.15 [deprecated]           ...           3 years ago
  • 0.5.14 [deprecated]           ...           3 years ago
  • 0.5.13 [deprecated]           ...           3 years ago
  • 0.5.12 [deprecated]           ...           3 years ago
  • 0.5.11 [deprecated]           ...           3 years ago
  • 0.5.10 [deprecated]           ...           3 years ago
  • 0.5.9 [deprecated]           ...           3 years ago
  • 0.5.8 [deprecated]           ...           3 years ago
  • 0.5.7 [deprecated]           ...           3 years ago
  • 0.5.6 [deprecated]           ...           3 years ago
  • 0.5.3 [deprecated]           ...           3 years ago
  • 0.5.2 [deprecated]           ...           3 years ago
  • 0.5.1 [deprecated]           ...           3 years ago
  • 0.5.0 [deprecated]           ...           3 years ago
  • 0.4.15 [deprecated]           ...           3 years ago
  • 0.4.14 [deprecated]           ...           3 years ago
  • 0.4.13 [deprecated]           ...           3 years ago
  • 0.4.12 [deprecated]           ...           3 years ago
  • 0.4.11 [deprecated]           ...           3 years ago
  • 0.4.10 [deprecated]           ...           3 years ago
  • 0.4.9 [deprecated]           ...           3 years ago
  • 0.4.8 [deprecated]           ...           3 years ago
  • 0.4.5 [deprecated]           ...           3 years ago
  • 0.4.4 [deprecated]           ...           3 years ago
  • 0.4.0 [deprecated]           ...           3 years ago
  • 0.3.9 [deprecated]           ...           3 years ago
  • 0.3.7 [deprecated]           ...           3 years ago
  • 0.3.3 [deprecated]           ...           3 years ago
  • 0.3.1 [deprecated]           ...           3 years ago
  • 0.3.0 [deprecated]           ...           3 years ago
  • 0.2.12 [deprecated]           ...           3 years ago
  • 0.2.11 [deprecated]           ...           3 years ago
  • 0.2.9 [deprecated]           ...           3 years ago
  • 0.2.8 [deprecated]           ...           3 years ago
  • 0.2.7 [deprecated]           ...           3 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 2
Last Day 0
Last Week 1
Last Month 0
Dependencies (20)
Dev Dependencies (6)

Copyright 2014 - 2016 © taobao.org |