

支援終止通知：2026 年 10 月 7 日 AWS 將停止 的支援 AWS IoT Greengrass Version 1。2026 年 10 月 7 日之後，您將無法再存取 AWS IoT Greengrass V1 資源。如需詳細資訊，請造訪[從 遷移 AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定 Raspberry Pi
<a name="setup-filter.rpi"></a>

遵循本主題中的步驟，設定 Raspberry Pi 以用作 AWS IoT Greengrass 核心。

**提示**  
<a name="ggc-install-options"></a>AWS IoT Greengrass 也提供安裝 AWS IoT Greengrass 核心軟體的其他選項。例如，您可以使用 [Greengrass 裝置設定](quick-start.md)來設定您的環境，並安裝最新版本的 AWS IoT Greengrass Core 軟體。或者，在支援的 Debian 平台上，您可以使用 [APT 套件管理員](install-ggc.md#ggc-package-manager)來安裝或升級 AWS IoT Greengrass 核心軟體。如需詳細資訊，請參閱[安裝 AWS IoT Greengrass 核心軟體](install-ggc.md)。

如果您是第一次設定 Raspberry Pi，請您必須遵循這些步驟。否則，您可以跳到[步驟 9](#add-ggc-user-ggc-group)。但是，我們建議您在步驟 2 使用作業系統重新映像您的 Raspberry Pi。

 

1. 下載並安裝 SD 卡格式器，例如 [SD 記憶卡格式器](https://www.sdcard.org/downloads/formatter/)。請將 SD 卡片插入電腦。啟動程式，選擇您插入 SD 卡片的磁碟。您可以執行 SD 卡片的快速格式化。

1. 下載 [Raspbian Buster](https://downloads.raspberrypi.org/raspbian/images/raspbian-2020-02-14/) 作業系統做為 `zip` 檔案。

1. 使用 SD 卡撰寫工具 (如 [Etcher](https://etcher.io/))，請按照此工具指示快閃將下載的 `zip` 檔案傳到 SD 卡中。由於作業系統映像較大，此步驟需要時間才能完成。退出您的 SD 卡，將 microSD 卡插入 Raspberry Pi。

1. 第一次啟動時，建議您將 Raspberry Pi 連接到監視器 (透過 HDMI)、鍵盤和滑鼠。接下來，將 Pi 連接到微型 USB 電源，而 Raspbian 作業系統應該會啟動。

1. 建議您先設定 Pi 的鍵盤配置再繼續。若要執行此作業，請選擇右上角的 Raspberry 圖示，選擇 **Preferences (喜好設定)** 然後選擇 **Mouse and Keyboard Settings (滑鼠與鍵盤設定)**。接著，在 **Keyboard (鍵盤)** 標籤上，選擇 **Keyboard Layout (鍵盤配置)**，然後選擇適當的鍵盤變化。

1. 接著，[使用 Wi-Fi 網路將 Raspberry Pi 連接到網際網路](https://www.raspberrypi.org/documentation/configuration/wireless/desktop.md)，或使用乙太網路纜線。
**注意**  
將您的 Raspberry Pi 連線到與您電腦連線*相同*的網路，並確認您的電腦和 Raspberry Pi 都具備網際網路存取再繼續。如果您位於工作環境內或防火牆內，您可能需要將 Pi 和您的電腦連線到訪客網路，才能讓兩者享有同樣的網際網路。但是這種方法可能會中斷您電腦與本機網路資源 (例如您的內部網路) 的連線。其中一個解決方案是將 Pi 連線到訪客 Wi-Fi 網路，並將您的電腦連線到訪客 Wi-Fi 網路*和*使用乙太網路纜線將其連線到您的本機網路。在此組態中，您的電腦應該能夠透過訪客 Wi-Fi 網路連線到 Raspberry Pi，並透過乙太網路纜線連線到本機網路資源。

1. 您必須在您的 Pi 上設定 [SSH](https://en.wikipedia.org/wiki/Secure_Shell) 遠端連接。在您的 Raspberry Pi 上開啟[終端機視窗](https://www.raspberrypi.org/documentation/usage/terminal/)並執行以下命令：

   ```
   sudo raspi-config
   ```

   請查看下列事項：  
![\[Raspberry Pi 軟體組態工具 (raspi-config) 螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/greengrass/v1/developerguide/images/gg-get-started-001.png)

   向下捲動並選擇 **Interfacing Options (連接選項)**，然後選擇 **P2 SSH**。出現提示時，請選擇 **Yes (是)**。(使用 Tab 鍵加上 Enter)。SSH 現在應已啟用。選擇**確定**。使用 Tab 鍵並選擇 **Finish (完成)**，然後按 Enter。如果 Raspberry Pi 不會自動重新啟動，請執行下列命令：

   ```
   sudo reboot
   ```

1. 在您的 Raspberry Pi 上，從終端機執行以下命令：

   ```
   hostname -I
   ```

   這會傳回您的 Raspberry Pi 的 IP 地址。
**注意**  
針對以下內容，若您收到 ECDSA 金鑰指紋訊息 (`Are you sure you want to continue connecting (yes/no)?`)，請輸入 `yes`。Raspberry Pi 的預設密碼為 **raspberry**。

   如果您使用的是 macOS，請開啟終端機視窗並輸入以下資訊：

   ```
   ssh pi@IP-address
   ```

   *IP-address* 是您透過使用 `hostname -I` 命令取得的 Raspberry Pi IP 地址。

   如果您使用 Windows，您需要安裝和設定 [PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)。展開 **Connection (連線)**，選擇 **Data (資料)**，並確認已選取 **Prompt (提示)**：  
![\[選擇提示的 PuTTY 視窗。\]](http://docs.aws.amazon.com/zh_tw/greengrass/v1/developerguide/images/gg-get-started-001.4.png)

   接著，選擇 **Session (工作階段)**，輸入 Raspberry Pi 的 IP 地址，然後選擇 **Open (開啟)**。  
![\[在「主機名稱 (或 IP 地址)」欄位中含有 IP 地址的 PuTTY 視窗。\]](http://docs.aws.amazon.com/zh_tw/greengrass/v1/developerguide/images/gg-get-started-001.5.png)

   若顯示 PuTTY 安全提醒，請選擇 **Yes (是)**。

   Raspberry Pi 的預設登入和預設密碼為 **pi** 與 **raspberry**。  
![\[初始 PuTTY 終端機視窗。\]](http://docs.aws.amazon.com/zh_tw/greengrass/v1/developerguide/images/gg-get-started-001.6.png)
**注意**  
如果您的電腦使用 VPN 連線到遠端網路，您可能會在使用 SSH 從電腦連線到 Raspberry Pi 時遭遇困難。

1. <a name="add-ggc-user-ggc-group"></a>您現在可以為 設定 Raspberry Pi AWS IoT Greengrass。首先，從本機 Raspberry Pi 終端機視窗執行以下命令，或從 SSH 終端機視窗：
**提示**  
<a name="ggc-install-options"></a>AWS IoT Greengrass 也提供安裝 AWS IoT Greengrass 核心軟體的其他選項。例如，您可以使用 [Greengrass 裝置設定](quick-start.md)來設定您的環境，並安裝最新版本的 AWS IoT Greengrass Core 軟體。或者，在支援的 Debian 平台上，您可以使用 [APT 套件管理員](install-ggc.md#ggc-package-manager)來安裝或升級 AWS IoT Greengrass 核心軟體。如需詳細資訊，請參閱[安裝 AWS IoT Greengrass 核心軟體](install-ggc.md)。

   ```
   sudo adduser --system ggc_user
   sudo addgroup --system ggc_group
   ```

1. 為了改善 Pi 裝置的安全性，請在啟動時在作業系統上啟用 hardlink 和 softlink (symlink) 保護。

   1. 導覽至 `98-rpi.conf` 檔案。

      ```
      cd /etc/sysctl.d
      ls
      ```
**注意**  
如果您未看見 `98-rpi.conf` 檔案，請依照 `README.sysctl` 檔案中的指示進行。

   1. 使用文字編輯器 (例如 Leafpad、GNU nano 或 vi) 將以下兩行新增到檔案結尾。您可能需要使用 `sudo` 命令以根編輯 (例如，`sudo nano 98-rpi.conf`)。

      ```
      fs.protected_hardlinks = 1
      fs.protected_symlinks = 1
      ```

   1. 重新啟動 Pi。

      ```
      sudo reboot
      ```

      約一分鐘後，使用 SSH 連線至 Pi，然後執行以下命令來確認變更：

      ```
      sudo sysctl -a 2> /dev/null | grep fs.protected
      ```

      您應該會看到 `fs.protected_hardlinks = 1` 和 `fs.protected_symlinks = 1`。

1. <a name="stretch-step"></a> 編輯您的命令列開機檔案來啟用及掛載記憶體 cgroups。這可讓 AWS IoT Greengrass 設定 Lambda 函數的記憶體限制。在 AWS IoT Greengrass 預設[容器化](lambda-group-config.md#lambda-containerization-considerations)模式中執行 時，也需要 Cgroup。

   1.  導覽至您的 `boot` 目錄。

      ```
      cd /boot/
      ```

   1.  使用文字編輯器開啟 `cmdline.txt`。將下列內容附加到現有的一行，不要另起新的一行。您可能需要使用 `sudo` 命令以根編輯 (例如，`sudo nano cmdline.txt`)。

      ```
      cgroup_enable=memory cgroup_memory=1
      ```

   1. 現在重新啟動 Pi。

      ```
      sudo reboot
      ```

   您的 Pi Raspberry 現在應已為 AWS IoT Greengrass做好準備。

1. <a name="install-java-8-runtime"></a>選用。安裝[串流管理員](stream-manager.md)需要的 Java 8 執行時間。本教學課程不會使用串流管理員，但是會使用預設啟用串流管理員的 **Default Group creation (預設群組建立)** 工作流程。部署群組之前，先使用下列命令在核心裝置上安裝 Java 8 執行時間，或停用串流管理員。單元 3 中提供了停用串流管理員的指示。

   ```
   sudo apt install openjdk-8-jdk
   ```

1. 為了確保您擁有所有必要的相依性，請從 GitHub 上的[AWS IoT Greengrass 範例](https://github.com/aws-samples/aws-greengrass-samples)儲存庫下載並執行 Greengrass 相依性檢查程式。這些命令會解壓縮並在 `Downloads`目錄中執行相依性檢查程式指令碼。
**注意**  
 如果您執行的是 Raspbian 核心的 第 5.4.51 版，相依性檢查程式可能會失敗。此版本未正確掛載記憶體 cgroup。這可能會導致在容器模式下執行的 Lambda 函數失敗。  
如需更新核心的詳細資訊，請參閱 Raspberry Pi 論壇中[核心升級後未載入的 Cgroups](https://www.raspberrypi.org/forums/viewtopic.php?t=280656)。

   ```
   cd /home/pi/Downloads
   mkdir greengrass-dependency-checker-GGCv1.11.x
   cd greengrass-dependency-checker-GGCv1.11.x
   wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.11.x.zip
   unzip greengrass-dependency-checker-GGCv1.11.x.zip
   cd greengrass-dependency-checker-GGCv1.11.x
   sudo modprobe configs
   sudo ./check_ggc_dependencies | more
   ```

   在 `more` 出現的位置，按 Spacebar 鍵來顯示另一個文字畫面。
**重要**  
<a name="lambda-runtime-prereqs"></a>本教學課程需要 Python 3.7 執行時間來執行本機 Lambda 函數。啟用串流管理員時，串流管理員需要 Java 8 執行時間。如果 `check_ggc_dependencies` 指令碼產生了與這些遺漏執行時間事前準備有關的警告，請確認在您繼續前已安裝了這些項目。您可以忽略與其他遺漏選用執行時間事前準備有關的警告。

   如需 **modprobe** 命令的資訊，請在終端機中執行 **man modprobe**。

您的 Raspberry Pi 組態已完成。繼續進行[單元 2：安裝 AWS IoT Greengrass 核心軟體](module2.md)。