Showing posts with label tutorial. Show all posts
Showing posts with label tutorial. Show all posts

Monday, 26 January 2015

Raspberry Pi Introduction and Setup

This post explains what is Raspberry Pi (RPi) and how to set it up.

Raspberry Pi is a low-cost, very small, single-board computer that usually runs one of the several different Linux-based operating systems (it is not strong enough to run Windows, but don't worry - it's still easy to control!). The primary idea behind this small computer is that everyone could learn computing and programming on an affordable, small computer.


MODELS

There are several different versions of Raspberry Pi:

Model A (replaced by model A+), Model B (replaced by model B+), Model A+ and Model B+.
Models A and B were replaced by newer models A+ and B+ in 2014, so I will briefly describe differences between them.


Model A+ and B+ side by side. Photo credit: Adafruit

Specification\Model A+ B+
Dimension 65mm x 56mm / 2.5" x 2.25" 56mm x 85mm  / 2.2" x 3.4"
Weight 23 g 42 g
Processor ARM 11, 700 MHz low power ARM 11, 700 MHz low power
USB ports 1 x 2.0 USB 4 x 2.0 USB
Memory (RAM) 256 MB 512 MB
Ethernet port No Yes
Price $20 / ~€20 $35 / ~€35

Other than above mentioned specifications, they both have 40 GPIO (General Purpose Input Output) pins, a HDMI port, a DSI display connector, a camera connector, GPU (Graphic Processing Unit) and a micro SD card slot. Both models are powered by micro USB - just like the ones most mobile phones use.

My recommendation is paying few extra € / $ (or whichever monetary system you use) and get model B+ (unless you really need slightly lower weight and power consumption). With more USB ports you will avoid buying extra USB hubs (on model A+ no ethernet port means you will have to use USB Wi-Fi, thus you won't have a free USB port for keyboard/mouse) and you will get more RAM.


WHAT DO YOU NEED?

Since I have B+ model and will make tutorials based on it, this section is based on what you need for this model. Please note that RASPBERRY PI DOES NOT INCLUDE ANY EXTRA EQUIPMENT!

1 x Raspberry Pi B+ model
1 x micro SD card, UHS 1 or class 10, with 32 GB (can be less)
1 x Micro USB charger (5V, 1 A)
1 x HDMI cable
1 x keyboard (wireless if possible)
1 x mouse (wireless if possible)
1 x ethernet cable or 1 x USB Wi-Fi module (as small as possible)
1 x clear casing with removable top to access GPIO (optional)
1 x micro SD card reader (if you don't buy micro SD card with pre-installed operating system)

I bought a wireless keyboard + mouse combo with only 1 USB receiver, so that I can have more free USB ports. You can buy a micro SD card with pre-installed OS system, or you can install it on your own (in which case you will need micro SD card reader).


My complete equipment.


SETTING UP

If you are going to install OS yourself, put the micro SD card in your card reader and plug it into your computer. Then, depending on your operating system, follow the instructions for writing an image on a micro SD card.

There are several OS you can choose from:
NOOBS - for absolute beginners
RASPBIAN - based on Debian for standard users
PIDORA - based on Fedora for standard users
OPENELEC / RASPBMC - XBCM media centers
and many more official and unofficial OS....

Since I am using Windows, I installed Win32DiskImager and downloaded Raspbian. After both have downloaded, Just double click on Win32DiskImager, select Raspbian file and drive letter your micro SD card is associated with. Click "write" and after few moments your micro SD card will be ready.

Writing image file on H: (micro SD card location)

Now plug in your micro SD card in Raspberry Pi, connect it via HDMI cable to TV/monitor, connect your keyboard and mouse to it and connect either ethernet cable or WiFi module. After everything is set up, finally connect it via micro USB to power outlet.

Your Raspberry Pi should start booting and it will bring up a blue screen with some options.First select "Expand Filesystem" so that OS can take as much space as it needs. If you wish you can also select "Internationalisation options" where you can setup your keyboard layout, time zone, etc. Finally select "Finish".

Raspbian configuration

Raspberry will then ask you for username and password. Default username is "pi" and password "raspberry" (please note what kind of layout you have, it might be "raspberrz"). This will bring you to terminal - a command line interface.

Now you will want to update your Raspbian to newest version. To do that simply type:
sudo apt-get update (to update the sources of the software) and then
sudo apt-get upgrade (to upgrade everything to the latest version).

After it has finished updating, you can switch to GUI (graphic user interface) by typing:
sudo startx

That's it! Now you can explore pre-installed things and what else you could install on your Raspberry.





Thursday, 11 July 2013

Java Hello World (Console)

This is a short tutorial for your first application in Java. I use Eclipse as software integrated developer environment (IDE), however there are many more (like Netbeans).

Let's start off with basic installation. First thing you need to install is Java Development Kit (JDK). After JDK, you need to install Eclipse IDE for Java Developers.

Open your Eclipse and click on "File"->"New"->"Project". Select "Java Project" and click "Next".



Type in a name like "HelloJava" and click "Finish".


A folder named HelloJava is created on left side of screen (Package Explorer). If you double click on that folder you can see its contents. Right-click on src subfolder and select "New"->"Package". Name it test.hello and click "Finish".


Now your package will appear in src subfolder. Right click on that package and select "New"->"Class". In name field type Hello and check the "public static void main(String[] args)" option. Click "Finish".



After this you will get some code that looks like this:

package test.hello;

public class Hello {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
 }
}


Now add a line System.out.println("This is my Hello Java!"); within main method so  it looks like following:

package test.hello;

public class Hello {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  
  System.out.println("This is my Hello Java!");
 }
}

