Author: Ramith Nambiar

Home / Author: Ramith Nambiar

What is Git

Git is a version control system (VCS) that is used for software development and other version control tasks. As a distributed revision control system it is aimed at speed, data integrity, and support for distributed, non-linear workflows.

Git was created by Linus Torvalds in 2005 for the development of the Linux kernel, with other kernel developers contributing to its initial development. Its current maintainer is Junio Hamano.

Run your own Git server

Git manages the version control of applications and there are many git repositories. All git repositories which are free is having some limitations.

GitHub is one of the great services but we can’t create private repository in  GitHub free . For Private repo, you have to pay minimum 7$ per month, and the expenses go up with more repos.

In cases you don’t want to pay any extra for version control then the best is to create your own Git server. Not only do you save costs, you also have more control over your server.

Install Git on your server

In this installation methods, we are going to use two host machines one for the server (Linux) where we are going to make our repository and another the local machine through which we are going to connect the git server so let start .

Step1 : Install Git In both machine

Server Machine:

Linux

sudo yum install git
sudo apt-get install git

Local Machine :

Linux  :

sudo yum install git
sudo apt-get install git

Windows :

Visit https://git-scm.com/ and download the latest version for your windows

Step2 : Install Git-core In server

sudo yum install git-all
sudo apt-get install git-core

Step3 : Create user : git

sudo useradd git
passwd git

Step4 : Create SSH Key for local Linux machine (Optional)

Create ssh keys on your local machine to avoid asking password only for Linux Based Local System:

ssh-keygen -t rsa

leave all as default by press Enter and save it in a secure location .

Now you have to copy these keys to the server so that the two machines can talk to each other. Run the following command on your local machine:

cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Step5 : Create a repository

Create a directory on your server machine and remember this will be your repository URL

[email protected]:~ $ mkdir -p /home/git/repo-name.git

Then change to this directory:

cd /home/git/repo-name.git

Then create an empty repo:

git init --bare
Initialized empty Git repository in /home/git/repo-name.git

Step6 : Create a Git repo in local machine

Linux users can use Terminal and windows users should us GIT BASH

mkdir -p /home/ramith/Desktop/Arduino

And change to this directory:

cd /home/ramith/Desktop/Arduino

Now create the files that you need for the project in this directory.

git init 
Initialized empty Git repository in /home/ramith/Desktop/Arduino

Now add files to the repo:

git add .

Now write your commit message

git commit -m "First Commit" -a
[master (root-commit) 57331ee] message
 1 files changed, 1 insertions(+)
 create mode 100644 script.txt

Till now you were working on the local machines repo.Now we need to push this to our git server so that team can collaborate. To do this we need to push this to the remote location in our Git Server. To add the location need to type below command

git remote add origin ssh://[email protected]/home/git/repo-name.git

Now you can push or pull changes between the server and local machine using the ‘push’ or ‘pull’ option:

git push origin master

Step7 :Cloning the repo with local machine

If there are other team members who want to work with the project they need to clone the repo from the server to their local machine:

git clone [email protected]:/home/git/repo-name.git

Then change directory on the local machine (exchange project with the name of the project on your server):

cd /repo-name

Now they can edit files, write commit change messages and then push them to the server:

git commit -m 'Second Commit Edited in script.txt' -a

And then push changes:

git push origin master

Raspberry

The Raspberry Pi’s very existence can be chalked up to creativity.  Raspberry Pi Foundation created the $35 Single Board Computer to inspire students to learn computer science and play with programs.

Raspberry help you to connect with various I/O Devices (Sensors,Lights,motors,etc..) using 40 Pin GPIO Ports.This help users to make a gateway between computer programming and electronic devices. You can control this ports using Python directly.

OSMC

The popular Media Center operating system Kodi on Raspberry Pi has its own set of drawbacks and benefits. OSMC has a few key features that may draw you to it over XBian or OpenELEC.

One of the first things you’ll notice about OSMC is that, out of the box, it looks different. It uses its own Kodi skin, a lightweight one that helps keep things fast. The OSMC Kodi skin is kind of similar to Mimic, which is one of Kodi’s best skins, so this may draw you to OSMC.

