

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在设备上安装并验证所需的软件
<a name="iot-dc-prepare-device-sw"></a>

本节中的步骤从[上一节](iot-dc-prepare-device-sys.md)继续，以更新您的 Raspberry Pi 的操作系统，并将软件安装在 Raspberry Pi 上，下一节将使用该软件来构建和安装 Amazon IoT 设备客户端。

完成本节后，您的 Raspberry Pi 将拥有 up-to-date操作系统、本学习路径中教程所需的软件，并将根据您的位置进行配置。

**所需的设备：**
+ [上一节](iot-dc-prepare-device-sys.md)中您的本地开发和测试环境
+ [上一节](iot-dc-prepare-device-sys.md)中您使用 的Raspberry Pi
+ [上一节](iot-dc-prepare-device-sys.md)中的 microSD 存储卡

**注意**  
Raspberry Pi Model 3\$1 和 Raspberry Pi Model 4 可以执行此学习路径中描述的所有命令。如果您的物联网设备无法编译软件或无法运行 Amazon Command Line Interface，则可能需要在本地主机上安装所需的编译器来构建软件，然后将其传输到您的物联网设备。有关如何为设备安装和构建软件的更多信息，请参阅设备软件的文档。

**Topics**
+ [更新操作系统软件](#iot-dc-prepare-device-sw-step1)
+ [安装所需的应用程序和库](#iot-dc-prepare-device-sw-step2)
+ [（可选）保存 microSD 卡映像](#iot-dc-prepare-device-sw-step3)

## 更新操作系统软件
<a name="iot-dc-prepare-device-sw-step1"></a>

这一步骤会更新操作系统软件。

**要更新 Raspberry Pi 上的操作系统软件**

在本地主机的终端窗口中执行这些步骤。

1. 输入以下命令在您的 Raspberry Pi 上更新系统软件。

   ```
   sudo apt-get -y update
   sudo apt-get -y upgrade
   sudo apt-get -y autoremove
   ```

1. 更新 Raspberry Pi 的区域设置和时区设置（可选）。

   输入此命令可以更新设备的区域设置和时区设置。

   ```
   sudo raspi-config
   ```

   1. 要设置设备的区域：

      1. 在 **Raspberry Pi Software Configuration Tool（raspi-config）**（Raspberry Pi 软件配置工具（raspi-config））屏幕上，选择选项 **5**。

         **`5 Localisation Options Configure language and regional settings`**

         使用 Tab键移动到 **<Select>**，然后按 space bar。

      1. 在本地化选项菜单中，选择选项**L1**。

         **`L1 Locale Configure language and regional settings`**

         使用 Tab键移动到 **<Select>**，然后按 space bar。

      1. 在区域设置选项列表中，使用箭头键滚动并选择要在 Raspberry Pi 上安装的语言环境 space bar来标记您想要的选项。

         在美国，**`en_US.UTF-8`** 是一个很好的选择。

      1. 为设备选择语言环境后，请使用 Tab 键来选择**<OK>**，然后按 space bar 显示**配置区域设置**的确认页面。

   1. 要设置设备的时区：

      1. 在 **aspi-config** 屏幕，选择选项 **5**。

         **`5 Localisation Options Configure language and regional settings`**

         使用 Tab键移动到 **<Select>**，然后按 space bar。

      1. 在本地化选项菜单中，使用箭头键选择选项 **L2**：

         **`L2 time zone Configure time zone`**

         使用 Tab键移动到 **<Select>**，然后按 space bar。

      1. 在**配置 tzdata**菜单中，从列表中选择您的地理区域。

         使用 Tab 键移动到 **<OK>**，然后按 space bar。

      1. 在城市列表中，使用箭头键选择时区内的城市。

         使要设置时区，用 Tab 键移动到 **<OK>**，然后按 space bar。

   1. 更新完设置后，用 Tab 键移动到**<Finish>**，然后按 space bar 关闭 **aspi-config**应用程序。

1. 输入此命令可重启您的 Raspberry Pi。

   ```
   sudo shutdown -r 0
   ```

1. 等您的 Raspberry Pi 重启。

1. 重新启动 Raspberry Pi 后，将本地主机上的终端窗口重新连接到 Raspberry Pi。

您的 Raspberry Pi 系统软件现已配置完毕，您已准备好继续 [安装所需的应用程序和库](#iot-dc-prepare-device-sw-step2)。

## 安装所需的应用程序和库
<a name="iot-dc-prepare-device-sw-step2"></a>

此过程将安装后续教程使用的应用程序软件和库。

如果您使用的是 Raspberry Pi，或可以在物联网设备上编译所需的软件，请在本地主机上的终端窗口中执行以下步骤。如果必须在本地主机上为物联网设备编译软件，请查看物联网设备的软件文档，了解有关如何在设备上执行这些步骤的信息。

**在 Raspberry Pi 上安装应用程序软件和库**

1. 输入此命令安装应用程序软件和库。

   ```
   sudo apt-get -y install build-essential libssl-dev cmake unzip git python3-pip
   ```

1. 输入这些命令来确认安装了正确版本的软件。

   ```
   gcc --version
   cmake --version
   openssl version
   git --version
   ```

1. 

   确认已安装以下版本的应用程序软件：
   + `gcc`：9.3.0 或更高版本
   + `cmake`：3.10.x 或更高版本
   + `OpenSSL`：1.1.1 或更高版本
   + `git`：2.20.1 或更高版本

如果您的Raspberry Pi拥有所需应用程序软件的可接受版本，您准备好继续 [（可选）保存 microSD 卡映像](#iot-dc-prepare-device-sw-step3)。

## （可选）保存 microSD 卡映像
<a name="iot-dc-prepare-device-sw-step3"></a>

在本学习路径中的整个教程中，您会遇到这些过程，将 Raspberry Pi 的 microSD 卡映像的副本保存到本地主机上的文件中。尽管鼓励这样做，但不是必需的任务。通过在建议的位置保存 microSD 卡映像，您可以跳过此学习路径中保存点之前的过程，如果发现需要重试某些内容，这可以节省时间。不定期保存 microSD 卡映像的后果是，如果 microSD 卡损坏或者不小心配置了应用程序或其设置错误，可能必须从头开始重新启动学习路径中的教程。

此时，Raspberry Pi 的 microSD 卡具有更新的操作系统和基本的应用程序软件加载。现在，您可以通过将 microSD 卡的内容保存到文件中来节省完成上述步骤所花的时间。采用拥有设备 microSD 卡映像的当前映像，您可以从这一点开始继续或重试教程或程序，无需从头开始安装和更新软件。

**要将 microSD 卡映像保存到文件中**

1. 输入此命令关闭 Raspberry Pi。

   ```
   sudo shutdown -h 0
   ```

1. Raspberry Pi 完全关闭后，请移除电源。

1. 从 Raspberry Pi 中取出 microSD 卡。

1. 在本地主机上：

   1. 插入 microSD 卡。

   1. 使用 SD 卡成像工具，将 microSD 卡映像保存到文件中。

   1. 保存 microSD 卡映像后，从本地主机上弹出该卡。

1. 从 Raspberry Pi 断开电源后，将 microSD 卡插入 Raspberry Pi。

1. 给 Raspberry Pi 供电。

1. 等待大约一分钟后，在本地主机上重新连接已连接到 Raspberry Pi 的本地主机上的终端窗口，然后登录 Raspberry Pi。