# OLD: 5: Raspberry Pi

## Expectations <a href="#expectations" id="expectations"></a>

### Learning Targets <a href="#learning-targets" id="learning-targets"></a>

* I can connect to my Raspberry Pi via SSH.
* I can deploy an app to a Raspberry Pi.

### Assessments <a href="#assessments" id="assessments"></a>

* You will submit a link to your GitHub repo.
* You will demonstrate your capacity to control your robot.
* You will be asked regular comprehension questions about Raspberry Pis.

## Terms

#### **Printed Circuit Board (PCB)**

![](/files/-LMDbLj4TGOxTsn5BM9H)

#### **Single Board Computer (SBC)**

This is a PCB with all the basic components found in a personal computer (PC)

![](/files/-LMDbZIR3oXA7hVtPQNr)

#### **Microcontroller Unit (MCU)**

![](/files/-LMDcAgqydHPgXN5d3J2)

#### Linux

![There are many types of the Linux operating system. We'll use Raspbian](/files/-LMDs8kbVmgtRF6ERSnR)

{% embed url="<https://www.codecademy.com/learn/learn-the-command-line>" %}

## Setup your robot

I'll help you remote control (SSH) your robot.

### Check and Update

* [Learn more about updating Raspberry Pi](https://www.raspberrypi.org/documentation/raspbian/updating.md)
* [Learn more about the Command Line Interface](https://www.codecademy.com/learn/learn-the-command-line)

`sudo apt-get update`

`sudo apt-get upgrade`

Ready to shut down? `sudo shutdown now`

## Local Python Practice

Now that we've left the fun environment of Trinket.io, let's first build a practice project.

{% embed url="<https://code.visualstudio.com>" %}
Make sure you have VS Code installed
{% endembed %}

{% embed url="<https://python.org>" %}
Make sure you have the latest Python installed
{% endembed %}

{% embed url="<https://gitforwindows.org/>" %}
If you're on Windows, you may need to install Git Bash
{% endembed %}

{% embed url="<https://github.com/dadiletta/TurtleChase>" %}
Fork this repo. You'll need a GitHub account to do so
{% endembed %}

Now let's go to VS Code and clone your forked repo.

![](/files/-Lp0smt3nsGNFPvckB_7)

The URL we need is: `https://github.com/YOUR-USERNAME/TurtleChase`

Now let's add some new features together:

1. Add a button to change each player's color
2. Prevent players from traveling off the screen
3. Detect collision of players
4. Wire up some other SuperTurtle methods...?

Now let's commit and push our code.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://gilmour.online/compsci/archives/adiletta-archives/itp/4-raspberry-pi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
