Monday, November 24, 2014

External ADC with Raspberry Pi.



           Really I tried a lot with MCP3208 external ADC to interface with the Raspberry pi. Searched for various codes but nothing was available in JAVA. So after some research i got some python code and modified that to JAVA.  in this i have used the Pi4J library.

/****
*Author : Bikash Narayan Panda
*Use : This is used to read ADC data foem the MCP3208 SPI based ADC.
*Date :19/Nov/2014
*Tags: Please Include the Pi4J Library.
*
*
**/
import java.io.IOException;
import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioFactory;
import com.pi4j.io.gpio.GpioPinDigitalInput;
import com.pi4j.io.gpio.GpioPinDigitalOutput;
import com.pi4j.io.gpio.PinPullResistance;
import com.pi4j.io.gpio.PinState;
import com.pi4j.io.gpio.RaspiPin;

public class SensorTest {

    public static int readadc(int adcnum, GpioPinDigitalOutput clockpin,
            GpioPinDigitalOutput mosi

Thursday, October 30, 2014

Modify your old PC SMPS to BenchTop Power Supply Unit


Many time we do have old SMPS of no use to the computers. Those SMPS can be modified as bench-top power supply system providing -12,+12,+5,+3.3 volts. I have used one to power my all arduino based home automation modules and the Raspberry Pi. Here  i am going to post how to mod an old SMPS .

You just need following components along with some  basic tools

                                             1.Screw Terminals.
                                             2.Switch (On/Off).
                                             3.10Watt Resistive load (May be 5K or 10K i have used 4.7K working fine)


Friday, September 12, 2014

Using Raspberry Pi Serial Port

             By default the Raspberry Pi’s serial port is configured to be used for console input/output, it means you can't use the Serial Port in your programs and  needs to be disabled.To enable the serial port for your own use you need to disable login on the port. There are two files that need to be edited

The first and main one is     

              
 /etc/inittab


This file has the command to enable the login prompt and this needs to be disabled. Edit the file and move to the end of the file. You will see a line similar to

                      

Wednesday, September 10, 2014

Algotithm to Convert 4 byte Hex to 32 bit float


 I really struggled hard to find out some sorts of algorithm to convert 4 hex bytes to 32 bit float for my requirement on some analysis of MODBUS protocol. I didn't find it and it tok me nearly 2 days to design this. Here is the algorithm..


float ModbusRead(byte id,byte msbAddress,byte lsbAddress,byte msbCrc,byte lsbCrc)
{  
    num=1.00;
    Serial.write(id);
    Serial.write(0x03);
    Serial.write((byte)msbAddress);
    Serial.write((byte)lsbAddress);
    Serial.write((byte)0x00);
    Serial.write(0x02);

Friday, August 8, 2014

Running particular application when Rspberry Pi boots up

              While using Raspberry Pi you might not be interested to take  a mouse and keyboard to run certain application when the Pi reboots. To avoid this many procedures are available . In this post i have used crontab to run a JAVA based application each time the Pi reboots. Actually crontab provides many more features.

Thursday, August 7, 2014

Run GUI based application on raspberry Pi Startup




          Belief me i went through several websites and tested many proposals to run my JAVA based GUI application on Raspberry Pi start-up. Finally the following worked out

First check inside the .config folder if it contains autostart folder or not , if not then create a folder named as autostart.

Monday, July 28, 2014

Power Over Ethernet (For Ethernet Connected Devices)



         Power Over Ethernet is a widely used concept to power up remote devices like Arduino, Raspberry pi or any other embedded devices working on low voltage and power.There are ready made modules available in the market but are expensive so in this tutorial i will show you to make the cable modified to work for POE.

Saturday, June 21, 2014

Cheap Ethernet connection to Arduino using ENC28J60 module

      While working on Ethernet projects with Arduino the basic hardware we require along with Arduino is the Ethernet Shield. But the problem is that in a constrained budget the buying one Ethernet Shield is not possible which leads to other options and a good one is ENC28J60 Ethernet chip by Microchip.This is not as smart as the Wiznet W5100 chip based Ethernet shields but are quite useful as those.This post i am going to write all about interfacing the ENC28J60 module to Arduino UNO as well as Arduino mini Pro.I have used EtherCard library for the coding to interact with the module.
     
          Below is the wiring diagram for Arduino UNO.

    
  Code:
#include <EtherCard.h>
#define PATH    "temp.php"

byte mymac[] = { 
  0x74,0x69,0x69,0x2D,0x30,0x31 };
uint8_t ip[] = { 
  192, 168, 0, 8 };          // The fallback board address.
uint8_t dns[] = { 
  192, 168, 0, 1 };        // The DNS server address.
uint8_t gateway[] = { 
  192, 168, 0, 1 };    // The gateway router address.
uint8_t subnet[] = { 
  255, 255, 255, 0 };

char website[] PROGMEM = "192.168.0.10";
static byte session;
byte Ethernet::buffer[800];
uint32_t timer;
Stash stash;
float temp_R=0;
int tempPinR = A0;
String cont="";
int led = 9;
int sw1 = A1;
int sw2 = A2;
int sw3 = A3;
String sReply="";

Sunday, June 1, 2014

Room temperatuer logger using arduino and JAVA


 This post is all about a temperature logger module using two sensors(LM35) and uses serial communication to log data to MySQL server. And it does so by using Arduino at the logger end and JAVA at the server.

  The concept is so simple that the Arduino uses LM35 (providing analog output for measured temperature) ,which is connected to one of the analogIn pin of Arduino. The sketch burned to Arduino converts the read value from the pin to corresponding temperature. And it sends the data through the serial port.

  At PC side a JAVA application runs which uses TxRx library for communicating with the serial port. The application reads the data from the serial port and acknowledged to Arduino. It then saves the red data to a database.

Thursday, May 15, 2014

Control VLC Player using Android (Wifi Connected)

    My first application of Android comes here.In my first tutorial on Controlling VLC using JAVA you can see that the VLC provides a Web interface from which it can be controlled and it also accepts certain commands.So that can be used to control the media player in Local Area Network using any programming language.This time its Android

Code:
MainActivity.Java


package com.example.first_app;
import java.net.Authenticator;
import java.net.URL;


import android.os.Build;
import android.os.Bundle;
import android.os.StrictMode;

4 Channel relay board using L293D

         Many time it requires controlling relays to automate different things in projects.But thing is generally Relays are driven by either high voltage and requires high current but most of the embedded systems works at lower voltage and the constrain is they cant provide high current.

Saturday, February 22, 2014

Sending Message from PC through mobile using AT Commands over Bluetooth


AT Commands:
              AT or attention are set of commands those are used to communicate with GSM modems.I am not going much about it as you can google it.I tried using the AT commands through Bluetooth  which was successful and finally integrated it to JAVA so that I can send message through my mobile using an interface instead of hyper-terminal.Before getting it started check your mobile if it supports the commands or not by using Hyper-terminal or any serial port Software.


               In the below codes i have used RxTx serial communication library that is free to use and my communication port was 'COM9' please check it for you and then changing it compile the code.

Main.java //Main GUI

package com.oksbwn.Y2014.Message_Mobile;



import java.awt.Color;

import java.awt.Dimension;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;



import javax.swing.*;


Saturday, February 8, 2014

Getting Facebook Access Token for JAVA applications

    When for the first time i used facebook API in my java application using the  library restFb i faced real trouble with the access token .For that i browsed a lot to get the token at last i was able.So to make it easy here are the steps to get the access token that is valid for 2 months.

Step:1
   First of all create a facebook application and goto the application page.goto tools and click on APIExplorer   in the menu as shown below select your application...


Storing configuration data for JAVA applications

       Many times it is required to store some configuration settings for your application so that it can use again and again from where it left.Or the application can start with some specific parameters.So the properties file can come handy in such requirements.

   First lets write something to the properties file..

Code:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Properties;

public class App {
  public static void main(String[] args) {

    Properties prop = new Properties();
    OutputStream output = null;

    try {

        output = new FileOutputStream("C:\\Alberto\\Config\\debug.properties");
        prop.setProperty("stat","no");
        prop.setProperty("mail", "oksbwn@gmail.com");

Controlling VLC media player using JAVA

         Basically i was looking for a method to communicate with the VLC media player so that i can get the currently playing video on the player and my app can search the internet and get the details about the movie.For that i googled a lot and finally came to know that VLC has a web interface and i used that with my JAVA app to control and getting details of the movie.
           
        First open the VLC and goto tools->preferences and check the All radio button. and navigate to the Main Interface and click on lua and there you have to set HTTP password (Otherwise u cannot access the web interface). Screenshot is given below.

           

Friday, February 7, 2014

Sending Email using JAVA mail API and gmail account

       
        Sending a mail using JAVA mail API in JAVA is really a easy part.Here i am posting the codes to simply send a mail using the API.First you have to download the JAVA mail library and add it to your build path.

Tuesday, February 4, 2014

Show movie details using JAVA

   In this post i am going to post about using the anditson.com API to search for a movie online and display the results like a gallery as shown above using JAVA.anditson.com provides a good API which actually provides all data associated with a movie  in JSON or XML format.I have used the XML format.Here are the codes...

Code to search online:

import javax.xml.parsers.DocumentBuilder;

Thursday, January 30, 2014

A Tweet Gallery in JAVA

             
           As the title says the above image is the screenshot of a tweet gallery that i have designed using JAVA and JAVAFX., to access the tweets i have used twitter4j library.Below are the codes to design the gallery.Also My-SQL database is used to store the tweets periodically and when clicked on view then it shows the latest 25 tweets from the database.

Sunday, January 26, 2014

MySQL database access using Python in Raspberry Pi

          While working with Python in Raspberry Pi it might be useful to have a database access for your application or somewher it is required.Or may be as a beginner you would like to use MySQL with Python.Here i have compiled a post on how to use MySQL with Python...
   
            First of all you have to install python-MySQLdb which interacts between the My-SQL database and the Python.So to install it in the Raspberry-Pi terminal type..

          sudo apt-get install python-mysqldb


I have already installed so my screenshot is looking like this..after installing this nothing else is required..

Move to the desktop and open the Python IDLE.Remember don't open the IDLE 3 as it doesn't supports the MySQLdb.


Now in the prompt type
          
 import MySQLdb

if it shows some error then the MySQLdb is not installed.If it is installed then it will show nothing.In the IDLE click on File and New Window this will open a new editor to write the python codes.
Editor...

Now lets you have a database dbase and user is root and PWD is pwd and has a table tab and some stored data.Here is my database snap...


          Now in the editor write the following code and save it by pressing ctrl+s and execute it by pressing F5.It will show you the results in the IDLE shell.

Code:

import MySQLdb=MySQLdb.connect("localhost","user","password","database")
curs=db.cursor()
#tab is a table in the database 
curs.execute("SELECT * FROM tab")
for reading in curs.fetchall():
   print str(reading [0])
db.close()


Thursday, January 23, 2014

Image Gallery using JAVA and JAVAFX

          I quite browsed internet a lot to find something to create a image gallery in JAVA but i got null out of it.So i started making my own gallery in JAVA and JAVAFX and also integrated SQL database with it so that i can keep the information about the images and my gallery can be searchable according to persons in the image or place or date taken etc.Here below i am providing the codes to make the gallery..My gallery looks like this :
 
     So first of all create the following database in your local database.I suppose you are using My-SQL and phpmyadmin(comes in XAMPP) .After creating the DB now comes the coding..


  Code to add new folders to your database and view the images..

import javafx.scene.effect.*;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;

import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

import com.oksbwn.ErrorHandling.handleExceptions;
public class AddNewGallery 
  {
    static Dimension gh=java.awt.Toolkit.getDefaultToolkit().getScreenSize();
    static int x=gh.width;
 static int y=gh.height;
    Random randomGenerator = new Random();
    static JFrame jFrame = new JFrame("- JFrame -");
   
    public static void main(String[] args)
     {
     new AddNewGallery();
     }

    public AddNewGallery()
      {
     jFrame.setLayout(null);
      jFrame.setUndecorated(true);
     jFrame.setBackground(new Color(Color.white.getRed(), Color.white.getGreen(),Color.white.getBlue(),50));
     jFrame.setType(javax.swing.JFrame.Type.UTILITY);
      jFrame.setBounds(0,0,x,y);
      final  JLabel cloesButton = new JLabel("X");
       cloesButton.setForeground(Color.red);
       cloesButton.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent arg0) {
         jFrame.dispose();
          }});
       cloesButton.setBounds(jFrame.getWidth()-30,5, 15,15);
     jFrame.getContentPane().add(cloesButton);
     
     final  JLabel AgainButton = new JLabel("A");
      AgainButton.setForeground(Color.green);
      AgainButton.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent arg0) {
         jFrame.dispose();
         new AddNewGallery();
          }});
      AgainButton.setBounds(jFrame.getWidth()-60,5, 15,15);
     jFrame.getContentPane().add(AgainButton);
      
      
      final JFXPanel jFXPanel3 = getPanel("");  
       jFrame.setVisible(true);
       //final String actPath="E://Image_Gallery#oksbwn//16.02.20111//";
      final String actPath=JOptionPane.showInputDialog(null, "Folder", "E://Image_Gallery#oksbwn//16.02.20111//");
       
    //File f = new File("C:\\Users\\oksbwn\\Pictures\\");
     File f = new File(actPath);
    final ArrayList names = new ArrayList(Arrays.asList(f.list()));
       Platform.setImplicitExit(false);
       Platform.runLater(new Runnable(){
            @Override
            public void run() {
               try {
     Class.forName("com.mysql.jdbc.Driver");
     Connection con1=DriverManager.getConnection("jdbc:mysql://localhost:3306/bikash","root","");
            initFxLater(jFXPanel3,"");
                 for(String file : names)
                 {
              initFxLater(getPanel(actPath+file),actPath+file);
              ResultSet res= con1.prepareStatement("SELECT * FROM `image_gallery` WHERE `Path` LIKE '"+actPath.substring(2, actPath.length())+file+"'").executeQuery();
                if(!res.next()) 
                 {
                 con1.prepareStatement("INSERT INTO `image_gallery` (`Sl_No`, `Image`, `Path`, `Persons`,`About`,`Date`,`Place`) VALUES (NULL, '"+file+"', '"+actPath.substring(2, actPath.length())+file+"','','','','')").execute();
                  } 
               }
                 con1.close();
                 } catch (Exception e) {new handleExceptions(e);}
              
                   }
        });
    }

    
    
    
    
    
    

//****************************************************************************************************************************//
private  void initFxLater(JFXPanel panel,String path)
{
  File file = new File(path);
  Image image = new Image(file.toURI().toString(),100,100,true,true);
  DropShadow ds1 = new DropShadow();
  ds1.setOffsetY(4.0f);
  ds1.setOffsetX(4.0f);
   
    final ImageView  chart = new ImageView();
    chart.setImage(image);
    chart.setEffect(ds1);
    Group root = new Group();
    Scene scene = new Scene(root);
    HBox box = new HBox();
       
    box.getChildren().add(chart);
    root.getChildren().add(box);
    scene.setFill(null);
    panel.setScene(scene);
}
private JFXPanel getPanel(String path)
{  
    final  JFXPanel jFXPanel = new JFXPanel();
 jFXPanel.setOpaque(false);
    jFXPanel.setBounds(randomGenerator.nextInt(x-120),randomGenerator.nextInt(y-120),110,110);
    jFXPanel .addMouseListener(setPos(jFXPanel,path));
    jFXPanel.addMouseMotionListener(setPos(jFXPanel,path));
    jFrame.getContentPane().add(jFXPanel);
 return jFXPanel;
 }
private MouseAdapter setPos(final JFXPanel comp,final String path){
final  MouseAdapter mouseListener2 = new MouseAdapter() {
    int x, y;
    @Override
    public void mousePressed(MouseEvent e) {
        if (e.getButton() == MouseEvent.BUTTON1) {
            x = e.getX();
            y = e.getY();
        }
    }
    @Override
    public void mouseClicked(MouseEvent e) {
      //  System.out.println(path)
     new FullImage(path);
    }

    @Override
    public void mouseDragged(MouseEvent e) {
        if ((e.getModifiersEx() & MouseEvent.BUTTON1_DOWN_MASK) != 0) {
         comp.setLocation(e.getXOnScreen() - x, e.getYOnScreen() - y);
        }
    }
  };
return mouseListener2;
}

}

    Now it will ah to ask for the path  to image folder so after providing the path and other details it will show you the images so are in thumbnails.To see the large image when clicked over the thumbnails i used the following code :

