# Set Up Hardware and Network Access

> [!WARNING]
> **Warning:** The Google Assistant Library for Python is deprecated as of June 28th, 2019. Use the [Google Assistant Service](https://developers.google.com/assistant/sdk/guides/service/python) instead.

<br />

The content on this page is hardware-dependent. Please select from the following:
<button value="rpi" default="">Raspberry Pi 3</button> <button value="ubuntu">Ubuntu Desktop</button> <button value="linux">Other Linux-based platforms</button> Before you begin, you'll need the following components:

<br />

- Raspberry Pi 3 Model B and power supply (see [recommended kit](https://www.adafruit.com/products/3334))


  > [!NOTE]
  > **Note:** To use a Raspberry Pi Zero (or Zero W), use the [Google Assistant Service](https://developers.google.com/assistant/sdk/guides/service/python) instead.

  <br />

- USB microphone (see [recommended](https://www.adafruit.com/product/3367))

- Speaker, preferably USB (see recommended [USB](https://www.adafruit.com/products/3369)
  or [3.5mm-jack](https://www.sparkfun.com/products/14023))

- An SD card with [NOOBS](https://www.raspberrypi.org/downloads/noobs/)
  pre-installed. NOOBS is an OS installer that contains Raspbian by default
  and simplifies OS setup.

  > [!NOTE]
  > **Note:** You can also [download Raspbian](https://www.raspberrypi.org/downloads/raspbian/) and [write](https://www.raspberrypi.org/documentation/installation/installing-images/linux.md) it to the SD card yourself.

- You may also want to have a USB keyboard, USB mouse, and a monitor with an
  HDMI cable. These simplify initial hardware setup (and are required to
  install NOOBS).

You'll now set up the hardware and configure network access.

## Connect the hardware and configure network access

1. Connect the microphone and speaker to the Raspberry Pi.
2. Insert the SD card into the Raspberry Pi (with NOOBS or Raspbian with Desktop already loaded).
3. Connect a USB keyboard, USB mouse and HDMI monitor to your Raspberry Pi. If you don't have these, you can always [connect to the Pi remotely](https://developers.google.com/assistant/sdk/guides/library/python/embed/setup-headless).
4. Plug in an ethernet cable or [connect to a Wi-Fi
   network](https://www.raspberrypi.org/documentation/configuration/wireless/desktop.md).

After you configure access, you can connect to the Raspberry Pi via [SSH](https://developers.google.com/assistant/sdk/guides/library/python/embed/setup#ssh)
(optional).

## Configure the date and time

Check that the date and time are set correctly on the device.

```
date
```

> [!NOTE]
> **Note:** An incorrect date or time may cause SSL errors. Restart the device to automatically set the correct date and time from a time server or use the `date --s=<STRING>` command to set them manually.

## Connect to the Raspberry Pi via SSH (Optional)

To run commands on the Raspberry Pi, you need to open the [terminal](https://www.raspberrypi.org/documentation/usage/terminal/)
on the device or use an SSH connection. You must use an SSH connection from your
development machine if you do not have a monitor, keyboard, and mouse connected
to the Raspberry Pi.

Make sure [SSH is enabled](https://www.raspberrypi.org/documentation/remote-access/ssh/README.md)
on the Raspberry Pi.

```
ssh pi@raspberry-pi-ip-address
```

```
password: password-for-raspberry-pi
```

For example:

```
$ ssh pi@192.168.1.101
password: raspberry
```

On Raspbian, the default password for the `pi` user is `raspberry`. You should
change this password immediately (run `passwd` in a terminal on the Pi).

Use the terminal or the SSH session you set up in this step to enter the
commands in the rest of this guide. The working directory for both is
`/home/pi`.

## Next step

[Configure and Test the Audio](https://developers.google.com/assistant/sdk/guides/library/python/embed/audio)