You can deny all you want but seeing Tony Stark designing the sophisticated Iron Man suit had an oomph factor to it. Now, I want you guys to pause for a moment and think, how unbelievably amazing it would be if you could also design something like this. Not an Iron Man suit ( maybe :P ) exactly but how about home automation suite or a simple portable gaming console? The answer lies in exploring this small yet potent device called Raspberry Pi.
What exactly is Raspberry Pi?
According to the official website, Raspberry Pi can be simply seen as:
A small and affordable computer that you can use to learn programming
But if we really dive deep into the potential of this device, the above statement will surely look like an over simplification. Raspberry Pi is essentially a hardware device with computing ability quite similar to your usual desktops or laptops but what makes so useful if the the presence of programmable I/O pins popularly known as GPIO pins ( General Purpose ). It is due to these pins that we are able to interface a variety of sensors to the board to make awesome utilities. But having said that, it can be a bit daunting for a beginner to start working with this marvelous piece of technology, because unlike a normal computer the learning curve is a bit steeper here. So let’s see what it takes to fire up your very own Raspberry Pi.
There are several ways to set up your very own Raspberry Pi but mostly they require the use of a screen to follow installation instructions. We are going to set up the Pi in a completely headless ( without any output display screen ) way.So let’s look at the tools that we need for the same:
- Raspberry Pi
- Pen Drive (4 GB)
- Raspbian Stretch (Desktop) image
- Etcher (OS image flashing tool)
- A desktop/laptop
- Micro SD card (16 GB) and Card reader
Flashing the OS on the SD card:
Since the operating system for Raspberry Pi resides on a micro SD card, we need to flash the downloaded image to the card and boot the PI from it. Below are the detailed steps that will help you create a SD card ready for the Pi.
- Download the latest version of Raspbian Stretch from the link on the official website given above. You can download any of the previous versions too but for the sake of this tutorial we will be referring to the latest image.
- We will be using a tool called Etcher to flash the downloaded image on the SD card, depending upon the operating system, we can download the suitable version of Etcher and just select the base image and the destination drive to flash it.
Connecting the Pi to a computer:
Before we can start working on the Pi, we need to provide a way to connect it with our computer. Raspberry Pi can be independently used as a computer, just by attaching a keyboard and a monitor to it. Since over here we are focusing on the headless setup, we will be using just our computer to work on the Raspberry Pi remotely. We will be using SSH to connect over a wireless or a cabled network, using the following steps:
- Put an empty file and rename it to ssh in the boot directory of the SD Card. This will enable the SSH daemon just after the first boot. Now you can directly connect your computer to the Pi over SSH.
- Make sure that the Pi and your computer is on the same network and do an SSH to it. (Please note that depending upon the OS your computer is running you will have different methods for this).
- Since it is your first time, the default username is pi and password is raspberry. Use it to login into the Pi with the shell.
- Now when you are logged in, you need to enable SSH for the subsequent sessions. For doing this, write
sudo raspi-configin the terminal and press enter.
- Select Expand File System option from the list to so that we can use the entire card space.
- Select Interfacing options -> SSH and enable it. Also enable VNC while we are at this(The reason will become clear soon). After this reboot the Pi.
Setup Visuals for the Pi:
Now when we had successfully configured Raspberry Pi to work with basic command line, we can think more ambitiously in terms of assigning a visual access to it. So now we will be using Virtual Network Computing (VNC) which is a graphical desktop sharing system. It will allow us to remotely control the desktop interface of the Pi with the help of our computer. It transfers the keyboard and mouse events to the server running on the Pi and returns the respective updates on the screen. Since we have already allowed VNC above we can just install it by using
sudo apt-get install tightvncserver .
tightvncserver in the terminal to start the VNC server on the Raspberry Pi. You will have to install a VNC client on your computer to connect to the Pi. Once done, you will be able to communicate with Raspberry Pi, directly from your computer.
So we have seen that setting up a Raspberry Pi(headless), is slightly daunting task, as we need to take care of various nitty-gritty aspects of configuring a device without graphical display. But once done, the learning curve will be significantly less because in the end the OS used by Raspberry Pi is Linux flavored. Therefore with this one time setup effort, there is no limitation for what you can achieve with this mini computer.