Skip to content

sherinesameh/EyesInTheSky

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EyesInTheSky [EITS]

Description:

EITS is a mobile adhoc cloud system that serves the government since it provides an affordable tool that helps in detecting criminals and their location as fast as possible.

Table of Contents:

  1. Installation
    • Server Side
    • Client Side
  2. Source Code
  3. Configurations and Running
    • Server Side
    • Client Side
    • Auto run Configurations
  4. Support
  5. License

Installation:

1. Server Side:

  1. Create new Cloud Server (Droplet) with minimum specifications
    • 512 MB/ 1CPU
    • 20 GB SSD DISK
    • 1000 GB transfer
    • ubuntu 16.04.5x64 distribution
  2. Install Apache, MySQL, PHP (LAMP) stack
  3. Install Git
    $ sudo apt-get install git
  4. Add firewall rules to allow traffic on port 3306 and 8080
    $ iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
    $ iptables -A INPUT -i eth0 -p tcp --dport 3306 -j ACCEPT

2. Client Side:

  1. Preparing the SD card by downloading the latest Raspbian Jessie image
  2. Install Dependencies: - Docker - OpenCV - dlib - Torch
  3. Install Git
    $ sudo apt-get install git
  4. Add firewall rules to allow traffic on port 3306 and 8080
    $ iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
    $ iptables -A INPUT -i eth0 -p tcp --dport 3306 -j ACCEPT
  5. Connect 3G modem stick

Source Code:

EITS is actively developed on GitHub, where the code is always available. You can either clone the public repository or download it as a zip file.

Configurations and Running:

1. Server Side:

  1. Clone master branch on the server
    $ git clone https://github.com/SherineSameh/EyesInTheSky.git
  2. Create new Database on http://hostname/phpmyadmin/ and Import EITS.sql
  3. Install Python Dependencies:
    $ sh EITS/install-deps.sh
  4. Set Server Configurations, Install EITS and NUBES Packages
    $ cd EITS
    $ nano EITS/config.py
    $ python setup.py install
    $ cd ../NUBES
    $ python setup.py install
  5. Clone the portals at /var/www/html or /opt/lampp/htdocs
    $ git clone  https://github.com/SherineSameh/EyesInTheSky.git -b Users
    $ git clone  https://github.com/SherineSameh/EyesInTheSky.git -b Administration
    $ git clone  https://github.com/SherineSameh/EyesInTheSky.git -b Government
  6. Set SQL Server Configurations at each portal
    $ cd [PortalName]
    $ nano app/helpers/config.php
  7. Run server script
    $ cd [MasterBranchDirectory]
    $ python server.py

2. Client Side:

  1. Connect Raspberry Pi with the 3G modem 'ZTE WCDMA Technologies MSM' and a 5V power source
    $ sudo wvdial 3gconnect
  2. Clone master branch on the Raspberry Pi
    $ git clone https://github.com/SherineSameh/EyesInTheSky.git
  3. Install Python Dependencies:
    $ sh EITS/install-deps.sh
  4. Set Server Configurations, Install EITS and NUBES Packages
    $ cd EITS
    $ nano EITS/config.py
    $ sudo python setup.py install
    $ cd ../NUBES
    $ sudo python setup.py install
  5. Run client script
    $ cd [MasterBranchDirectory]
    $ python client.py

3. Auto run Configurations:

  • Client Side

    $ cd /etc/init.d
    $ sudo wget https://github.com/SherineSameh/EyesInTheSky/blob/master/clientautoconnect
    $ sudo chmod 755 /etc/init.d/clientautoconnect
    $ sudo update-rc.d clientautoconnect defaults

    If you wish to remove the script from the startup sequence in the future run:

    $ /etc/rc2.d# update-rc.d -f clientautoconnect remove
  • Server Side

Support:

If you are having issues, please let us know.

License:

All Rights Reserved © 2017 EITS TEAM. Licensed under Apache License, Version 2.0.