System.out.println("Something, something");  is used to print out whatever is contained within quotation marks (in this case it will print out Something, something.

To run the program, click on green "play" button in upper left corner or press CTRL+F11. Result of your program will appear below your code in console.

Now let's add text input. For this we need to create a Scanner. It will save whatever we write in one line and then we can use it to print out what has been saved in it. To do this we need to insert two lines above our current code. First line is the declaration of Scanner with name "scanner" and it should be Scanner scanner = new Scanner(System.in);. You will notice that the word Scanner is underlined. It means you need to import that class to your project. To do this, simply hover over the word Scanner and select "import java.util.Scanner;". Second line is for printing text and it should be System.out.println(scanner.nextLine()); Your code should now look like this:

package test.hello;

import java.util.Scanner;

public class Hello {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub

  Scanner scanner = new Scanner(System.in);
  System.out.println(scanner.nextLine());
 }
}

Now you can run it, type whatever you wish in console and when you press "Enter" (new line), it will repeat what you wrote. That's it! 



Tuesday, 19 February 2013

C# Hello World (Graphic User Interface)

We are going to create a Hello World with GUI (Graphic User Interface) in C#. Like in previous post we start by creating new project.

Click on "File"->"New"->"Project" or shortcut "CTRL+SHIFT+N".

Again, we click on Visual C# on left side, but this time we need to select Windows Forms Application on the right side of screen. Under name type HelloWorldGUI and click OK button. It should look like this:



This creates new project and a screen with a window appears. On the left side there is also Toolbox which contains different elements that can be dragged and dropped on window. If you don't see toolbox on left side go to "View"->"Toolbox" and it will appear.

Select a Button from toolbox and drag and drop it on the window. Then select Label from toolbox and drag and drop it on the window under button. It should look like this:



Now click once on the window and take a look at lower right part of screen where it says Properties. Find where it says Text in list and write down My First GUI. This will change the text in upper left corner of your window from default text (which is usually Form1) to whatever you write in Text field.

Select button that is inside window, go to properties again, and under Text type Click me! in order to change text on the button.

Now select label that is inside window, go to properties again, and under Text type Button not clicked in order to change text on the label. Now go to (Name) property and change it to myLabel. This will set the name of label which we can use in our code. After renaming GUI should look like this:



Next step is double click on button. This will create a function for clicking on a button (click event). Here we get a code that looks something like this:

 using System;  
 using System.Collections.Generic;  
 using System.ComponentModel;  
 using System.Data;  
 using System.Drawing;  
 using System.Linq;  
 using System.Text;  
 using System.Windows.Forms;  
 namespace HelloWorldGUI  
 {  
   public partial class Form1 : Form  
   {  
     public Form1()  
     {  
       InitializeComponent();  
     }  
     private void button1_Click(object sender, EventArgs e)  
     {  
     }  
   }  
 }  


In order to change text on our label we add a line myLabel.Text = "Hello World!"; so that our code looks something like this:

 using System;  
 using System.Collections.Generic;  
 using System.ComponentModel;  
 using System.Data;  
 using System.Drawing;  
 using System.Linq;  
 using System.Text;  
 using System.Windows.Forms;  
 namespace HelloWorldGUI  
 {  
   public partial class Form1 : Form  
   {  
     public Form1()  
     {  
       InitializeComponent();  
     }  
     private void button1_Click(object sender, EventArgs e)  
     {  
       myLabel.Text = "Hello World!";  
     }  
   }  
 }  

Now run it by pressing F5 and try clicking the button.

