Aug
12
Getting started with controlling a Raspberry Pi from your PC
By amackie
I wanted to be able to communicate and play with my Raspberry Pi. Specifically, I needed it to be set up with the following:
- Monitor
- Keyboard
- Mouse
- Intarwebs
For the monitor, I happen to have a few to play with. Unfortunately, they’re all VGA, and the Pi only outputs to composite and HDMI. Also, since I don’t have a spare wi-fi USB stick, I can only hook the Pi up to the network at the router – which is far from my desk.
So, I decided to look into a “headless” option – running the Pi without any peripherals, connected only to the router. I wanted to be able to control the Pi from not only a shell (SSH/Telnet) connection, but also via its GUI. Turns out, for a total Linux n00b, it wasn’t so hard to do – just a matter of researching and experimenting. Here’s what I did.
Get thee to an OS
To start, I got an SDHC card (8GB, but I think a 2GB one will suffice), which will hold the OS “image” (data and applications), and inserted it into a PC. As of August 12, 2012, the current OS of choice according to raspberrypi.org is Raspbian Wheezy. As per instructions, I downloaded the SD image, as well as Win32DiskImager (careful – the latter has a few false “Download” advert buttons). I then used DiskImager to install the image (Don’t just copy the image to the SD card – it won’t work!) I then tested that the OS booted up on the Pi by sliding the card into the Pi. This is required before you can do the headless connection, so it requires borrowing a keyboard and monitor that has HDMI or composite support.
My main monitor accepts composite (I don’t recommend this – so blurry!), so I attached that.
Get an SSH connection
First, I had to get SSH set up. SSH is like a command-line interface, like Telnet – think being able to type and run DOS-style commands, but on another computer.
I then booted up the Pi, and started raspi-config (this runs on first boot).
Unfortunately, I had an error where the SSH keys would not generate, with the message: “Invalid ssh key generation still running. Please wait and try again.” So, I exited raspi-config, and ran the following at the command line:
sudo rm /etc/ssh/ssh_host* sudo ssh-keygen -A
Then I re-ran raspi-config, then selected “ssh” again to restart the SSH service, and set a password. Success!
Connect to network
I was then able to disconnect the Pi from the monitor/keyboard, and connect it to the router. This router controls my local area network (LAN), so I should be able to connect to the Pi from another computer within the LAN. First, I had to find what IP address the router reported the Pi at. I found that the hostname of raspberrypi usually works. If not, try the following:
I consulted the manual of the router, which directed me to load http://192.168.1.1/ for my Linksys WRH54G in a browser (Your router may have a different address). The front page shows all connections, and I was able to easily find my Pi. In this case, it’s at IP address 192.169.1.106.
Phone home
I then installed PuTTY, which is a pretty good, simple SSH client. I opened it and set Host Name (or IP address) to the IP address of the Pi, and clicked Open. I was immediately prompted to log in.
login as: pi pi@<IP address>'s password: <SSH password I set in raspi-config>.
If you get something like this screen, you’re doing it right.
Getting a window
The next thing was to be able to see the PI’s GUI on my desktop. I followed the instructions here to install TightVNC on the Pi. This involves using apt-get, an application that installs Linux apps from an online repository. It’s an extremely useful and quick way to install the most popular free software.
sudo apt-get update sudo apt-get install tightvncserver /usr/bin/tightvncserver
You’ll need to set a password as well.
On the desktop machine, I then installed a VNC client. Both TightVNC and Real VNC have good clients. I’ll show TightVNC connecting. I installed and started the client, and typed in the IP address. NOTE: You need to append “:1″ to connect on port 1 of the Pi.
And if you get a screen like this on your PC, then grab a party hat, because you’re done!















Excellent blog, this will save me a lot of time.
2013-03-08, Friday
Above instrux WORKED. Minutes out of the shipping box (and a few more to get into the cute little AdaFruit plexibox) this latest-model (revB) pi system booted off element14′s debian 6 image’d sd4g.
Watched ethernet lights while pinging for the dhcp-assigned #, since I remembered the dhcp pool#s start @150 … got to 153 .. voila!
I was able to PuTTY ssh directly in (accepting to “trust” this first-seen host; PuTTY is friendly that way).
USERNAME pi
PASSWORD raspberry < — again, this is element14's deb6sd behaviour
So, I was able to skip the re-keygen step (for now).
Then ran $ sudo raspi-config
and the rest for the glory. Beer tastes better in times like this.
Thanks KwartzLab
smiles,
JohnD