import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;

import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.DropShadow;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

import com.oksbwn.ErrorHandling.handleExceptions;
import com.oksbwn.popUp.popMe;
import com.oksbwn.voiceEnable.Voice;


public class FullImage {
     JFrame jFrame = new JFrame("- JFrame -");
String path2;

     final  JFXPanel jFXPanel = new JFXPanel();
  
     static Dimension gh=java.awt.Toolkit.getDefaultToolkit().getScreenSize();
     static int x=gh.width;
  static int y=gh.height;
    public FullImage(final String path)
      {

      path2=path;
     jFrame.setLayout(null);
      jFrame.setUndecorated(true);
     jFrame.setBackground(new Color(Color.white.getRed(), Color.white.getGreen(),Color.white.getBlue(),50));
     jFrame.setType(javax.swing.JFrame.Type.UTILITY);
      jFrame.setBounds(0,0,x,y );
      jFrame .addMouseListener(mouseListener2);
      jFrame.addMouseMotionListener(mouseListener2);
      
      final  JLabel cloesButton = new JLabel("CLOSE");
       cloesButton.setForeground(Color.green);
       cloesButton.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent arg0) {
         jFrame.dispose();
          }});
       cloesButton.setBounds(jFrame.getWidth()-40,5,35,25);
     jFrame.getContentPane().add(cloesButton);
     jFXPanel.setOpaque(false);
      jFXPanel.setBounds(0,0,x,y);

      jFXPanel .addMouseListener(mouseListener2);
      jFXPanel.addMouseMotionListener(mouseListener2);
      jFrame.getContentPane().add(jFXPanel);
      
       jFrame.setVisible(true);
      Platform.setImplicitExit(false);
       Platform.runLater(new Runnable(){
            @Override
            public void run() {
               initFxLater(jFXPanel,path);
              }
        });
    }

    
    
    
    
    
    

