Giter Site home page Giter Site logo

pavel-orlov / securityandsurveillance Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mobiliyatechnologies/securityandsurveillance

0.0 0.0 0.0 196.62 MB

Mobiliya Security and Surveillance solution.

License: Apache License 2.0

Shell 51.36% Python 11.23% C 32.80% Makefile 4.61%

securityandsurveillance's Introduction

1.0 Security and Surveillance

This is the toplevel code of Mobiliya's Security & Surveillance project based on Microsoft Azure platform.

This repository holds together all the source code, setup instructions & user guide which will allow developer to access, setup & get the solution functional on their Azure environment & hardware setup. User is requested to follow all instructions & guidelines for setting up the solution.

2.0 Getting Started

For fully deploying the solution, we will require to perform following steps: Image of 4 step process for setup

If you are looking to just browse through the source code, please refer to section 3.0 "Repository Structure"

2.1 Pre-requisites

2.1.1 Software Pre-requisite for setup:
  1. Azure account
  2. Azure B2C application (setup guide)
  3. Video Indexer (setup guide)
2.1.2 Hardware Pre-requisite for setup:
  1. Nvidia Jetson TX2 hardware
  2. Host machine with Linux (for flashing Nvidia Jetson)
  3. Camera with RTSP URL

2.2 Setup

2.2.1 Software Setup

Ensure that the pre-requisites are met. Simplest way to perform the software setup on Azure is to:

  • Click the "Deploy to Azure" button. Enter Video Indexer key and B2C application details acquired in earlier steps.
  • Please refer to Deployment Guide for guidelines.
  • Follow the guidelines provided in the following document (PowerBI Setup) to configure PowerBI. (Can be done Later, prior to loading Reports)

2.2.2 Hardware Setup

This step will only install required components on hardware. Refer step 2.2.3 for configuration step. Ensure that the pre-requisites are met. Simplest way to complete hardware setup is to:

  • Follow the guidelines provided in the following document (Jetson Flashing) for flashing Nvidia jetson.
Opt1: Both Aggregator and Compute Engine on Jetson
  • Open Terminal on Jetson and follow below steps to install Aggregator and ComputeEngine on Jetson. (will take ~30 mins)
    $ git clone https://github.com/MobiliyaTechnologies/SecurityAndSurveillance.git
    $ cd SecurityAndSurveillance/Setup/installation
    $ sed -i -e 's/\r$//' install.sh
    $ sudo chmod +x install.sh
    $ ./install.sh -r=https://github.com/MobiliyaTechnologies
Opt2: Separate installation
  • Open Terminal on Jetson and follow below steps to install only ComputeEngine on Jetson. (Aggregator should be installed on another machine)
    $ git clone https://github.com/MobiliyaTechnologies/SecurityAndSurveillance.git
    $ cd SecurityAndSurveillance/Setup/ComputeEngine
    $ sed -i -e 's/\r$//' install.sh
    $ sudo chmod +x install.sh
    $ ./install.sh
  • Open Terminal on Hostmachine (preferably Ubuntu) and follow below steps to install Aggregator.
    $ git clone https://github.com/MobiliyaTechnologies/SecurityAndSurveillance.git
    $ cd SecurityAndSurveillance/Setup/Aggregator
    $ sed -i -e 's/\r$//' install.sh
    $ sudo chmod +x install.sh
    $ ./install.sh

2.3 Configuration (required)

We will configure installed software components. We can start these components once configured.

  • Refer following steps to configure Aggregator
    $ cd ~/Aggregator
    $ vi config.js
    Update config.aggregatorName and config.location
    Update following placeholder with values acquired in previous steps (deployment)
        <IOTHubConnectionString> => IoT Hub connection string
        <storageAccountName> => Storage Account Name
        <storageAccountAccessKey> => Storage Account Access Key
        <backendUrl> => Backend Url (should start with https://)
        <videoIndexingSubscriptionKey> => Video Indexer api key
  • Refer following steps to configure ComputeEngine
    $ cd ~/ComputeEngine/jetsonNodeServer
    $ vi settings.js
    Update config.name and config.location
    Update following placeholder with values acquired in previous steps (deployment)
        <IOTHubConnectionString> => IoT Hub connection string
        <storageAccountName> => Storage Account Name
        <storageAccountAccessKey> => Storage Account Access Key
        <backendUrl> => Backend Url (should start with https://)
  • Follow below steps to start Aggregator and ComputeEngine
    $ cd ~/Aggregator
    $ forever start aggregatorServer.js
    $ cd ~/ComputeEngine
    $ forever start jetsonserver.js
  • Login to Web portal with 'Admin' account.
  • Update PowerBI configuration (Reports->Configuration) for 'Reports' and save configuration.
  • Update PowerBI configuration (Reports->Configuration) for 'Face Recognition' and save configuration.

2.4 Usage

  • Please refer to Demo Video for solution overview.

3.0 Repository Structure

Following are the different repositories constituting the solution:

  1. Aggregator: Module to pull images from camera and make it available for Compute Engine.
  2. ARMTemplate: Azure Resource Manager template for the solution.
  3. ComputeEngine: Process captured image.
  4. FaceComputeEngine: Compute engine for face derection and recognition.
  5. PowerBI: Reports & visualization templates.
  6. RESTServer: Backend server for the solution.
  7. WebApp: Frontend web application for the solution.

4.0 Reporting of Issues

Please report any issue on issues page.

securityandsurveillance's People

Contributors

githubmobiliya avatar pradeepts 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.