Finally let's create a counter for our button that counts how many times it has been pressed. First we initialize an integer by putting int counter=0; before public Form1(). This creates a variable that has initial value 0. Inside our button click function - private void button1_Click we need to increase value of counter. This can be done by typing counter++; or counter = counter + 1; - either one will increase value of counter each time button is pressed. Now instead of "Hello World!" we put "Button has been clicked "+counter+" times!" - this will type out text "Button has been clicked" and "times!", but thanks to + sign it will also print out value of counter between those two parts.

Final code should look like this:

 using System;  
 using System.Collections.Generic;  
 using System.ComponentModel;  
 using System.Data;  
 using System.Drawing;  
 using System.Linq;  
 using System.Text;  
 using System.Windows.Forms;  
 namespace HelloWorldGUI  
 {  
   public partial class Form1 : Form  
   {  
     int counter = 0;  
     public Form1()  
     {  
       InitializeComponent();  
     }  
     private void button1_Click(object sender, EventArgs e)  
     {  
       counter++;  
       myLabel.Text = "Button has been clicked " + counter + " times";  
     }  
   }  
 }  

Try running it and keep clicking the button. Your results should look like this:


Friday, 8 February 2013

C# Hello World (Console)

This is a short tutorial for your first application in C#. Although there are many implementations of C# (like Mono), I will provide tutorial in Microsoft's Visual Studio.

First we will create "Hello World" console application. These are the steps:

Click on "File"->"New"->"Project" or shortcut "CTRL+SHIFT+N".

New window will appear. On left side you can see different languages. Select Visual C#. This will open a list of most common project types on the right side of the window. Select Console Application. Now we have to name it - type MyFirstApplication in name field. While you do this, solution name will change accordingly. If you want you can also change default location of your project. When you are done click "OK" button.



Again new window appears with your first class already generated. You will see some premade code that looks like this:

 using System;  
 using System.Collections.Generic;  
 using System.Linq;  
 using System.Text;  
 namespace MyFirstApplication  
 {  
   class Program  
   {  
     static void Main(string[] args)  
     {  
     }  
   }  
 }  

Now add a line Console.WriteLine("This is my Hello World!"); within Main method so  it looks like following:

 using System;  
 using System.Collections.Generic;  
 using System.Linq;  
 using System.Text;  
 namespace MyFirstApplication  
 {  
   class Program  
   {  
     static void Main(string[] args)  
     {  
       Console.WriteLine("This is my Hello World!");  
     }  
   }  
 }  

Console.WriteLine("bla bla bla"); is used to print out whatever is contained within quotation marks (in this case it will print out bla bla bla.

To start program click on green "play" button or press F5. This will run your program, however you will most likely not be able to see what it prints out because console closes too fast. To avoid that we will add another line of code that requires user to press enter before console closes. Add this line below the last one
Console.ReadLine(); so that code looks like this:

 using System;  
 using System.Collections.Generic;  
 using System.Linq;  
 using System.Text;  
 namespace MyFirstApplication  
 {  
   class Program  
   {  
     static void Main(string[] args)  
     {  
       Console.WriteLine("This is my Hello World!");  
       Console.ReadLine();  
     }  
   }  
 }  

Now try running it again (F5). This time you can see the printed text and console waits for you to press enter in order to finish running.

Now let's try to enter a line of text and print out the text we entered. For this we need to create a String. It will save whatever we write in one line and then we can use it to print out what has been saved in it. To do this we need to insert two lines above our current code. First line is the declaration of String with name "message" and it should be String message;. Second line is for storing text from whatever line you write on keyboard and it should be message = Console.ReadLine();. Your code should now look like this:

 using System;  
 using System.Collections.Generic;  
 using System.Linq;  
 using System.Text;  
 namespace MyFirstApplication  
 {  
   class Program  
   {  
     static void Main(string[] args)  
     {  
       String message;  
       message = Console.ReadLine();  
       Console.WriteLine("This is my Hello World!");  
       Console.ReadLine();  
     }  
   }  
 }  

If you try to run it it will first request from you a line of text (when you press enter it will finish taking text), but it will print out This is my Hello World!. In order to change that we need to make it print out our message. To do this we simply remove "This is my Hello World!" and write message inside parentheses. Now the code should look like this:

 using System;  
 using System.Collections.Generic;  
 using System.Linq;  
 using System.Text;  
 namespace MyFirstApplication  
 {  
   class Program  
   {  
     static void Main(string[] args)  
     {  
       String message;  
       message = Console.ReadLine();  
       Console.WriteLine(message);  
       Console.ReadLine();  
     }  
   }  
 }  

And that's it!