//****************************************************************************************************************************//
private  void initFxLater(JFXPanel panel,String path)
{
  File file = new File(path);
  Image image = new Image(file.toURI().toString(),x-10,y-10,true,true);
  DropShadow ds1 = new DropShadow();
  ds1.setOffsetY(4.0f);
  ds1.setOffsetX(4.0f);
   
    final ImageView  chart = new ImageView();
    chart.setImage(image);
    chart.setEffect(ds1);
    Group root = new Group();
    Scene scene = new Scene(root);
    HBox box = new HBox();
       
    box.getChildren().add(chart);
    root.getChildren().add(box);
    scene.setFill(null);
    panel.setScene(scene);
}
final  MouseAdapter mouseListener2 = new MouseAdapter() {
    int x, y;
    @Override
    public void mousePressed(MouseEvent e) {
        if (e.getButton() == MouseEvent.BUTTON1) {
            x = e.getX();
            y = e.getY();
        }
    }
    @Override
    public void mouseDragged(MouseEvent e) {
        if ((e.getModifiersEx() & MouseEvent.BUTTON1_DOWN_MASK) != 0) {
         jFXPanel.setLocation(e.getXOnScreen() - x, e.getYOnScreen() - y);
        }
    }
    
   
    @Override
    public void mouseClicked(MouseEvent e) {
     try{
      Class.forName("com.mysql.jdbc.Driver");
      
   Connection con1=DriverManager.getConnection("jdbc:mysql://localhost:3306/bikash","root","");
         ResultSet res= con1.prepareStatement("SELECT * FROM `image_gallery` WHERE `Path` LIKE '"+path2.substring(2, path2.length())+"'").executeQuery();
          if(res.next())
           {
           new Voice("Sir this image is of   "+res.getString(4)+"at   "+res.getString(7)+"    in "+res.getString(6)+"    captured cooment is "+res.getString(5));
             new popMe("Image of "+res.getString(4)+"at "+res.getString(7)+" in "+res.getString(6)+" cooment: "+res.getString(5), "Image Gallery","ok",10,140);
           if(res.getString(5).isEmpty()){
     String Persons=  JOptionPane.showInputDialog("Persons in Photo:");
     //String About =JOptionPane.showInputDialog("");
     String About =JOptionPane.showInputDialog("About the Photo");
     String Date= JOptionPane.showInputDialog("Date:");
     String Place= JOptionPane.showInputDialog("Where:");
            con1.prepareStatement("UPDATE `image_gallery` SET `Persons`='"+Persons+"',`About`='"+About+"',`Date`='"+Date+"',`Place`='"+Place+"' WHERE `Path` LIKE '"+path2.substring(2, path2.length())+"'").executeUpdate();
                
              }
           } 
       con1.close();
       } catch (Exception e1) {new handleExceptions(e1);}}
  };
}
You would normall see some eroors as i have used some self defined functions...So just edit those and modify the codes according to the usage.... Hope it would help you........For queries leave a comment...