Why OSMC

OSMC is based on Debian Linux Operating System so it support  all linux command as well as you can install all applications like Apache,Mysql etc . You can also install packages required for GPIO Ports which help you to connect the electronic gadgets using relay.

How to Install OSMC on Raspberry Pi

Requirement :

1.Raspberry Pi

2.HDMI Cable

3.16GB Memory Card

4.Card Reader

Steps To Install OSMC

Step 1: Put your SD card into your computer’s SD card reader

 

Step 2: Download the OSMC installer

We’re installing OSMC on the micro SD card, not on our computer. So in this stage, we’re installing a program for our computer that will then install OSMC on the SD card. You can find the right version for your computer’s operating system on OSMC’s website.

 

Step 3: Run OSMC Installer and Install OSMC on your micro SD card

Step 4: Setup Raspberry Pi

Eject the SD card and plug it into your Raspberry Pi. Then make sure all your cables are connected properly – your HDMI cable, your ethernet (or Wi-Fi dongle). Plug the power cord in last.

Step 4: Boot Raspberry Pi

OSMC will set up automatically. Just wait for a while so that OSMC will automatically the format and setup the device, and then enjoy!

Raspberry

The Raspberry Pi’s very existence can be chalked up to creativity.  Raspberry Pi Foundation created the $35 Single Board Computer to inspire students to learn computer science and play with programs.

Raspberry help you to connect with various I/O Devices (Sensors,Lights,motors,etc..) using 40 Pin GPIO Ports.This help users to make a gateway between computer programming and electronic devices. You can control this ports using Python directly.

Python

It’s a programming language which help raspberry to connect the raspberry GPIO Pin to switch it ON and OFF. Python is simple and easy to learn and it’s totally dependent on indentation.

Code

#!/usr/bin/env python
import RPi.GPIO as GPIO
import sys, getopt

def gpio(pin):
    pin = int(pin)
    switcher = {
        2: 3,3: 5,4: 7,5: 29,6: 31,7: 26,8: 24,9: 21,10: 19,11: 23,12: 32,13: 33,14: 8,15: 10,16: 36,17: 11,18: 12,19: 35,20: 38,21: 40,22: 15,23: 16,24: 18,25: 22,26: 37,27: 13,
    }
    return switcher.get(pin, "false")

def main(argv):
    gpiopin = ''
    status = ''
    type = 'pin'
    try:
        GPIO.setmode(GPIO.BOARD)
        opts, args = getopt.getopt(argv,"hg:s:t:",["gpio=","status=","type="])
    except getopt.GetoptError:
        print 'gpio.py -g  -s  -t <pin/gpio>'
        sys.exit(2)
    for opt, arg in opts:
        if opt == '-h':
            print 'gpio.py -g  -s  -t <pin/gpio>'
            sys.exit()
        elif opt in ("-g", "--gpio"):
            gpiopin = arg
        elif opt in ("-s", "--status"):
            status = arg
        elif opt in ("-t", "--type"):
            type = arg
    if gpiopin != "":
        gpiopin=int(gpiopin)
        status=int(status)
        GPIO.setwarnings(False)
        if type=='gpio':
            gpiopin=gpio(gpiopin)
        GPIO.setup(gpiopin, GPIO.OUT)
        GPIO.output(gpiopin,status)
        if status == 0:
            GPIO.cleanup()
    else:
        print 'gpio.py -g  -s  -t <pin/gpio>'
    
if __name__ == "__main__":
    main(sys.argv[1:])

How to execute

sudo python gpio.py -g <pin number> -s < 0(off) / 1(on) > -t <pin/gpio>

Example

sudo python gpio.py -g 19  -s 0 -t gpio

PIR infrared sensor module is based on infrared technology, automatic control products. High sensitivity, high reliability, low power consumption, low voltage operation mode. Widely used in various auto-sensing electrical equipment, especially for battery-powered automatic control products.

