Install Raspbian get connected and basic networking sans usb tty

From csn
Jump to navigation Jump to search

In this activity, we will show you how you can get started with your Raspberry Pi. Some of you may have done this before and there are easier ways to do this. The most simple way to get started with a Raspberry Pi is to buy a pre-installed sd card running NOOBS. You can then plug in a monitor, keyboard and mouse.

The aim of this unit is to teach you some fundamentals of IoT device, so it is important that you can use a serial connection on an IoT device which may not have an Internet connection. Secondly, we have devised an IoT and a unit with no additional assumptions above a laptop and a phone. So we are assuming that you don't have a spare keyboard, monitor and mouse available.

Downloading and Flashing Raspbian on an SD Card

Start by downloading the Raspbian Lite image: https://www.raspberrypi.org/downloads/raspbian/

The reason that we will use the Raspbian lite image is that it does not use a graphical user interface. We will do our best to keep students on the command line as this is how most IoT devices will run, in "headless mode".

While the image is downloading, please find, Download and install Balener Etcher from:

https://www.balena.io/.

We will use Balener Etcher to safely install the image to your sd card. It works on Windows, OSX and Linux and does a pretty good job of preventing you from writing the Raspbian image to any of your computer's drives.

Insert your SD Card, into your USB-SDcard reader. Then insert the USB-SDcard reader into your computer.

Open the BalenerEtcher software on your computer. Pick "Flash from file" and then find your downloaded Raspbian image name it usually start with a date like "2020-06-13-raspbian...."

Finally, you must select your drive, note the capacity of your purchased MicroSD card and ensure that you are flashing a device with the same capacity. Note that the number on the box will slightly overestimate the actual capacity. I purchased a 16GB MicroSD card and Balener Etcher reports it as a 15.5GB MicroSD card. After this, click flash and enter your password if required.

Enabling SSH and setting up the WiFi

At this point, we have our SD card flashed. If we wanted we could plug in a keyboard and monitor. You could use a screen, keyboard and monitor to enable ssh and configure your Raspberry Pi to connect to your wifi network but we are going to assume you don't have these.

We are going to enable ssh and connect your raspberry pi to your WiFi network prior to booting into it. So we are making modifications directly to the filesystem. Start by downloading the following two files:

Note, yes ssh is a blank file. Now you should go and edit the wpa_supplicant.conf file with your SSID and key.

Logging into the Pi

Using your serial connection you should now see output similar to what is shown in the image to the right.

The default login for your Pi is:

Username: pi
password: raspberry

Once you have logged in you should immediately set a strong password with:

passwd
The Raspberry Pi over a serial connection
The Raspberry Pi over a serial connection

Connect to a WiFi network

To connect via the cli, open wpa-supplicant.conf:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Go to the bottom of the file and add the following:

Note: your password will be echoed onto the screen so just ensure that nobody is looking over your shoulder. You can go somewhere private or you can also drag your terminal window off the screen and still type. Remember Ctrl+x then y to save and exit.

network={
    ssid="thisismyssid"
    psk="thisismypassword"
}

Reboot your machine with:

sudo reboot now

Log back in and check what the IP address of the machine is.

Update your Pi via apt

You can

sudo apt update

Then:

sudo apt upgrade 

To update your pi.

Turn on SSH

You can turn on the ssh server so that you can access the pi from your Linux virtual machine with:

sudo apt install openssh-server

Afte this type

sudo raspi-config

Then go to

InterfacingOptions->SSH 

And enable ssh. Test that ssh works by opening an ssh client on your Linux VM, ssh to the IP address of the raspberry pi in a separate terminal.

ssh pi@[IP address]

Expand the filesystem

Within Raspi config, also go into Advanced and then exand the filesystem. You will need to reboot afterwards.

Challenge SSH keys

Can you get SSH Keys working on the Raspberry Pi? Can you SSH from your Linux Virtual machine into your raspberry pi without any passwords?

Some instructions here

Free time

If you find yourself with free time, then please work through Linux MOTD for your system.