Wednesday, January 15, 2014

Setting up apache webserver in Raspberry PI

     You might be interested in running a PI as your web server  for your network  as the tiny device doesn't consume more power as compared to a full PC.Here are the steps followed.

 install Apache by providing command 


  sudo apt-get install apache2 apache2-utils 

 You will be asked to download press y.

 
 After the completion of installation of Apache now install  php.The pi  supports php5 so install it by

  
   sudo apt-get install  libapache2-mod-php5 php5 php-pear php5-xcache

same preess  Y to download packages when asked


nest is to install MySQL as the server might require a database for usage .Type 

 
   sudo apt-get install php5-mysql mysql-server mysql-client



Now you will be asked to enter the root user password enter a password.


Now retype the password when prompted..


This completes the installation of My-SQL ,As database is installed installing phpmyadmin is a good thing to manage the database..So to install phpmyadmin type

       
   sudo apt-get install phpmyadmin










Now when prompted choose the installed server and hit ok



When prompted give the password for application and then for root user..



 

Choose Yes for configure phpmyadmin and proceed


Now you have to edit the apache to use the phpmyadmin so type
  
   
   sudo nano /etc/apache2/apache2.conf


move to the end of file by continuously pressing ctrl+V and at the end add the following line

   
   Include /etc/phpmyadmin/apache.conf 



