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,這會增加重要的新功能,並支援其他平台。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
測試通訊 (停用裝置同步)
-
確保您的計算機和 AWS IoT Greengrass 核心設備使用相同的網絡連接到互聯網。
-
在 AWS IoT Greengrass 核心裝置上,執行下列命令以尋找其 IP 位址。
hostname -I
-
在您的電腦,使用核心的 IP 地址執行以下命令。您可以使用 Ctrl + C 來停止 ping 命令。
ping
IP-address
類似下面的輸出表示計算機和 AWS IoT Greengrass 核心設備之間的通信成功(0% 的數據包丟失):
注意
如果您無法 ping 執行中的 EC2 執行個體 AWS IoT Greengrass,請確定執行個體的輸入安全群組規則允許 Echo 要求訊息的 ICMP 流量。如需詳細資訊,請參閱 Amazon EC2 使用者指南中的將規則新增至安全群組。
在 Windows 主機電腦的 Windows 防火牆和進階安全應用程式中,您也可能需要啟用允許傳入回聲請求的內送規則 (例如,File and Printer Sharing (Echo Request - ICMPv4-In) (檔案和印表機共用 (回聲請求 - ICMPv4-In)) 或建立規則。
-
-
取得您的 AWS IoT 端點。
-
在AWS IoT 主控台
瀏覽窗格中,選擇 [設定]。 -
在 [裝置資料端點] 下,記下 [端點] 的值。您可以使用這個值,在以下步驟的命令中取代
AWS_IOT_ENDPOINT
預留位置。注意
請確定您的端點對應於您的憑證類型。
-
-
在您的電腦 (不是 AWS IoT Greengrass 核心裝置) 上,開啟兩個命令列
(終端機或命令提示字元) 視窗。一個視窗代表 GG_switch 用戶端裝置,另一個視窗代表 GG_ TrafficLight 用戶端裝置。 -
在 GG_switch 用戶端裝置視窗中,執行下列命令。
-
將
path-to-certs-folder
替換為包含憑證、金鑰和 Python 檔案的資料夾路徑。 -
將
AWS_IOT_ENDPOINT
取代為您的端點。 -
將兩個
交換器CertId
執行個體取代為 GG_switch 用戶端裝置檔案名稱中的憑證 ID。
cd
path-to-certs-folder
python lightController.py --endpointAWS_IOT_ENDPOINT
--rootCA AmazonRootCA1.pem --certswitchCertId
-certificate.pem.crt --keyswitchCertId
-private.pem.key --thingName GG_TrafficLight --clientId GG_Switch -
-
在 GG_ TrafficLight 用戶端裝置視窗中,執行下列命令。
-
將
path-to-certs-folder
替換為包含憑證、金鑰和 Python 檔案的資料夾路徑。 -
將
AWS_IOT_ENDPOINT
取代為您的端點。 -
以 GG_ TrafficLight 用戶端裝置檔案名稱中的憑證 ID 取代這兩個
輕型CertId
執行個體。
cd
path-to-certs-folder
python trafficLight.py --endpointAWS_IOT_ENDPOINT
--rootCA AmazonRootCA1.pem --certlightCertId
-certificate.pem.crt --keylightCertId
-private.pem.key --thingName GG_TrafficLight --clientId GG_TrafficLight每 20 秒會切換更新陰影狀態為 G、Y 和 R,光源會顯示其新的狀態,如下所示。
GG_Switch 輸出:
GG _ TrafficLight 輸出:
-
首次執行時,每個用戶端裝置指令碼都會執行 AWS IoT Greengrass 探索服務以連線到 AWS IoT Greengrass 核心 (透過網際網路)。在發現用戶端裝置並成功連線至 AWS IoT Greengrass 核心之後,future 的作業可在本機上執行。
注意
lightController.py
和trafficLight.py
指令碼會將連線資訊存放在groupCA
資料夾,系統會在與指令碼相同的資料夾建立這個資料夾。如果收到連線錯誤,請確定ggc-host
檔案中的 IP 位址與核心的 IP 位址端點相符。 -
-
在 AWS IoT 主控台中,選擇您的 AWS IoT Greengrass 群組,選擇 [用戶端裝置] 索引標籤,然後選擇 GG_ TrafficLight 以開啟用戶端裝置的 AWS IoT 物件詳細資料頁面。
-
選擇裝置陰影標籤。GG_switch 變更狀態之後,此陰影不應該有任何更新。這是因為 GG_ 設定TrafficLight 為停用與雲端的陰影同步。
-
C在 GG_Switch (
lightController.py
) 用戶端裝置視窗中按下 Ctrl +。您應該會看到 GG_ TrafficLight (trafficLight.py
) 視窗停止接收狀態變更訊息。將這些視窗保持開啟,讓您可以在下一個區段中執行命令。