

支援終止通知：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)。

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

# 單元 4：與 AWS IoT Greengrass 群組中的用戶端裝置互動
<a name="module4"></a>

本單元會示範稱為*用戶端裝置*或*裝置的*本機 IoT 裝置如何連線至 AWS IoT Greengrass 核心裝置並與之通訊。連接到 AWS IoT Greengrass 核心的用戶端裝置是 AWS IoT Greengrass 群組的一部分，可以參與 AWS IoT Greengrass 程式設計範例。在此模組中，一個用戶端裝置會將 Hello World 訊息傳送至 Greengrass 群組中的另一個用戶端裝置。

![\[AWS IoT 連接至 AWS IoT Greengrass 核心，該核心連接至用戶端裝置 #1 和用戶端裝置 #2。\]](http://docs.aws.amazon.com/zh_tw/greengrass/v1/developerguide/images/gg-get-started-065.5.png)


在您開始之前，請執行 [Greengrass 裝置安裝](quick-start.md)指令碼，或完成[單元 1](module1.md) 及[單元 2](module2.md)。此模組會建立兩個模擬用戶端裝置。您不需要其他的元件或裝置。

本單元應可在 30 分鐘內完成。

**Topics**
+ [在 AWS IoT Greengrass 群組中建立用戶端裝置](device-group.md)
+ [設定訂閱](config-subs.md)
+ [安裝 AWS IoT Device SDK for Python](IoT-SDK.md)
+ [測試通訊](test-comms.md)

# 在 AWS IoT Greengrass 群組中建立用戶端裝置
<a name="device-group"></a>

在此步驟中，您會將兩個用戶端裝置新增至 Greengrass 群組。此程序包括將裝置註冊為 AWS IoT 實物，以及設定憑證和金鑰以允許裝置連線 AWS IoT Greengrass。

1. <a name="console-gg-groups"></a>在 AWS IoT 主控台導覽窗格的**管理**下，展開 **Greengrass 裝置**，然後選擇**群組 (V1)**。

1. <a name="group-choose-target-group"></a>選擇目標群組。

1. <a name="gg-group-add-device"></a>在群組組態頁面上，選擇**用戶端裝置**，然後選擇**關聯**。

1. <a name="gg-group-create-device"></a>在**將用戶端裝置與此群組模態建立關聯**中，選擇**建立新 AWS IoT 物件**。

   **建立物件**頁面會在新標籤中開啟。

1. <a name="gg-group-create-single-thing"></a>在**建立物件**頁面上，選擇**建立單一物件**，然後選擇**下一步**。

1. 在**指定物件屬性**頁面上，將此用戶端裝置註冊為 **HelloWorld\$1Publisher**，然後選擇**下一步**。

1. <a name="gg-group-create-device-configure-certificate"></a>在**設定裝置憑證**頁面上，選擇**下一步**。

1. <a name="gg-group-create-device-attach-policy"></a>在**將政策連接至憑證**頁面上，執行下列其中一項操作：
   + 選取授予用戶端裝置所需許可的現有政策，然後選擇**建立物件**。

     模態開啟，您可以在其中下載裝置用來連線至 和 核心的憑證 AWS 雲端 和金鑰。
   + 建立並連接授予用戶端裝置許可的新政策。請執行下列操作：

     1. 選擇**建立政策**。

        **Create policy (建立政策)** 頁面隨即在新標籤中開啟。

     1. 在 **Create policy (建立政策)** 頁面上，執行下列動作：

        1. 針對**政策名稱**，輸入描述政策的名稱，例如 **GreengrassV1ClientDevicePolicy**。

        1. 在**政策陳述**式索引標籤**的政策文件**下，選擇 **JSON**。

        1. 輸入下列政策文件。此政策可讓用戶端裝置探索 Greengrass 核心，並在所有 MQTT 主題上進行通訊。如需如何限制此政策存取的資訊，請參閱 [的裝置身分驗證和授權 AWS IoT Greengrass](device-auth.md)。

------
#### [ JSON ]

****  

           ```
           {
             "Version":"2012-10-17",		 	 	 
             "Statement": [
               {
                 "Effect": "Allow",
                 "Action": [
                   "iot:Publish",
                   "iot:Subscribe",
                   "iot:Connect",
                   "iot:Receive"
                 ],
                 "Resource": [
                   "*"
                 ]
               },
               {
                 "Effect": "Allow",
                 "Action": [
                   "greengrass:*"
                 ],
                 "Resource": [
                   "*"
                 ]
               }
             ]
           }
           ```

------

        1. 選擇 **Create (建立)** 以建立政策。

     1. 返回瀏覽器索引標籤，開啟**附加政策至憑證**頁面。請執行下列操作：

        1. 在**政策**清單中，選取您建立的政策，例如 **GreengrassV1ClientDevicePolicy**。

           如果您沒有看到政策，請選擇重新整理按鈕。

        1. 選擇 **Create thing** (建立物件)。

           模態開啟，您可以在其中下載裝置用來連線至 和 核心的憑證 AWS 雲端 和金鑰。

1. <a name="gg-group-create-device-download-certs"></a>在**下載憑證和金鑰**模態中，下載裝置的憑證。
**重要**  
選擇**完成**之前，請下載安全資源。

   請執行下列操作：

   1. 針對**裝置憑證**，選擇**下載**以下載裝置憑證。

   1. 針對**公有金鑰檔案**，選擇**下載**以下載憑證的公有金鑰。

   1. 針對**私有金鑰檔案**，選擇**下載**以下載憑證的私有金鑰檔案。

   1. 檢閱《 *AWS IoT 開發人員指南*》中的[伺服器身分驗證](https://docs.aws.amazon.com/iot/latest/developerguide/server-authentication.html)，然後選擇適當的根 CA 憑證。我們建議您使用 Amazon Trust Services (ATS) 端點和 ATS 根 CA 憑證。在**根 CA 憑證**下，選擇根 CA 憑證的**下載**。

   1. 選擇**完成**。

   請記下裝置憑證和金鑰檔案名稱中常見的憑證 ID。供稍後使用。

1. 返回瀏覽器索引標籤，並將**用戶端裝置與此群組模式開啟的關聯**。請執行下列操作：

   1. 針對**AWS IoT 物件名稱**，選擇您建立的**HelloWorld\$1Publisher**物件。

      如果您沒有看到物件，請選擇重新整理按鈕。

   1. 選擇**關聯**。

1. 重複步驟 3 - 10，將第二個用戶端裝置新增至群組。

   將此用戶端裝置命名為 **HelloWorld\$1Subscriber**。將此用戶端裝置的憑證和金鑰下載到您的電腦。同樣地，請記下 HelloWorld\$1Subscriber 裝置檔案名稱中常見的憑證 ID。

   您現在應該在 Greengrass 群組中有兩個用戶端裝置：
   + HelloWorld\$1Publisher
   + HelloWorld\$1Subscriber

1. 在電腦上為這些用戶端裝置的安全登入資料建立資料夾。將憑證和金鑰複製到此資料夾。

# 設定訂閱
<a name="config-subs"></a>

在此步驟中，您會啟用 HelloWorld\$1Publisher 用戶端裝置，將 MQTT 訊息傳送至 HelloWorld\$1Subscriber 用戶端裝置。

1. 在群組組態頁面上，選擇**訂閱**索引標籤，然後選擇**新增**。

1. 在**建立訂閱**頁面上，執行下列動作來設定訂閱：

   1. 針對**來源類型**，選擇**用戶端裝置**，然後選擇 **HelloWorld\$1Publisher**。

   1. 在**目標類型**下，選擇**用戶端裝置**，然後選擇 **HelloWorld\$1Subscriber**。

   1. 針對 **Topic filter (主題篩選條件)**，輸入 **hello/world/pubsub**。
**注意**  
您可以將訂閱從先前模組中刪除。在群組的**訂閱**頁面上，選取要刪除的訂閱，然後選擇**刪除**。

   1. 選擇 **Create subscription** (建立訂閱)。

1. <a name="enable-automatic-detection"></a>確定已啟用自動偵測，這樣 Greengrass 核心就能發佈其 IP 地址清單。用戶端裝置會使用此資訊來探索核心。請執行下列操作：

   1. 在群組組態頁面上，選擇 **Lambda 函數**索引標籤。

   1. 在 **System Lambda 函數**下，選擇 **IP 偵測器**，然後選擇**編輯**。

   1. 在**編輯 IP 偵測器設定**中，選擇**自動偵測和覆寫 MQTT 代理程式端點**，然後選擇**儲存**。

1. 請確定 Greengrass 協助程式正在執行，如 中所述[部署雲端組態到核心裝置](configs-core.md)。

1. <a name="console-actions-deploy"></a>在群組組態頁面上，選擇**部署**。

部署狀態會顯示在頁面標頭的群組名稱底下。若要查看部署詳細資訊，請選擇**部署**索引標籤。

# 安裝 AWS IoT Device SDK for Python
<a name="IoT-SDK"></a>

用戶端裝置可以使用 AWS IoT Device SDK 適用於 Python 的 與 AWS IoT 和 AWS IoT Greengrass 核心裝置通訊 （使用 Python 程式設計語言）。如需詳細資訊，包括需求，請參閱 GitHub 上的 AWS IoT Device SDK 適用於 Python [ Readme](https://github.com/aws/aws-iot-device-sdk-python) 的 。

在此步驟中，您會安裝 SDK，並取得模擬用戶端裝置在電腦上使用`basicDiscovery.py`的範例函數。

1. 若要將軟體開發套件與所有需要的元件安裝到您的電腦，請選擇您的作業系統：

------
#### [ Windows ]

   1. 請開啟[提高命令提示](https://technet.microsoft.com/en-us/library/cc947813(v=ws.10).aspx)，並執行下列命令：

      ```
      python --version
      ```

      若沒有傳回任何版本資訊，或是版本號碼小於 2.7 (Python 2) 或小於 3.3 (Python 3)，請遵循 [Downloading Python](https://wiki.python.org/moin/BeginnersGuide/Download) 中的說明來安裝 Python 2.7\$1 或 Python 3.3\$1。如需詳細資訊，請參閱 [Using Python on Windows](https://docs.python.org/3.6/using/windows.html)。

   1. 將 [AWS IoT Device SDK for Python](https://github.com/aws/aws-iot-device-sdk-python) 下載為 `zip` 檔案，並將其解壓縮到電腦上的適當位置。

      記下已解壓縮之 `aws-iot-device-sdk-python-master` 資料夾的檔案路徑，該資料夾包含 `setup.py` 檔案。在下一個步驟中，這檔案路徑會以 *path-to-SDK-folder* 表示。

   1. 自提高命令提示執行下列命令：

      ```
      cd path-to-SDK-folder
      python setup.py install
      ```

------
#### [ macOS ]

   1. 請開啟終端機視窗並執行下列命令：

      ```
      python --version
      ```

      若沒有傳回任何版本資訊，或是版本號碼小於 2.7 (Python 2) 或小於 3.3 (Python 3)，請遵循 [Downloading Python](https://wiki.python.org/moin/BeginnersGuide/Download) 中的說明來安裝 Python 2.7\$1 或 Python 3.3\$1。如需詳細資訊，請參閱 [Using Python on a Macintosh](https://docs.python.org/3/using/mac.html)。

   1. 在終端機視窗中執行下列命令以判斷 OpenSSL 版本：

      ```
      python
      >>>import ssl
      >>>print ssl.OPENSSL_VERSION
      ```

      記下 OpenSSL 的版本值。
**注意**  
若您執行的是 Python 3，請使用 **print(ssl.OPENSSL\$1VERSION)**。

      若要關閉 Python shell，請執行下列命令：

      ```
      >>>exit()
      ```

      如果 OpenSSL 版本為 1.0.1 或更新，請跳到[步驟 c](#step-c-install-python-sdk)。否則，請遵循這些步驟：

      1. 請從終端機視窗中執行下列命令來判斷電腦是否使用 Simple Python 版本管理：

        ```
        which pyenv
        ```

      如果傳回檔案路徑，請選擇**使用 `pyenv`** 標籤。如果未傳回，請選擇**不使用 `pyenv`** 標籤。

------
#### [ Using pyenv ]

      1. 請參閱 [Python Releases for Mac OS X](https://www.python.org/downloads/mac-osx/) (或類似) 以判斷最新又穩定的 Python 版本。在以下範例中，此數值會以 *latest-Python-version* 表示。

      1. 從終端機視窗中執行下列命令：

         ```
         pyenv install latest-Python-version
         pyenv global latest-Python-version
         ```

         例如，若 Python 2 的最新版本是 2.7.14，則這些命令為：

         ```
         pyenv install 2.7.14
         pyenv global 2.7.14
         ```

      1. 關閉然後重新開啟終端機視窗，執行以下命令：

         ```
         python
         >>>import ssl
         >>>print ssl.OPENSSL_VERSION
         ```

         OpenSSL 版本至少應為 1.0.1。若版本小於 1.0.1，則更新會失敗。檢查 **pyenv install** 和 **pyenv global** 命令中所使用的 Python 版本值，然後再試一次。

      1. 執行下列命令退出 Python shell：

         ```
          exit()
         ```

------
#### [ Not using pyenv ]

      1. 從終端機視窗執行下列命令來判斷 [brew](https://brew.sh/) 是否已安裝：

         ```
         which brew
         ```

         如果沒有傳回檔案的路徑，請安裝如下所示的 `brew`：

         ```
         /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
         ```
**注意**  
遵循安裝提示。下載 Xcode 命令列工具可能需要一些時間。

      1. 執行下列命令：

         ```
         brew update
         brew install openssl
         brew install python@2
         ```

          AWS IoT Device SDK 適用於 Python 的 需要使用 Python 可執行檔編譯的 OpenSSL 1.0.1 版 （或更新版本）。**brew install python** 命令會安裝 `python2` 可執行檔，以符合此需求。`python2` 可執行檔安裝於 `/usr/local/bin` 目錄中，應屬於 `PATH` 環境變數的一部分。若要確認，請執行下列命令：

         ```
         python2 --version
         ```

         如果已提供 `python2` 版本資訊，請跳到下一個步驟。若否，請新增 `/usr/local/bin` 路徑至您的 `PATH` 環境變數，此需為永久持續，透過將下行附加至您的 shell 描述檔：

         ```
         export PATH="/usr/local/bin:$PATH"
         ```

         例如，如果您使用的是 `.bash_profile` 或沒有 shell 設定檔從終端視窗，請執行下列命令：

         ```
         echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
         ```

         接著，[來源](https://en.wikipedia.org/wiki/Source_(command))您的 shell 描述檔，並確認 `python2 --version` 提供版本資訊。例如，如果您是使用 `.bash_profile`，請執行下列命令：

         ```
         source ~/.bash_profile
         python2 --version
         ```

         應傳回 `python2` 版本資訊。

      1. 附加下行至您的 shell 描述檔中：

         ```
         alias python="python2"
         ```

         例如，如果您是使用 `.bash_profile` 或尚未有 shell 描述檔，則請執行下列命令：

         ```
         echo 'alias python="python2"' >> ~/.bash_profile
         ```

      1. 接著，[來源](https://en.wikipedia.org/wiki/Source_(command))您的 shell 描述檔。例如，如果您是使用 `.bash_profile`，請執行下列命令：

         ```
         source ~/.bash_profile
         ```

         呼叫 **python** 命令會執行 Python 可執行檔，其中包含所需的 OpenSSL 版本 (`python2`)。

      1. 執行下列命令：

         ```
         python
          import ssl
          print ssl.OPENSSL_VERSION
         ```

         OpenSSL 版本至少應為 1.0.1 或更新版。

      1. 若要退出 Python shell，請執行下列命令：

         ```
          exit()
         ```

------

   1. <a name="step-c-install-python-sdk"></a>執行下列命令來安裝 AWS IoT Device SDK for Python：

      ```
      cd ~
      git clone https://github.com/aws/aws-iot-device-sdk-python.git
      cd aws-iot-device-sdk-python
      sudo python setup.py install
      ```

------
#### [ UNIX-like system ]

   1. 從終端機視窗中，執行下列命令：

      ```
      python --version
      ```

      若沒有傳回任何版本資訊，或是版本號碼小於 2.7 (Python 2) 或小於 3.3 (Python 3)，請遵循 [Downloading Python](https://wiki.python.org/moin/BeginnersGuide/Download) 中的說明來安裝 Python 2.7\$1 或 Python 3.3\$1。如需詳細資訊，請參閱 [Using Python on Unix platforms](https://docs.python.org/3.6/using/unix.html)。

   1. 在終端機中執行下列命令以判斷 OpenSSL 版本：

      ```
      python
      >>>import ssl
      >>>print ssl.OPENSSL_VERSION
      ```

      記下 OpenSSL 的版本值。
**注意**  
若您執行的是 Python 3，請使用 **print(ssl.OPENSSL\$1VERSION)**。

      若要關閉 Python shell，請執行下列命令：

      ```
       exit()
      ```

      如果 OpenSSL 版本為 1.0.1 或更新，請跳到下一個步驟。否則，請執行命令來更新您發行版本的 OpenSSL (例如 `sudo yum update openssl`、`sudo apt-get update` 等)。

      透過執行下列命令確認 OpenSSL 版本為 1.0.1 或更新版：

      ```
      python
      >>>import ssl
      >>>print ssl.OPENSSL_VERSION
      >>>exit()
      ```

   1. 執行下列命令來安裝 AWS IoT Device SDK for Python：

      ```
      cd ~
      git clone https://github.com/aws/aws-iot-device-sdk-python.git
      cd aws-iot-device-sdk-python
      sudo python setup.py install
      ```

------

1. 安裝 AWS IoT Device SDK 適用於 Python 的 之後，導覽至 `samples` 資料夾並開啟 `greengrass` 資料夾。

   在本教學課程中，您將複製 `basicDiscovery.py` 範例函數，該函數會使用您在 [在 AWS IoT Greengrass 群組中建立用戶端裝置](device-group.md) 中下載的憑證和金鑰。

1. `basicDiscovery.py` 複製到包含 HelloWorld\$1Publisher 和 HelloWorld\$1Subscriber 裝置憑證和金鑰的資料夾。

# 測試通訊
<a name="test-comms"></a>

1. <a name="ping-device"></a>請確定您的電腦和 AWS IoT Greengrass 核心裝置已使用相同的網路連線至網際網路。

   1. 在 AWS IoT Greengrass 核心裝置上，執行下列命令來尋找其 IP 地址。

      ```
      hostname -I
      ```

   1. 在您的電腦，使用核心的 IP 地址執行以下命令。您可以使用 Ctrl \$1 C 來停止 **ping** 命令。

      ```
      ping IP-address
      ```

      類似以下的輸出表示電腦與 AWS IoT Greengrass 核心裝置之間的通訊成功 （封包遺失 0%)：  
![\[ping 命令成功輸出。\]](http://docs.aws.amazon.com/zh_tw/greengrass/v1/developerguide/images/gg-get-started-075.5.png)
**注意**  
如果您無法 ping 執行中的 EC2 執行個體 AWS IoT Greengrass，請確定執行個體的傳入安全群組規則允許 [Echo 請求](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-ping)訊息的 ICMP 流量。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[將規則新增至安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#adding-security-group-rule)。  
在 Windows 主機電腦的 Windows 防火牆和進階安全應用程式中，您也可能需要啟用允許傳入回聲請求的內送規則 (例如，**File and Printer Sharing (Echo Request - ICMPv4-In) (檔案和印表機共用 (回聲請求 - ICMPv4-In)**) 或建立規則。

1. 取得您的 AWS IoT 端點。

   1. <a name="iot-settings"></a>從[AWS IoT 主控台](https://console.aws.amazon.com/iot/)導覽窗格中，選擇**設定**。

   1. <a name="iot-settings-endpoint"></a>在**裝置資料端點**下，記下**端點**的值。您可以使用這個值，在以下步驟的命令中取代 *AWS\$1IOT\$1ENDPOINT* 預留位置。
**注意**  
請確定您的[端點對應至您的憑證類型](gg-core.md#certificate-endpoints)。

1. 在您的電腦 （而非 AWS IoT Greengrass 核心裝置） 上，開啟兩個[命令列 ](https://en.wikipedia.org/wiki/Command-line_interface)（終端或命令提示） 視窗。一個視窗代表 HelloWorld\$1Publisher 用戶端裝置，另一個視窗代表 HelloWorld\$1Subscriber 用戶端裝置。

   執行時， 會`basicDiscovery.py`嘗試收集 AWS IoT Greengrass 核心端點位置的相關資訊。此資訊會在用戶端裝置發現並成功連接到核心後儲存。這讓未來的簡訊和操作可在本機執行 (而不需要網際網路連線)。
**注意**  
用於 MQTT 連線的用戶端 IDs 必須符合用戶端裝置的物件名稱。`basicDiscovery.py` 指令碼會將 MQTT 連線的用戶端 ID 設定為您在執行指令碼時指定的物件名稱。  
從包含 `basicDiscovery.py` 檔案的資料夾執行下列命令，以取得詳細的指令碼使用資訊：  

   ```
   python basicDiscovery.py --help
   ```

1. 從 HelloWorld\$1Publisher 用戶端裝置視窗中，執行下列命令。
   + 將 *path-to-certs-folder* 替換為包含憑證、金鑰和 `basicDiscovery.py` 的資料夾路徑。
   + 將 *AWS\$1IOT\$1ENDPOINT* 取代為您的端點。
   + 將兩個 *publisherCertId* 執行個體取代為 HelloWorld\$1Publisher 用戶端裝置檔案名稱中的憑證 ID。

   ```
   cd path-to-certs-folder
   python basicDiscovery.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert publisherCertId-certificate.pem.crt --key publisherCertId-private.pem.key --thingName HelloWorld_Publisher --topic 'hello/world/pubsub' --mode publish --message 'Hello, World! Sent from HelloWorld_Publisher'
   ```

   您應該會看到類似以下的輸出，其中包含像是 `Published topic 'hello/world/pubsub': {"message": "Hello, World! Sent from HelloWorld_Publisher", "sequence": 1}` 的項目。
**注意**  
如果指令碼傳回 `error: unrecognized arguments` 訊息，會將 `--topic` 和 `--message` 參數的單引號變更為雙引號並再次執行命令。  
若要排除連線問題，您可以嘗試使用[手動 IP 偵測](#corp-network-manual-detection)。  
![\[發佈者輸出的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/greengrass/v1/developerguide/images/gg-get-started-076.png)

1. 從 HelloWorld\$1Subscriber 用戶端裝置視窗中，執行下列命令。
   + 將 *path-to-certs-folder* 替換為包含憑證、金鑰和 `basicDiscovery.py` 的資料夾路徑。
   + 將 *AWS\$1IOT\$1ENDPOINT* 取代為您的端點。
   + 將兩個 *subscriberCertId* 執行個體取代為 HelloWorld\$1Subscriber 用戶端裝置檔案名稱中的憑證 ID。

   ```
   cd path-to-certs-folder
   python basicDiscovery.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert subscriberCertId-certificate.pem.crt --key subscriberCertId-private.pem.key --thingName HelloWorld_Subscriber --topic 'hello/world/pubsub' --mode subscribe
   ```

   您應該會看到類似以下的輸出，其中包含像是 `Received message on topic hello/world/pubsub: {"message": "Hello, World! Sent from HelloWorld_Publisher", "sequence": 1}` 的項目。  
![\[訂閱者輸出的螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/greengrass/v1/developerguide/images/gg-get-started-077.png)

關閉HelloWorld\$1Publisher視窗以停止訊息在HelloWorld\$1Subscriber視窗中累積。

在企業網路上測試可能會影響對核心的連線。若要解決這項問題，您可以手動輸入端點。這可確保`basicDiscovery.py`指令碼連接到 AWS IoT Greengrass 核心裝置的正確 IP 地址。

**手動輸入端點**

1. <a name="console-gg-groups"></a>在 AWS IoT 主控台導覽窗格的**管理**下，展開 **Greengrass 裝置**，然後選擇**群組 (V1)**。

1. 在 **Greengrass 群組**下，選擇您的群組。

1. 設定核心以手動管理 MQTT 代理程式端點。請執行下列操作：

   1. 在群組組態頁面上，選擇 **Lambda 函數**索引標籤。

   1. 在 **System Lambda 函數**下，選擇 **IP 偵測器**，然後選擇**編輯**。

   1. 在**編輯 IP 偵測器設定**中，選擇**手動管理 MQTT 代理程式端點**，然後選擇**儲存**。

1. 輸入核心的 MQTT 代理程式端點。請執行下列操作：

   1. 在**概觀**下，選擇 **Greengrass 核心**。

   1. 在 **MQTT 代理程式端點**下，選擇**管理端點**。

   1. 選擇**新增端點**，並確定您只有一個端點值。此值必須是 AWS IoT Greengrass 核心裝置連接埠 8883 的 IP 地址端點 （例如 `192.168.1.4`)。

   1. 選擇**更新**。