Now everything is ready for the server ,so reboot the pi..


you can test the server at the PI's IP and phpmyadmin at IP/phpmyadmin








thanks..


Monday, January 13, 2014

Remote login to Raspberry Pi Desktop

  Remote log in is the concept where you can log in to other PC by using the IP address of the device and use the resources of it.In case of Pi it comes handy when you want to operate your Pi without monitor or say you don't have it.I will show how to use putty and Xming to interact with the raspberry pi desktop.First download the required software as shown below..



Install the Xming and run putty.But before this we have to enable SSH in the Raspberry Pi ,To enable SSH from Raspberry Pi prompt type

   
 sudo raspi-config


it will show a window like this ,goto advanced options


Click on SSH which will show you a window like this now hit enter over Enable.
 

It's all done from Pi,now get the IP address of the Pi using ifconfig  and note doen the Ip.Now run putty Enter the IP of Pi in  IP address field andd 22 in port.


 click over right  hand menu on SSh and click x11 and set x-display location to localhost:0


Again click on session menu and save the settings by providing a  name , so that you can use it later.And hit open button.

 This will open a prompt and show some warning press yes and it will ask for login as give the username and later pwrd when asked .This is the terminal of the PI.If you are interested in desktop view type command ,

       
 pcmanfm 







That's all enjoy................