Using PIR we can identify the motion and this sensor will transmit a signal for 3 sec so we need to do a program and detect the motion and as per your requirement you can activate or deactivate any functions like switching on camera when motion is detected.

I am going to use Raspberry Pi 2 For this small Project . In this Project i am designing and program to detect a motion and on basis of that alarm will be played for 1 minute.

Requirement :

1.Raspberry Pi

2.Pyroelectric Infrared Pir Motion Sensor Detector Module

3.Computer With Putty Installed

 

Step 1.

Install any raspberry based Operating system with GPIO Package installed and as well as Python Installed. I am using OSMC.

Step 2.

Connect the PIR VCC,OUT,GND to Raspberry pi 5v,GPIO4,GND

pir_wiring

VCC – > 5v
GND -> GND
OUT -> GPIO4 (Pin 7)

 

Step 3

Connect to raspberry pi using SSH (Putty For Windows)

Step4

Create a python program and copy bellow code .And after saving run the script with sudo permission

import RPi.GPIO as GPIO
import time
import os
#GPIO Pin number where the sensor out is connected
pin=4
GPIO.setmode(GPIO.BCM)
GPIO.setup(pin,GPIO.IN)
timer=0;
switch_on=0;
while True:
    time.sleep(1)
    sensor_input=GPIO.input(pin)
    if sensor_input == 1 :
		#Timer in seconds for activation
        timer = 60
    if timer > 0 :
        timer = timer - 1
        print "De-activating in :",timer,"secs"
        if switch_on!=1 :
            #If you want to output using 26 GPIO Remove below 2 lines comment
            #GPIO.setup(26, GPIO.OUT) 
            #GPIO.output(26,1)
            switch_on=1
            print "--- Switch Activated ---"
    else:
        if switch_on!=0 :
            print "Switch Deactivated"
            switch_on=0
            #If you want to output using 26 GPIO Remove below 2 lines comment
            #GPIO.setup(26, GPIO.OUT)
            #GPIO.output(26,0)

 

What is Lamp?

LAMP stack is a collection of 4 open source software which will help to create a web server in your Linux system. LAMP stands for Linux, Apache, MySQL, and PHP. To make a website live in public using VPS  you need to install apache . In this post we are trying to explain entire step how to install in in Your Ubuntu or Debian Server.

We also created and automated shell script so that you can install entire LAMP by running shell file.

Requirements

  1. Linux Server with static IP (Ubuntu/Debian) / ( Click here for RedHat/Centos Installation )
  2. Minimum 128 MB Ram
  3. 600 Mhz Processor

 

Steps

Connect your VPS Server using ssh

Automated Script Installation

# Coming soon

Steps 1 – Update Server

sudo apt-get update
sudo apt-get upgrade

Step 2 – Installing Apache

sudo apt-get install apache2

Step 3 – Installing Mysql

sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

Once you have installed MySQL, we should activate it with this command:

sudo mysql_install_db

Finish up by running the MySQL set up script:

sudo /usr/bin/mysql_secure_installation

The prompt will ask you for your current root password.

Type it in.

Enter current password for root (enter for none):

OK, successfully used password, moving on…

Then the prompt will ask you if you want to change the root password. Go ahead and choose N and move on to the next steps.

It’s easiest just to say Yes to all the options. At the end, MySQL will reload and implement the new changes.

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y                                            
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

Once you’re done with that you can finish up by installing PHP.

Step 4 – Installing PHP

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

Step 5 – Installing PhpMyAdmin

sudo apt-get install phpmyadmin apache2-utils
  • Select Apache2 for the server
  • Choose YES when asked about whether to Configure the database for phpmyadmin with dbconfig-common
  • Enter your MySQL password when prompted
  • Enter the password that you want to use to log into phpmyadmin

After the installation has completed, add phpmyadmin to the apache configuration.

sudo nano /etc/apache2/apache2.conf

Add the phpmyadmin config to the file.

Include /etc/phpmyadmin/apache.conf

Step 6 – Restarting Apache

sudo service apache2 restart