Code Monkey home page Code Monkey logo

node-red-sec-cam's Introduction

node-red-sec-cam

node-red Security Camera Project for Raspberry Pi Node-Red GUI

Project Goals

  • to have a couple Raspberry Pi constantly taking home security photos.
  • uploading the photos to cloud-based blob storage service; I ended up with AWS but Azure Blob Storage Node worked nicely too.
  • to persist the image only if it has a quality worth keeping (ie. no black images at night).
  • to purge old images; prevent the system from just filling up the drive.
  • to save some operational information; to confirm the system was running correctly.
  • gather statistical reporting numbers; tallying the storage being consumed.

System Components/Requirements

System Flow

  • Python script takes photo every 30 seconds and saves it locally to Pi drive.
  • Node-Red flow watches the pictures folder for changes.
  • Prior to saving the image to AWS S3 cloud storage the ImageMagick "identify" application is called in order to process the image's "blackness" value - if the image is too dark it will not be saved.
  • If the image quality is good the flow saves the photo to AWS S3 blob-storage.
  • S3 policies move older photos to Glacier storage to save on costs; an additional policy will purge/expire the images from AWS.
  • In parallel to the save operation the system saves operational metadata to a local Splunk infrastructure.
  • The Node-Red flow also has a sub-flow that periodically deletes old images from the Pi and saves the details to Splunk.
  • A new flow has recently been added which once every hour takes the most recent image and runs it through a custom computer vision AI algorithm which has been trained to identify "normal situations" at my house.
  • The output from the computer vision AI is saved to Azure Table Storage for future analytical processing.

The Node-Red project is on GitHub

Splunk Dashboard Computer Vision AI

node-red-sec-cam's People

Contributors

csyvenky avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.