Booting Raspberry Pi from USB Flash Drive

      Loading OS over SD card is ok but it is not that faster and also have limited read/write cycles so one might look for USB Flash drive to load the OS and is also a cheaper option.It makes the PI little faster.So here i am posting how to boot your Pi from USB drive.

      First write the image file to the USB Drive as int this post(installing-raspbian-over-raspberry-pi).This will write the os to the Drive.Now remove the SD card from the Pi and insert it to the PC , it will show 2 drives open the boot and open the cmdline.txt file


 This file will be containing booth path as shown below image.

 

 To boot from USB Flash Drive we have to  change the path to dev/sda2.


    Now plug the Drive and SD card to the Raspberry PI and if everything went write it will boot from Flash Now follow the steps listed in this post (installing-raspbian-over-raspberry-pi). And you are ready.You can see while clicking over Expand filesystem it showing not able to expand.Don't worry you need to expand the FS from the command prompt , as shown below.. 

 
     sudo fdisk /dev/sda 

     Then press p and enter to see the partitions. There should only be 2.Make a note of the start position for the partition sda2. Press d and then when prompted type 2 and then hit enter. This will delete the partition.Now we’re going to create a new partition, and make it large enough for the OS to occupy the full space available on the USB Flash Drive. To do this type n to create a new partition, when prompted to give the partition type, press p for primary. Then it will as for a partition number, press 2 and hit enter.You will be asked for a first sector, set this as the start of partition 2 as noted earlier. In my case this as 122880 but this is likely to be different for you.After this it will ask for an end position, hit enter to use the default which is end of disk. Now type w to commit the changes. You will see a message about the Kernel just ignore this. Type the following to reboot:

 
    sudo reboot 
   Once your Raspberry Pi has rebooted, we need to resize the partition. To do this type the following

   
  sudo resize2fs /dev/sda2
 
