測試通訊 (停用裝置同步) - AWS IoT Greengrass

AWS IoT Greengrass Version 1 於 2023 年 6 月 30 日進入延長使用壽命階段。如需詳細資訊,請參閱AWS IoT Greengrass V1 維護政策。在此日期之後, AWS IoT Greengrass V1 將不會發行提供功能、增強功能、錯誤修正或安全性修補程式的更新。在上運行的設備 AWS IoT Greengrass V1 不會中斷,並將繼續運行並連接到雲。我們強烈建議您移轉至 AWS IoT Greengrass Version 2,這會增加重要的新功能,並支援其他平台

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

測試通訊 (停用裝置同步)

  1. 確保您的計算機和 AWS IoT Greengrass 核心設備使用相同的網絡連接到互聯網。

    1. 在 AWS IoT Greengrass 核心裝置上,執行下列命令以尋找其 IP 位址。

      hostname -I
    2. 在您的電腦,使用核心的 IP 地址執行以下命令。您可以使用 Ctrl + C 來停止 ping 命令。

      ping IP-address

      類似下面的輸出表示計算機和 AWS IoT Greengrass 核心設備之間的通信成功(0% 的數據包丟失):

      ping 命令成功輸出。
      注意

      如果您無法 ping 執行中的 EC2 執行個體 AWS IoT Greengrass,請確定執行個體的輸入安全群組規則允許 Echo 要求訊息的 ICMP 流量。如需詳細資訊,請參Amazon EC2 使用者指南中的將規則新增至安全群組

      在 Windows 主機電腦的 Windows 防火牆和進階安全應用程式中,您也可能需要啟用允許傳入回聲請求的內送規則 (例如,File and Printer Sharing (Echo Request - ICMPv4-In) (檔案和印表機共用 (回聲請求 - ICMPv4-In)) 或建立規則。

  2. 取得您的 AWS IoT 端點。

    1. AWS IoT 主控台瀏覽窗格中,選擇 [設定]。

    2. 在 [裝置資料端點] 下,記下 [端點] 的值。您可以使用這個值,在以下步驟的命令中取代 AWS_IOT_ENDPOINT 預留位置。

      注意
  3. 在您的電腦 (不是 AWS IoT Greengrass 核心裝置) 上,開啟兩個命令列 (終端機或命令提示字元) 視窗。一個視窗代表 GG_switch 用戶端裝置,另一個視窗代表 GG_ TrafficLight 用戶端裝置。

    1. 在 GG_switch 用戶端裝置視窗中,執行下列命令。

      • path-to-certs-folder替換為包含憑證、金鑰和 Python 檔案的資料夾路徑。

      • AWS_IOT_ENDPOINT 取代為您的端點。

      • 將兩個交換器CertId執行個體取代為 GG_switch 用戶端裝置檔案名稱中的憑證 ID。

      cd path-to-certs-folder python lightController.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert switchCertId-certificate.pem.crt --key switchCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_Switch
    2. 在 GG_ TrafficLight 用戶端裝置視窗中,執行下列命令。

      • path-to-certs-folder替換為包含憑證、金鑰和 Python 檔案的資料夾路徑。

      • AWS_IOT_ENDPOINT 取代為您的端點。

      • 以 GG_ TrafficLight 用戶端裝置檔案名稱中的憑證 ID 取代這兩個輕型CertId執行個體。

      cd path-to-certs-folder python trafficLight.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert lightCertId-certificate.pem.crt --key lightCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_TrafficLight

      每 20 秒會切換更新陰影狀態為 G、Y 和 R,光源會顯示其新的狀態,如下所示。

      GG_Switch 輸出:

      輸出的螢幕擷取畫面與 GG_Switch 有關聯。

      GG _ TrafficLight 輸出:

      與 GG_ TrafficLight 關聯的輸出的屏幕截圖。

    首次執行時,每個用戶端裝置指令碼都會執行 AWS IoT Greengrass 探索服務以連線到 AWS IoT Greengrass 核心 (透過網際網路)。在發現用戶端裝置並成功連線至 AWS IoT Greengrass 核心之後,future 的作業可在本機上執行。

    注意

    lightController.pytrafficLight.py 指令碼會將連線資訊存放在 groupCA 資料夾,系統會在與指令碼相同的資料夾建立這個資料夾。如果收到連線錯誤,請確定ggc-host檔案中的 IP 位址與核心的 IP 位址端點相符。

  4. 在 AWS IoT 主控台中,選擇您的 AWS IoT Greengrass 群組,選擇 [用戶端裝置] 索引標籤,然後選擇 GG_ TrafficLight 以開啟用戶端裝置的 AWS IoT 物件詳細資料頁面。

  5. 選擇裝置陰影標籤。GG_switch 變更狀態之後,此陰影不應該有任何更新。這是因為 GG_ 設定TrafficLight 為停用與雲端的陰影同步

  6. C在 GG_Switch (lightController.py) 用戶端裝置視窗中按下 Ctrl +。您應該會看到 GG_ TrafficLight (trafficLight.py) 視窗停止接收狀態變更訊息。

    將這些視窗保持開啟,讓您可以在下一個區段中執行命令。