Once it’s done reboot again. Then type:

   
  df -h 
 
     This will show the partitions and the space, you’ll see the full USB Flash Disk has all the space available now. That’s it, all done!

Installing Raspbian over Raspberry PI (Booting the pi for first time)

   In this post i am going to show how to install a raspbian -wheezy OS over the Raspberry PI and configuring it to have the desktop.This is of course the first time you are going to boot your PI.First of all download the latest version of the OS from the raspberry PI official website.
   
      Now download any image writing software to write the image to the SD card.(I have used the Win32ImageWriter software) and plugin the SD card to the PC.Now select the SD card from the Image writer and also browse the downloaded raspbian OS .img file and click on write.

     
            This is going to take a while and it will show write successful message. It's done.Now plug the card to the PI and supply power to pi the Pi will start booting up and show the boot logs.Then it will show a prompt like this
  
        Hit enter expand Filesytem and click ok. This allows the PI to use all the available space of your SD card.Now to make your PI automatically to desktop mode hit enter over the 3rd option it will show you like this
    
     
     Press enter by selecting the 2nd one.Its all set now press Finish and it will ask to reboot hit ok.Now the Pi will reboot and will take you to the Desktop directly.Now you might update the Pi by using LxTerminal.that's all  .Ypu are ready with your Pi.



Thanks...