什麼是 AWS IoT Greengrass? - AWS IoT Greengrass

AWS IoT Greengrass Version 1在 2023 年 6 月 30 日之前,將不再收到功能更新,而且只會收到安全性修補程式和錯誤修正。如需詳細資訊,請參閱 。AWS IoT Greengrass V1維護政策。強烈建議您遷移至AWS IoT Greengrass Version 2,這增加了重要新功能支援額外的平台

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

什麼是 AWS IoT Greengrass?

AWS IoT Greengrass 是將雲端功能延伸至本機裝置的軟體。這能讓裝置收集與分析更接近資訊來源的資料、自主回應本機裝置,在本機網路上安全地互相通訊。本地設備還可以與之安全通信AWS IoT Core並將 IoT 數據導出到AWS 雲端。AWS IoT Greengrass開發人員可以使用AWS Lambda功能和預建連接器以建置至裝置以便本機執行的無伺服器應用程式。

下圖顯示 AWS IoT Greengrass 的基本架構。

AWS IoT Greengrass 讓客戶能夠建置 IoT 裝置和應用程式邏輯。具體來說,AWS IoT Greengrass 提供在裝置上執行之應用程式邏輯的雲端型管理。本機部署的 Lambda 函數和連接器是由本機事件、來自雲端的訊息或其他來源觸發。

在 AWS IoT Greengrass 裝置中,在本機網路安全地進行通訊和與彼此交換訊息,且無須連接到雲端。AWS IoT Greengrass 提供可智慧型緩衝訊息的機發布/訂閱訊息管理員,如果當連結遺失時,可保留傳入雲端和傳出雲端的訊息。

AWS IoT Greengrass保護使用者資料:

  • 透過裝置的安全身分驗證和授權。

  • 在本機網路內安全的連線能力。

  • 本機裝置和雲端之間。

裝置安全登入資料在群組內作用,直到撤銷,即使當連接至雲端的連線中斷,裝置還可以繼續安全地在本機進行通訊。

AWS IoT Greengrass提供安全, over-the-air Lambda 函數的更新。

AWS IoT Greengrass 包括:

  • 軟體分發

    • AWS IoT Greengrass 核心軟體

    • AWS IoT Greengrass Core SDK

  • 雲端服務

    • AWS IoT Greengrass API

  • 功能

    • Lambda 執行時間

    • 陰影實作

    • 訊息管理員

    • 群組管理

    • 探索服務

    • Over-the-air 更新代理程式

    • 串流管理員

    • 本機資源存取

    • 本機機器學習推論

    • 本機秘密管理員

    • 內建整合服務、通訊協定和軟體的連接器

AWS IoT Greengrass 核心軟體

AWS IoT Greengrass 核心軟體提供以下功能:

  • 連接器和 Lambda 函數的部署和本機執行。

  • 在本機處理資料串流並自動匯出至AWS 雲端。

  • 使用受管訂閱時,裝置、連接器和 Lambda 函數之間在本機網路上的 MQTT 傳訊。

  • MQTT 訊息AWS IoT以及使用受管訂閱時的裝置、連接器和 Lambda 函數。

  • 裝置與裝置之間的安全連線AWS 雲端使用裝置身份驗證和授權。

  • 裝置的本機陰影同步。可將陰影設定為與AWS 雲端。

  • 對本機裝置和磁碟區資源控制的存取。

  • 用於執行本機推論的雲端訓練機器學習模型部署。

  • 可讓裝置探索 Greengrass 核心裝置的自動 IP 地址偵測。

  • 新的或更新的群組組態的集中部署。下載組態資料之後,核心裝置會自動重新啟動。

  • 保護安全, over-the-air (OTA) 使用者定義的 Lambda 函數的軟體更新。

  • 安全且經過加密的本機秘密儲存空間,並可藉由連接器和 Lambda 函數控。

AWS IoT Greengrass核心執行個體是透過AWS IoT Greengrass建立和更新的 APIAWS IoT Greengrass群組定義存放在雲端。

AWS IoT Greengrass 核心軟體版本

AWS IoT Greengrass 提供幾個安裝 AWS IoT Greengrass 核心軟體的選項,包括 tar.gz 下載檔案、快速啟動指令碼,以及支援 Debian 平台的 apt 安裝。如需詳細資訊,請參閱 安裝 AWS IoT Greengrass 核心軟體

以下標籤描述 AWS IoT Greengrass 核心軟體版本中的最新消息和變更項目。

GGC v1.11
1.11.6

錯誤修正與效能改進:

  • 如果在部署期間突然斷電,則改善彈性。

  • 修正串流管理員資料損毀可能導致AWS IoT Greengrass核心軟體從啟動。

  • 修正在特定情況下,新用戶端裝置無法連線至核心的問題。

  • 修正串流管理員串流名稱無法包含的問題.log

1.11.5

錯誤修正與效能改進:

  • 一般效能改進與錯誤修正。

1.11.4

錯誤修正與效能改進:

  • 修正串流管理員無法升級至AWS IoT Greengrass核心軟體 v1.11.3。如果您使用流管理器將數據導出到雲中,則現在可以使用 OTA 更新來升級舊版的 v1.x 版本AWS IoT Greengrass核心軟件到 1.11.4 版本。

  • 一般效能改進與錯誤修正。

1.11.3

錯誤修正與效能改進:

  • 修正導致的問題AWS IoT Greengrass核心軟件在 Ubuntu 設備上快速運行,以在設備突然斷電後停止響應。

  • 修正導致 MQTT 訊息延遲傳遞至長期使用 Lambda 函數的問題。

  • 修正導致 MQTT 訊息無法正常傳送的問題maxWorkItemCount將數值設定為大於1024

  • 修正導致 OTA 更新代理程式忽略 MQTT 的問題KeepAlive在指定的期間keepAlive中的屬性config.json

  • 一般效能改進與錯誤修正。

重要

如果您使用串流管理員將資料匯出至雲端,請執行升級至AWS IoT Greengrass來自舊版 v1.x 的核心軟體 v1.11.3。如果您是第一次啟用串流管理員,我們強烈建議您先安裝最新版的AWS IoT Greengrass核心軟體。

1.11.1

錯誤修正與效能改進:

  • 修正導致串流管理員使用記憶體的問題。

  • 修正導致串流管理員將串流的序列號重設為的問題0如果 Greengrass 核心設備被關閉的時間超過指定 time-to-live (TTL) 串流資料的週期。

  • 修正串流管理員無法正確停止重試將資料匯出至AWS 雲端。

1.11.0

新功能:

  • Greengrass 核心上的遙測代理程式會收集本機遙測資料並將其發佈至AWS 雲端。若要擷取遙測資料以供進一步處理,客戶可以建立 Amazon EventBridge 規則並訂閱目標。如需詳細資訊,請參閱「」從中收集系統健康狀態遙測資料AWS IoT Greengrass核心裝置

  • 本機 HTTP API 會傳回啟動之本機背景工作處理序目前狀態的快照AWS IoT Greengrass。如需詳細資訊,請參閱「」呼叫本機健康狀態檢查 API

  • 一個串流管理員自動將資料匯出至 Amazon S3 和AWS IoT SiteWise。

    新的串流管理員參數可讓您更新現有串流,並暫停或繼續資料匯出。

  • Support 在核心上執行 Python 3.8.x Lambda 函數。

  • 全新ggDaemonPort中的屬性config.json用於配置 Greengrass 核心 IPC 端口號。預設連接埠號碼為 8000。

    全新systemComponentAuthTimeout中的屬性config.json您用來配置 Greengrass 核心 IPC 身份驗證的超時時間。預設逾時間為 5000 毫秒。

  • 增加的數量上限AWS IoT每個裝置數AWS IoT Greengrass集團從二百到二百五十。

    每群組訂閱數上限。

    如需詳細資訊,請參閱 AWS IoT Greengrass 端點和配額

錯誤修正與效能改進:

  • 可降低 Greengrass 服務程序記憶體使用率的一般最佳化。

  • 新的執行階段組態參數 (mountAllBlockDevices)讓 Greengrass 在設置覆蓋後使用綁定安裝將所有塊設備安裝到容器中。此功能解決了導致 Greengrass 部署失敗的問題/usr不在/階層

  • 修正導致的問題AWS IoT Greengrass核心失敗/tmp是符號連結。

  • 修正讓 Greengrass 部署代理程式移除未使用的機器學習模型成品的問題mlmodel_publicfolder。

  • 一般效能改進與錯誤修正。

Extended life versions
1.10.5

錯誤修正與效能改進:

  • 一般效能改進與錯誤修正。

1.10.4

錯誤修正與效能改進:

  • 修正導致的問題AWS IoT Greengrass核心軟件在 Ubuntu 設備上快速運行,以在設備突然斷電後停止響應。

  • 修正導致 MQTT 訊息延遲傳遞至長期使用 Lambda 函數的問題。

  • 修正導致 MQTT 訊息無法正常傳送的問題maxWorkItemCount將數值設定為大於1024

  • 修正導致 OTA 更新代理程式忽略 MQTT 的問題KeepAlive在指定的期間keepAlive中的屬性config.json

  • 一般效能改進與錯誤修正。

1.10.3

錯誤修正與效能改進:

  • 全新systemComponentAuthTimeout中的屬性config.json您用來配置 Greengrass 核心 IPC 身份驗證的超時時間。預設逾時間為 5000 毫秒。

  • 修正導致串流管理員使用記憶體的問題。

1.10.2

錯誤修正與效能改進:

  • 全新mqttOperationTimeout中的屬性config.json用於設定 MQTT 連線中發佈、訂閱和取消訂閱操作的逾時AWS IoT Core。

  • 一般效能改進與錯誤修正。

1.10.1

錯誤修正與效能改進:

  • 串流管理員對檔案資料損毀更有彈性。

  • 使用 Linux 核心 5.1 及更新版本,修正在裝置上造成 sysfs 掛載失敗的問題。

  • 一般效能改進與錯誤修正。

1.10.0

新功能:

  • Over-the-air 具備硬體安全性整合的 (OTA) 更新可透過 OpenSSL 1.1 進行設定。

  • 一般效能改進與錯誤修正。

1.9.4

錯誤修正與效能改進:

  • 一般效能改進與錯誤修正。

1.9.3

新功能:

  • 支援 Armv6l。AWS IoT Greengrass核心軟體 1.9.3 版或更新版本可安裝在 Armv6l 架構上的 Raspbian 發佈上 (例如,Raspberry Pi Zero 裝置)。

  • 帶有 ALPN 的連接埠 443 OTA 更新。使用連接埠 443 進行 MQTT 流量的 Greengrass 核心現在支援 over-the-air (OTA) 軟體更新。AWS IoT Greengrass使用應用程式層通訊協定網路 (ALPN) TLS 延伸以連線。如需詳細資訊,請參閱AWS IoT Greengrass 核心軟體的 OTA 更新連線至連接埠 443 或透過網路代理

錯誤修正與效能改進:

  • 已修正由 1.9.0 版引進,導致 Python 2.7 Lambda 函數無法傳送二進位承載至其他 Lambda 函數的錯誤。

  • 一般效能改進與錯誤修正。

1.9.2

新功能:

  • 支援OpenWrt。AWS IoT Greengrass核心軟體 v1.9.2 或更新版本可以安裝在 OpenWrt 具有 ArMV8 (AArMV64) 和 ArMV7l 架構的發行套件。目前, OpenWrt 不支援 ML 推論。

1.9.1

錯誤修正與效能改進:

  • 修正存在於 1.9.0 版,從 cloud 寫出,標題中包含萬用字元之訊息的錯誤。

1.9.0

新功能:

  • Support Python 3.7 和 Node.js 8.10 Lambda 執行時間。使用 Python 3.7 和 Node.js 8.10 執行階段的 Lambda 函數現在可以在AWS IoT Greengrass核心。 (AWS IoT Greengrass繼續支援 Python 2.7 和 Node.js 6.10 執行時間。

  • 最佳化的 MQTT 連線。Greengrass 核心建立更少與 AWS IoT Core 的連線。這個變更可對根據連線數目的費用降低操作成本。

  • 本機 MQTT 伺服器的 Elliptic Curve (EC) 金鑰。除了 RSA 金鑰之外,本機 MQTT 伺服器還支援 EC 金鑰。(無論金鑰類型為何,MQTT 伺服器憑證都有一個 SHA-256 RSA 簽章。) 如需詳細資訊,請參閱 AWS IoT Greengrass 核心安全性主體

錯誤修正與效能改進:

  • 一般效能改進與錯誤修正。

1.8.4

已修正陰影同步和裝置憑證管理員重新連線的問題。

一般效能改進與錯誤修正。

1.8.3

一般效能改進與錯誤修正。

1.8.2

一般效能改進與錯誤修正。

1.8.1

一般效能改進與錯誤修正。

1.8.0

新功能:

  • 群組中適用於 Lambda 函數的可設定預設存取身分。這項群組層級設定會決定用於執行 Lambda 函數的預設許可。您可以設定使用者 ID、群組 ID 或兩者。個別的 Lambda 函數可以覆寫其群組的預設存取身分。如需詳細資訊,請參閱 在群組中設定 Lambda da da da da da da 函數的預設存取身分

  • 透過連接埠 443 的 HTTPS 流量。HTTPS 通訊可設定為透過連接埠 443 傳送,而非預設的連接埠 8443。這補充AWS IoT Greengrass支援應用程式層通訊協定網路 (ALPN) TLS 延伸,並允許所有 Greengrass 傳訊流量 (包含 MQTT 和 HTTP) 使用連接埠 443。如需詳細資訊,請參閱 連線至連接埠 443 或透過網路代理

  • AWS IoT 連線的預期命名用戶端 ID。此變更可支援 AWS IoT Device Defender 和 AWS IoT 生命週期事件,因此您會收到連線、中斷連線、訂閱和取消訂閱事件的通知。可預測命名也能讓您更輕易建立關於連線 ID 的邏輯 (例如根據憑證屬性建立訂閱政策範本)。如需詳細資訊,請參閱 使用 AWS IoT 之 MQTT 連線的用戶端 ID

錯誤修正與效能改進:

  • 已修正陰影同步和裝置憑證管理員重新連線的問題。

  • 一般效能改進與錯誤修正。

1.7.1

新功能:

  • Greengrass 連接器可提供與本機基礎設施、裝置通訊協定的內建整合AWS,以及其他雲端服務。如需詳細資訊,請參閱 使用 Greengrass 連接器來整合服務和通訊協定

  • AWS IoT Greengrass擴展AWS Secrets Manager核心裝置,讓您的密碼、字符和其他秘密可供連接器和 Lambda 函數使用。私密是在傳輸和靜態時加密。如需詳細資訊,請參閱 將私密部署至 AWS IoT Greengrass 核心

  • 支援信任安全選項的硬體根。如需詳細資訊,請參閱 硬體安全整合

  • 隔離和許可設定,其可讓 Lambda 函數在沒有 Greengrass 容器的情況下執行,並使用所指定使用者和群組的許可。如需詳細資訊,請參閱 使用群組特定組態控制 Greengrass

  • 將您的 Greengrass 群組設定成在沒有容器化的情況下執行,您即可以在 (Windows、macOS 或 Linux 上的) Docker 容器中執行 AWS IoT Greengrass。如需詳細資訊,請參閱 在 Docker 容器中執行 AWS IoT Greengrass

  • 運用應用程式層通訊協定交涉 (ALPN) 或透過網路代理的連線,在連接埠 443 上使用 MQTT 簡訊。如需詳細資訊,請參閱 連線至連接埠 443 或透過網路代理

  • 所以此 SageMaker Neo 深度學習執行時間,其支援已經過最佳化的機器學習模型 SageMaker Neo 深度學習編譯器。如需 Neo 深度學習執行時間的資訊,請參閱 適用於 ML 推論的執行時間和程式庫

  • 支援 Raspberry Pi 核心裝置上的 Raspbian Stretch (2018-06-27)。

錯誤修正與效能改進:

  • 一般效能改進與錯誤修正。

此外,這個版本還提供以下功能:

  • AWS IoT Device Tester for AWS IoT Greengrass,您可以使用它來確認您的 CPU 架構、核心組態和驅動程式是否適合 AWS IoT Greengrass。如需詳細資訊,請參閱 使用AWS IoT適用於 的 Device TesterAWS IoT GreengrassV1

  • 所以此AWS IoT Greengrass核心軟體AWS IoT Greengrass核心開發套件AWS IoT GreengrassMachine Learning 開發套件可透過 Amazon 下載 CloudFront。如需詳細資訊,請參閱 AWS IoT Greengrass 下載

1.6.1

新功能:

  • 在 Greengrass 核心執行二進位程式碼的 Lambda 可執行檔。使用新的AWS IoT Greengrass適用於 C 和 C++ 撰寫適用 Lambda C 和 C++ 的核心開發套件。如需詳細資訊,請參閱 Lambda 可執行檔

  • 選用本機儲存訊息快取可以在重新啟動持續。您可以設定佇列待處理的 MQTT 訊息之儲存設定。如需詳細資訊,請參閱 雲端目標的 MQTT 訊息佇列

  • 當核心中斷連線時,可設定重新連線重試時間間隔的最大值。如需詳細資訊,請參閱 AWS IoT Greengrass 核心組態檔案 中的 mqttMaxConnectionRetryInterval 屬性。

  • 本機資源存取 host/proc 目錄。如需詳細資訊,請參閱 使用 Lambda 函數和連接器存取本機資源

  • 可設定的寫入目錄。AWS IoT Greengrass 核心軟體可以部署到唯讀和讀寫的位置。如需詳細資訊,請參閱 設定 AWS IoT Greengrass 的寫入目錄

錯誤修正與效能改進:

  • 在 Greengrass 核心中以及裝置與核心間執行發佈訊息的改善。

  • 減少處理使用者定義 Lambda 函數產生的日誌所需運算資源。

1.5.0

新功能:

  • AWS IoT Greengrass 機器學習 (ML) 推論通常可使用。您可以在本機 AWS IoT Greengrass 裝置上使用在雲端建構和訓練的模型來執行 ML 推導。如需詳細資訊,請參閱 執行機器學習推論

  • Greengrass Lambda 函數現在支援二進位資料做為輸入乘載,除了 JSON 之外。若要使用此功能,您必須升級至AWS IoT Greengrass核心軟體開發套件版本 1.1.0,您可從下載此套件AWS IoT Greengrass核心開發套件下載頁面。

錯誤修正與效能改進:

  • 降低整體的記憶體足跡。

  • 傳送訊息至雲端的效能提升。

  • 下載代理程式的穩定性改善、裝置憑證管理員 、和 OTA 更新代理程式。

  • 次要錯誤修正。

1.3.0

新功能:

1.1.0

新功能:

  • 已部署AWS IoT Greengrass可以藉由刪除 Lambda 函數、訂閱或組態重設。如需詳細資訊,請參閱 重設部署

  • Support Node.js 6.10 和 Java 8 Lambda 執行時間,除了 Python 2.7 之外。

若要從舊版的執行遷移出來AWS IoT Greengrass核心:

  • /greengrass/configuration/certs 資料夾複製憑證至 /greengrass/certs

  • /greengrass/configuration/config.json 複製至 /greengrass/config/config.json

  • 執行 /greengrass/ggc/core/greengrassd,而不是 /greengrass/greengrassd

  • 部署群組到新的核心。

1.0.0

初始版本

AWS IoT Greengrass 群組

Greengrass 群組是設定和元件的集合,例如 Greengrass 核心、裝置和訂閱。群組可用來定義互動的範圍。例如,群組可能代表大樓的其中一個樓層、一輛卡車,或整個礦場。下圖顯示可組成 Greengrass 群組的元件。

在上圖中:

A: Greengrass 群組定義

群組設定和元件的相關資訊。

B:Greengrass 群組設

其中包含:

C:Greengrass 核心

代表 Greengrass 核心的 AWS IoT 物件 (裝置)。如需詳細資訊,請參閱 設定 AWS IoT Greengrass 核心

D:Lambda 函數定義

在本機核心上執行的 Lambda 函數清單,以及相關聯的組態資料。如需詳細資訊,請參閱 在上執行 Lambda 函數AWS IoT Greengrass核心

E: 訂閱定義

可讓通訊使用 MQTT 訊息的訂閱清單。訂閱定義:

  • 訊息來源和訊息目標。這些可以是用戶端裝置、Lambda 函數、連接器、AWS IoT Core,以及本機陰影服務。

  • 用來篩選訊息的主題 (或主旨)。

如需詳細資訊,請參閱 MQTT 簡訊工作流程中的受管訂閱

F:連接器定義

在本機核心上執行的連接器清單,以及相關聯的組態資料。如需詳細資訊,請參閱 使用 Greengrass 連接器來整合服務和通訊協定

G:裝置定義

的清單AWS IoT屬於 Greengrass 群組的物件 (稱為用戶端裝置或裝置),以及相關聯的組態資料。如需詳細資訊,請參閱 AWS IoT Greengrass 的裝置

H:資源定義

Greengrass 核心上本機資源、機器學習資源和私密資源的清單,以及相關聯的組態資料。如需詳細資訊,請參閱 使用 Lambda 函數和連接器存取本機資源執行機器學習推論將私密部署至 AWS IoT Greengrass 核心

當部署時,會將 Greengrass 群組定義、Lambda 函數、連接器、資源和訂閱表格複製到核心裝置。如需詳細資訊,請參閱 將 AWS IoT Greengrass 群組部署至 AWS IoT Greengrass 核心

AWS IoT Greengrass 的裝置

Greengrass 群組可以包含兩種 AWS IoT 裝置類型:

Greengrass 核心

Greengrass 核心是一種執行 AWS IoT Greengrass 核心軟體的裝置,允許它直接與 AWS IoT Core 和 AWS IoT Greengrass 服務進行通訊。核心有自己的憑證,用於驗證 AWS IoT Core。它具有裝置陰影並在 AWS IoT Core 登錄中具有一個項目。Greengrass 核心會執行本機 Lambda 執行時間、部署代理程式和 IP 地址追蹤器,將 IP 地址資訊傳送至AWS IoT Greengrass允許用戶端裝置自動探索其群組和核心連線資訊的服務。如需詳細資訊,請參閱 設定 AWS IoT Greengrass 核心

注意

Greengrass 群組必須包含恰好一個核心。

用戶端裝置

用戶端裝置 (也稱為連接裝置Greengrass 裝置, 或裝置) 是透過 MQTT 連線至 Greengrass 核心裝置的裝置。他們有自己的設備證書AWS IoT Core身份驗證、裝置陰影和中的一個項目AWS IoT Core登錄檔。用戶端裝置可以執行FreeRTOS或使用AWS IoT裝置 SDK或者AWS IoT GreengrassDiscovery API以取得使用相同 Greengrass 群組中的核心進行連接和驗證的探索資訊。若要了解如何使用AWS IoT用於建立和設定用戶端裝置的主控台AWS IoT Greengrass,請參閱模組編號 1:與中的用戶端裝置互動AWS IoT Greengrass群組。或者,如下範例,示範如何使用AWS CLI,以建立和設定用戶端裝置AWS IoT Greengrass,請參閱create-device-definition中的AWS CLI命令參考

在 Greengrass 群組中,您可以建立訂閱以允許用戶端裝置透過 MQTT 與這些項目通訊:群組中的 MQTT 與 Lambda 些項目通訊:群組中的函數、連接器和其他用戶端裝置,以及AWS IoT Core或本機陰影服務。MQTT 訊息透過核心路由。如果核心裝置中斷雲端連線,用戶可以繼續透過區域網路通訊。用戶裝置的大小各不相同,包含較小型的微型控制器裝置到大型設備。目前 Greengrass 群組最多可包含 2,500 個用戶端裝置。一個用戶端裝置最多可為 10 個群組的成員。

注意

OPC-UA 是一個用於工業通訊的資訊交換標準。若要在 Greengrass 核心上實作 OPC-UA 的支援,您可以使用物聯網 (IoT) SiteWise 連接器。此連接器可將產業裝置資料從 OPC-UA 伺服器傳送至 AWS IoT SiteWise 中的資產屬性。

下表顯示這些裝置所相關的類型。

所以此AWS IoT Greengrass核心裝置將憑證儲存在兩個位置:

  • /greengrass-root/certs 中的核心裝置憑證 核心裝置憑證通常命名為 hash.cert.pem (例如, 86c84488a5.cert.pem)。當核心連接到 AWS IoT Core 和 AWS IoT Greengrass 服務時,AWS IoT 用戶端會使用此憑證進行相互驗證。

  • /greengrass-root/ggc/var/state/server 中的 MQTT 伺服器憑證。MQTT 伺服器憑證的名稱為 server.crt。此憑證用於本機 MQTT 伺服器 (位於 Greengrass 核心) 和 Greengrass 裝置之間的相互驗證。

    注意

    greengrass-root 代表 AWS IoT Greengrass 核心軟體在裝置上安裝所在的路徑。通常,這是 /greengrass 目錄。

軟體開發套件

如下所示AWS-提供的軟體開發套件可用來與搭配使用AWS IoT Greengrass:

AWS SDK

使用AWSSDK 可建置與任何互動的應用程式AWS服務,包括 Amazon S3,Amazon DynamoDB,AWS IoT、AWS IoT Greengrass等等。在的背景下AWS IoT Greengrass,您可以使用AWS在已部署的 Lambda 函數中開發套件,可直接呼叫任何人AWS服務。如需詳細資訊,請參閱 AWS SDK

注意

Greengrass 特有的操作可用AWS軟體開發套件也可在中使用AWS IoT GreengrassAPIAWS CLI

AWS IoT 裝置軟體開發套件

所以此AWS IoT裝置軟體開發套件協助裝置連線至AWS IoT Core和AWS IoT Greengrass。如需詳細資訊,請參閱「」AWS IoT裝置開發套件中的AWS IoT開發人員指南

用戶端裝置可以使用AWS IoT用於探索 Greengrass 核心的連線資訊。連線資訊包括:

  • 用戶端裝置所屬的 Greengrass 群組識別碼。

  • 每個群組中 Greengrass 的 IP 位址。這些也被稱為核心端點

  • 群組憑證授權機構憑證與核心進行相互驗證。如需詳細資訊,請參閱 裝置連線工作流程

注意

在第 1 版AWS IoT裝置開發套件,只有 C++ 和 Python 平台提供內建的探索支援。

AWS IoT Greengrass Core SDK

所以此AWS IoT Greengrass核心 SDK 可讓 Lambda 函數與 Greengrass 核心互動,並將訊息發佈至AWS IoT、與本機陰影服務互動、呼叫其他已部署的 Lambda 函數,以及存取秘密資源。此開發套件由上執行的 Lambda 函數使用。AWS IoT Greengrass核心。如需詳細資訊,請參閱 AWS IoT Greengrass 核心開發套件

AWS IoT GreengrassMachine Learning SDK

所以此AWS IoT GreengrassMachine Learning SDK 可讓 Lambda 函數使用部署到 Greengrass 核心做為機器學習資源的機器學習模型。此開發套件由上執行的 Lambda 函數使用。AWS IoT Greengrass核心並與本機推論服務互動。如需詳細資訊,請參閱 AWS IoT GreengrassMachine Learning SDK

支援平台和需求

以下索引標籤列出支援的平台,以及 AWS IoT Greengrass 核心軟體的需求。

注意

您可以下載AWS IoT Greengrass核心軟體AWS IoT Greengrass核心軟體下載。

GGC v1.11

支援的平台:

  • 架構 Armv7l

    • 作業系統:Linux

    • 作業系統:Linux (OpenWrt)

  • 架構 Armv8 (AArch64)

    • 作業系統:Linux

    • 作業系統:Linux (OpenWrt)

  • 架構 Armv6l

    • 作業系統:Linux

  • 架構:x86_64

    • 作業系統:Linux

  • Windows、macOS 和 Linux 平台可在 Docker 容器內執行 AWS IoT Greengrass。如需詳細資訊,請參閱 在 Docker 容器中執行 AWS IoT Greengrass

使用要求:

  • AWS IoT Greengrass 核心軟體可用的最小 128 MB 磁碟空間。如果您使用OTA 更新代理程式,最小為400 MB

  • 最少要配置 128 MB RAM 給 AWS IoT Greengrass 核心軟體。啟用串流管理員時,至少要用 198 MB RAM。

    注意

    串流管理員預設為啟用,如果您使用預群組建立上的選項AWS IoT主控台來建立 Greengrass 群組。

  • Linux 核心版本:

    • 需要 Linux 核心 4.4 版或更新版本,才能支援執行。AWS IoT Greengrass取代為容器

    • 需要 Linux 核心 3.17 版或更新版本,才能支援在沒有容器的情況下執行 AWS IoT Greengrass。在此組態中, Greengrass 群組的預設 Lambda 函數容器化必須設定為沒有容器。如需相關指示,請參閱在群組中設定 Lambda da da da da da da da 函數的預設容器化

  • GNU C 程式式式式式式(glibc) 2.14 版或更新版本。 OpenWrt 分佈需要Ml C 程式式式式式式1.1.16 或更新版本。

  • 必須在此裝置上呈現 /var/run 目錄。

  • /dev/stdin/dev/stdout/dev/stderr 檔案必須可用。

  • 必須在裝置上啟用硬連結和軟連結保護。否則,只能在不安全模式下使用 -i 旗標執行 AWS IoT Greengrass。

  • 必須在此裝置啟用下列的 Linux 核心組態:

    • 命名空間:

      • CONFIG_IPC_NS

      • CONFIG_UTS_NS

      • CONFIG_USER_NS

      • CONFIG_PID_NS

    • Cgroups:

      • CONFIG_CGROUP_DEVICE

      • CONFIG_CGROUPS

      • CONFIG_MEMCG

      核心必須支援 cgroups。執行時適用的要下下下列要下下下AWS IoT Greengrass取代為容器

      • 所以此記憶體cgroup 必須啟用和掛載,以允許AWS IoT Greengrass來設定適用於 Lambda 函數的記憶體限制。

      • 所以此裝置如果使用 Lambda 函數,則必須啟用並掛載 cgroup本機資源存取用於開啟上的檔案AWS IoT Greengrass核心裝置。

    • 其他:

      • CONFIG_POSIX_MQUEUE

      • CONFIG_OVERLAY_FS

      • CONFIG_HAVE_ARCH_SECCOMP_FILTER

      • CONFIG_SECCOMP_FILTER

      • CONFIG_KEYS

      • CONFIG_SECCOMP

      • CONFIG_SHMEM

  • Amazon S3 和根證書AWS IoT必須出現在系統信任存放區。

  • 串流管理員需要 Java 8 執行時間,除了基礎之外,還需要至少 70 MB 的 RAMAWS IoT Greengrass核心軟體記憶體需求。當您使用時,串流管理員預設會啟用預群組建立上的選項AWS IoT主控台。不支援串流管理員 OpenWrt 分佈。

  • 支援的程式庫AWS Lambda執行時期由您要在本機執行的 Lambda 函數所需。必要的程式庫必須安裝在核心上,並新增到 PATH 環境變數。多個程式庫可以安裝在同一個核心上。

    • 蟒蛇適用於使用 Python 3.8 執行時間的函數版本 3.8。

    • Python 3.7 版 (若為使用 Python 3.7 執行時間的函數)。

    • Python 2.7 版 (若為使用 Python 2.7 執行時間的函數)。

    • Node.js 12.x 版 (若為使用 Node.js 12.x 執行時間的函數)。

    • Java 第 8 版或更新版本 (若為使用 Java 執行時間的函數)。

      注意

      在電腦上執行 Java OpenWrt 分發不正式支援。但是,如果您 OpenWrt 構建支援 Java,您可以在您的 Java 上執行以 Java 編寫的 Lambda 函數 OpenWrt 裝置。

      如需有關 的詳細資訊AWS IoT GreengrassLambda 執行時間支援,請參閱在上執行 Lambda 函數AWS IoT Greengrass核心

  • 下列命令介面指令 (不是 BusyBox 變體)是由要求over-the-air (OTA) 更新代理程式

    • wget

    • realpath

    • tar

    • readlink

    • basename

    • dirname

    • pidof

    • df

    • grep

    • umount

    • mv

    • gzip

    • mkdir

    • rm

    • ln

    • cut

    • cat

    • /bin/bash

GGC v1.10

支援的平台:

  • 架構 Armv7l

    • 作業系統:Linux

    • 作業系統:Linux (OpenWrt)

  • 架構 Armv8 (AArch64)

    • 作業系統:Linux

    • 作業系統:Linux (OpenWrt)

  • 架構 Armv6l

    • 作業系統:Linux

  • 架構:x86_64

    • 作業系統:Linux

  • Windows、macOS 和 Linux 平台可在 Docker 容器內執行 AWS IoT Greengrass。如需詳細資訊,請參閱 在 Docker 容器中執行 AWS IoT Greengrass

使用要求:

  • AWS IoT Greengrass 核心軟體可用的最小 128 MB 磁碟空間。如果您使用OTA 更新代理程式,最小為400 MB

  • 最少要配置 128 MB RAM 給 AWS IoT Greengrass 核心軟體。啟用串流管理員時,至少要用 198 MB RAM。

    注意

    串流管理員預設為啟用,如果您使用預群組建立上的選項AWS IoT主控台來建立 Greengrass 群組。

  • Linux 核心版本:

    • 需要 Linux 核心 4.4 版或更新版本,才能支援執行。AWS IoT Greengrass取代為容器

    • 需要 Linux 核心 3.17 版或更新版本,才能支援在沒有容器的情況下執行 AWS IoT Greengrass。在此組態中, Greengrass 群組的預設 Lambda 函數容器化必須設定為沒有容器。如需相關指示,請參閱在群組中設定 Lambda da da da da da da da 函數的預設容器化

  • GNU C 程式式式式式式(glibc) 2.14 版或更新版本。 OpenWrt 分佈需要Ml C 程式式式式式式1.1.16 或更新版本。

  • 必須在此裝置上呈現 /var/run 目錄。

  • /dev/stdin/dev/stdout/dev/stderr 檔案必須可用。

  • 必須在裝置上啟用硬連結和軟連結保護。否則,只能在不安全模式下使用 -i 旗標執行 AWS IoT Greengrass。

  • 必須在此裝置啟用下列的 Linux 核心組態:

    • 命名空間:

      • CONFIG_IPC_NS

      • CONFIG_UTS_NS

      • CONFIG_USER_NS

      • CONFIG_PID_NS

    • Cgroups:

      • CONFIG_CGROUP_DEVICE

      • CONFIG_CGROUPS

      • CONFIG_MEMCG

      核心必須支援 cgroups。執行時適用的要下下下列要下下下AWS IoT Greengrass取代為容器

      • 所以此記憶體cgroup 必須啟用和掛載,以允許AWS IoT Greengrass來設定適用於 Lambda 函數的記憶體限制。

      • 所以此裝置如果使用 Lambda 函數,則必須啟用並掛載 cgroup本機資源存取用於開啟上的檔案AWS IoT Greengrass核心裝置。

    • 其他:

      • CONFIG_POSIX_MQUEUE

      • CONFIG_OVERLAY_FS

      • CONFIG_HAVE_ARCH_SECCOMP_FILTER

      • CONFIG_SECCOMP_FILTER

      • CONFIG_KEYS

      • CONFIG_SECCOMP

      • CONFIG_SHMEM

  • Amazon S3 和根證書AWS IoT必須出現在系統信任存放區。

  • 串流管理員需要 Java 8 執行時間,除了基礎之外,還需要至少 70 MB 的 RAMAWS IoT Greengrass核心軟體記憶體需求。當您使用時,串流管理員預設會啟用預群組建立上的選項AWS IoT主控台。不支援串流管理員 OpenWrt 分佈。

  • 支援的程式庫AWS Lambda執行時期由您要在本機執行的 Lambda 函數所需。必要的程式庫必須安裝在核心上,並新增到 PATH 環境變數。多個程式庫可以安裝在同一個核心上。

    • Python 3.7 版 (若為使用 Python 3.7 執行時間的函數)。

    • Python 2.7 版 (若為使用 Python 2.7 執行時間的函數)。

    • Node.js 12.x 版 (若為使用 Node.js 12.x 執行時間的函數)。

    • Java 第 8 版或更新版本 (若為使用 Java 執行時間的函數)。

      注意

      在電腦上執行 Java OpenWrt 分發不正式支援。但是,如果您 OpenWrt 構建支援 Java,您可以在您的 Java 上執行以 Java 編寫的 Lambda 函數 OpenWrt 裝置。

      如需有關 的詳細資訊AWS IoT GreengrassLambda 執行時間支援,請參閱在上執行 Lambda 函數AWS IoT Greengrass核心

  • 下列命令介面指令 (不是 BusyBox 變體)是由要求over-the-air (OTA) 更新代理程式

    • wget

    • realpath

    • tar

    • readlink

    • basename

    • dirname

    • pidof

    • df

    • grep

    • umount

    • mv

    • gzip

    • mkdir

    • rm

    • ln

    • cut

    • cat

    • /bin/bash

GGC v1.9

支援的平台:

  • 架構 Armv7l

    • 作業系統:Linux

    • 作業系統:Linux (OpenWrt)

  • 架構 Armv8 (AArch64)

    • 作業系統:Linux

    • 作業系統:Linux (OpenWrt)

  • 架構 Armv6l

    • 作業系統:Linux

  • 架構:x86_64

    • 作業系統:Linux

  • Windows、macOS 和 Linux 平台可在 Docker 容器內執行 AWS IoT Greengrass。如需詳細資訊,請參閱 在 Docker 容器中執行 AWS IoT Greengrass

使用要求:

  • AWS IoT Greengrass 核心軟體可用的最小 128 MB 磁碟空間。如果您使用OTA 更新代理程式,最小為400 MB

  • 最少要配置 128 MB RAM 給 AWS IoT Greengrass 核心軟體。

  • Linux 核心版本:

    • 需要 Linux 核心 4.4 版或更新版本,才能支援執行。AWS IoT Greengrass取代為容器

    • 需要 Linux 核心 3.17 版或更新版本,才能支援在沒有容器的情況下執行 AWS IoT Greengrass。在此組態中, Greengrass 群組的預設 Lambda 函數容器化必須設定為沒有容器。如需相關指示,請參閱在群組中設定 Lambda da da da da da da da 函數的預設容器化

  • GNU C 程式式式式式式(glibc) 2.14 版或更新版本。 OpenWrt 分佈需要Ml C 程式式式式式式1.1.16 或更新版本。

  • 必須在此裝置上呈現 /var/run 目錄。

  • /dev/stdin/dev/stdout/dev/stderr 檔案必須可用。

  • 必須在裝置上啟用硬連結和軟連結保護。否則,只能在不安全模式下使用 -i 旗標執行 AWS IoT Greengrass。

  • 必須在此裝置啟用下列的 Linux 核心組態:

    • 命名空間:

      • CONFIG_IPC_NS

      • CONFIG_UTS_NS

      • CONFIG_USER_NS

      • CONFIG_PID_NS

    • Cgroups:

      • CONFIG_CGROUP_DEVICE

      • CONFIG_CGROUPS

      • CONFIG_MEMCG

      核心必須支援 cgroups。執行時適用的要下下下列要下下下AWS IoT Greengrass取代為容器

      • 所以此記憶體cgroup 必須啟用和掛載,以允許AWS IoT Greengrass來設定適用於 Lambda 函數的記憶體限制。

      • 所以此裝置如果使用 Lambda 函數,則必須啟用並掛載 cgroup本機資源存取用於開啟上的檔案AWS IoT Greengrass核心裝置。

    • 其他:

      • CONFIG_POSIX_MQUEUE

      • CONFIG_OVERLAY_FS

      • CONFIG_HAVE_ARCH_SECCOMP_FILTER

      • CONFIG_SECCOMP_FILTER

      • CONFIG_KEYS

      • CONFIG_SECCOMP

      • CONFIG_SHMEM

  • Amazon S3 和根證書AWS IoT必須出現在系統信任存放區。

  • 支援的程式庫AWS Lambda執行時期由您要在本機執行的 Lambda 函數所需。必要的程式庫必須安裝在核心上,並新增到 PATH 環境變數。多個程式庫可以安裝在同一個核心上。

    • Python 2.7 版 (若為使用 Python 2.7 執行時間的函數)。

    • Python 3.7 版 (若為使用 Python 3.7 執行時間的函數)。

    • Node.js 6.10 版或更新版本 (若為使用 Node.js 6.10 執行時間的函數)。

    • Node.js 8.10 版或更新版本 (若為使用 Node.js 8.10 執行時間的函數)。

    • Java 第 8 版或更新版本 (若為使用 Java 執行時間的函數)。

      注意

      在電腦上執行 Java OpenWrt 分發不正式支援。但是,如果您 OpenWrt 構建支援 Java,您可以在您的 Java 上執行以 Java 編寫的 Lambda 函數 OpenWrt 裝置。

      如需有關 的詳細資訊AWS IoT GreengrassLambda 執行時間支援,請參閱在上執行 Lambda 函數AWS IoT Greengrass核心

  • 下列命令介面指令 (不是 BusyBox 變體)是由要求over-the-air (OTA) 更新代理程式

    • wget

    • realpath

    • tar

    • readlink

    • basename

    • dirname

    • pidof

    • df

    • grep

    • umount

    • mv

    • gzip

    • mkdir

    • rm

    • ln

    • cut

    • cat

GGC v1.8
  • 支援的平台:

    • 架構 ARMv7l;作業系統:Linux

    • 架構:x86_64;作業系統:Linux

    • 架構 Armv8 (AArch64);作業系統:Linux

    • Windows、macOS 和 Linux 平台可在 Docker 容器內執行 AWS IoT Greengrass。如需詳細資訊,請參閱 在 Docker 容器中執行 AWS IoT Greengrass

    • Linux 平台可以運行一個版本AWS IoT Greengrass使用 Greengrass 快照功能有限,可通過以下方式獲得捕捉。如需詳細資訊,請參閱 AWS IoT Greengrass Snap 軟體

  • 下列是必要項目:

    • AWS IoT Greengrass 核心軟體可用的最小 128 MB 磁碟空間。如果您使用OTA 更新代理程式,最小為400 MB

    • 最少要配置 128 MB RAM 給 AWS IoT Greengrass 核心軟體。

    • Linux 核心版本:

      • 需要 Linux 核心 4.4 版或更新版本,才能支援執行。AWS IoT Greengrass取代為容器

      • 需要 Linux 核心 3.17 版或更新版本,才能支援在沒有容器的情況下執行 AWS IoT Greengrass。在此組態中, Greengrass 群組的預設 Lambda 函數容器化必須設定為沒有容器。如需相關指示,請參閱在群組中設定 Lambda da da da da da da da 函數的預設容器化

    • GNU C 程式庫 (glibc) 2.14 版或更新版本。

    • 必須在此裝置上呈現 /var/run 目錄。

    • /dev/stdin/dev/stdout/dev/stderr 檔案必須可用。

    • 必須在裝置上啟用硬連結和軟連結保護。否則,只能在不安全模式下使用 -i 旗標執行 AWS IoT Greengrass。

    • 必須在此裝置啟用下列的 Linux 核心組態:

      • 命名空間:

        • CONFIG_IPC_NS

        • CONFIG_UTS_NS

        • CONFIG_USER_NS

        • CONFIG_PID_NS

      • Cgroups:

        • CONFIG_CGROUP_DEVICE

        • CONFIG_CGROUPS

        • CONFIG_MEMCG

        核心必須支援 cgroups。執行時適用的要下下下列要下下下AWS IoT Greengrass取代為容器

        • 所以此記憶體cgroup 必須啟用和掛載,以允許AWS IoT Greengrass來設定適用於 Lambda 函數的記憶體限制。

        • 所以此裝置如果使用 Lambda 函數,則必須啟用並掛載 cgroup本機資源存取用於開啟上的檔案AWS IoT Greengrass核心裝置。

      • 其他:

        • CONFIG_POSIX_MQUEUE

        • CONFIG_OVERLAY_FS

        • CONFIG_HAVE_ARCH_SECCOMP_FILTER

        • CONFIG_SECCOMP_FILTER

        • CONFIG_KEYS

        • CONFIG_SECCOMP

        • CONFIG_SHMEM

    • Amazon S3 和根證書AWS IoT必須出現在系統信任存放區。

  • 下列項目是必要條件:

    • 支援的程式庫AWS Lambda執行時期由您要在本機執行的 Lambda 函數所需。必要的程式庫必須安裝在核心上,並新增到 PATH 環境變數。多個程式庫可以安裝在同一個核心上。

      • Python 2.7 版 (若為使用 Python 2.7 執行時間的函數)。

      • Node.js 6.10 版或更新版本 (若為使用 Node.js 6.10 執行時間的函數)。

      • Java 第 8 版或更新版本 (若為使用 Java 執行時間的函數)。

    • 下列命令介面指令 (不是 BusyBox 變體)是由要求over-the-air (OTA) 更新代理程式

      • wget

      • realpath

      • tar

      • readlink

      • basename

      • dirname

      • pidof

      • df

      • grep

      • umount

      • mv

      • gzip

      • mkdir

      • rm

      • ln

      • cut

      • cat

如需有關的資訊AWS IoT Greengrass配額 (限制),請參閱Service Quotas中的Amazon Web Services 一般參考

如需定價資訊,請參閱 AWS IoT Greengrass 定價AWS IoT Core 定價

AWS IoT Greengrass 下載

您可以使用以下資訊來尋找及下載與 AWS IoT Greengrass 搭配使用的軟體。

AWS IoT Greengrass 核心軟體

所以此AWS IoT Greengrass核心軟體擴展AWS功能到AWS IoT Greengrass核心裝置,讓本機裝置可以在本機操作其產生的資料。

v1.11
1.11.6

錯誤修正與效能改進:

  • 如果在部署期間突然斷電,則改善彈性。

  • 修正串流管理員資料損毀可能導致AWS IoT Greengrass核心軟體從啟動。

  • 修正在特定情況下,新用戶端裝置無法連線至核心的問題。

  • 修正串流管理員串流名稱無法包含的問題.log

1.11.5

錯誤修正與效能改進:

  • 一般效能改進與錯誤修正。

1.11.4

錯誤修正與效能改進:

  • 修正串流管理員無法升級至AWS IoT Greengrass核心軟體 v1.11.3。如果您使用流管理器將數據導出到雲中,則現在可以使用 OTA 更新來升級舊版的 v1.x 版本AWS IoT Greengrass核心軟件到 1.11.4 版本。

  • 一般效能改進與錯誤修正。

1.11.3

錯誤修正與效能改進:

  • 修正導致的問題AWS IoT Greengrass核心軟件在 Ubuntu 設備上快速運行,以在設備突然斷電後停止響應。

  • 修正導致 MQTT 訊息延遲傳遞至長期使用 Lambda 函數的問題。

  • 修正導致 MQTT 訊息無法正常傳送的問題maxWorkItemCount將數值設定為大於1024

  • 修正導致 OTA 更新代理程式忽略 MQTT 的問題KeepAlive在指定的期間keepAlive中的屬性config.json

  • 一般效能改進與錯誤修正。

重要

如果您使用串流管理員將資料匯出至雲端,請執行升級至AWS IoT Greengrass來自舊版 v1.x 的核心軟體 v1.11.3。如果您是第一次啟用串流管理員,我們強烈建議您先安裝最新版的AWS IoT Greengrass核心軟體。

1.11.1

錯誤修正與效能改進:

  • 修正導致串流管理員使用記憶體的問題。

  • 修正導致串流管理員將串流的序列號重設為的問題0如果 Greengrass 核心設備被關閉的時間超過指定 time-to-live (TTL) 串流資料的週期。

  • 修正串流管理員無法正確停止重試將資料匯出至AWS 雲端。

1.11.0

新功能:

  • Greengrass 核心上的遙測代理程式會收集本機遙測資料並將其發佈至AWS 雲端。若要擷取遙測資料以供進一步處理,客戶可以建立 Amazon EventBridge 規則並訂閱目標。如需詳細資訊,請參閱「」從中收集系統健康狀態遙測資料AWS IoT Greengrass核心裝置

  • 本機 HTTP API 會傳回啟動之本機背景工作處理序目前狀態的快照AWS IoT Greengrass。如需詳細資訊,請參閱「」呼叫本機健康狀態檢查 API

  • 一個串流管理員自動將資料匯出至 Amazon S3 和AWS IoT SiteWise。

    新的串流管理員參數可讓您更新現有串流,並暫停或繼續資料匯出。

  • Support 在核心上執行 Python 3.8.x Lambda 函數。

  • 全新ggDaemonPort中的屬性config.json用於配置 Greengrass 核心 IPC 端口號。預設連接埠號碼為 8000。

    全新systemComponentAuthTimeout中的屬性config.json您用來配置 Greengrass 核心 IPC 身份驗證的超時時間。預設逾時間為 5000 毫秒。

  • 增加的數量上限AWS IoT每個裝置數AWS IoT Greengrass集團從二百到二百五十。

    每群組訂閱數上限。

    如需詳細資訊,請參閱 AWS IoT Greengrass 端點和配額

錯誤修正與效能改進:

  • 可降低 Greengrass 服務程序記憶體使用率的一般最佳化。

  • 新的執行階段組態參數 (mountAllBlockDevices)讓 Greengrass 在設置覆蓋後使用綁定安裝將所有塊設備安裝到容器中。此功能解決了導致 Greengrass 部署失敗的問題/usr不在/階層

  • 修正導致的問題AWS IoT Greengrass核心失敗/tmp是符號連結。

  • 修正讓 Greengrass 部署代理程式移除未使用的機器學習模型成品的問題mlmodel_publicfolder。

  • 一般效能改進與錯誤修正。

安裝AWS IoT Greengrass核心裝置上的核心軟體,下載適用於您的架構和作業系統 (OS) 的套件,然後依照入門指南

提示

AWS IoT Greengrass 也提供安裝 AWS IoT Greengrass 核心軟體的其他選項。例如,您可以使用 Greengrass 裝置設定來設定環境,並安裝最新版本的 AWS IoT Greengrass 核心軟體。或者,在支援的 Debian 平台上,您可以使用 APT 套件管理器 來安裝或升級 AWS IoT Greengrass 核心軟體。如需詳細資訊,請參閱 安裝 AWS IoT Greengrass 核心軟體

架構

作業系統

連結

Armv8 (AArch64)

Linux

下載

Armv8 (AArch64)

Linux (OpenWrt)

下載

Armv7l

Linux

下載

Armv7l

Linux (OpenWrt)

下載

Armv6l

Linux

下載

x86_64

Linux

下載

Extended life versions
1.10.5

v1.10 中的新功能:

錯誤修正與效能改進:

  • Over-the-air 具備硬體安全性整合的 (OTA) 更新可透過 OpenSSL 1.1 進行設定。

  • 串流管理員對檔案資料損毀更有彈性。

  • 使用 Linux 核心 5.1 及更新版本,修正在裝置上造成 sysfs 掛載失敗的問題。

  • 全新mqttOperationTimeout中的屬性config.json用於設定 MQTT 連線中發佈、訂閱和取消訂閱操作的逾時AWS IoT Core。

  • 修正導致串流管理員使用記憶體的問題。

  • 全新systemComponentAuthTimeout中的屬性config.json您用來配置 Greengrass 核心 IPC 身份驗證的超時時間。預設逾時間為 5000 毫秒。

  • 修正導致 OTA 更新代理程式忽略 MQTT 的問題KeepAlive在指定的期間keepAlive中的屬性config.json

  • 修正導致 MQTT 訊息無法正常傳送的問題maxWorkItemCount將數值設定為大於1024

  • 修正導致 MQTT 訊息延遲傳遞至長期使用 Lambda 函數的問題。

  • 修正導致的問題AWS IoT Greengrass核心軟件在 Ubuntu 設備上快速運行,以在設備突然斷電後停止響應。

  • 一般效能改進與錯誤修正。

安裝AWS IoT Greengrass核心裝置上的核心軟體,下載適用於您的架構和作業系統 (OS) 的套件,然後依照入門指南

架構

作業系統

連結

Armv8 (AArch64)

Linux

下載

Armv8 (AArch64)

Linux (OpenWrt)

下載

Armv7l

Linux

下載

Armv7l

Linux (OpenWrt)

下載

Armv6l

Linux

下載

x86_64

Linux

下載

1.9.4

v1.9 中的新功能:

  • Support Python 3.7 和 Node.js 8.10 Lambda 執行時間。使用 Python 3.7 和 Node.js 8.10 執行階段的 Lambda 函數現在可以在AWS IoT Greengrass核心。 (AWS IoT Greengrass繼續支援 Python 2.7 和 Node.js 6.10 執行時間。

  • 最佳化的 MQTT 連線。Greengrass 核心建立更少與 AWS IoT Core 的連線。這個變更可對根據連線數目的費用降低操作成本。

  • 本機 MQTT 伺服器的 Elliptic Curve (EC) 金鑰。除了 RSA 金鑰之外,本機 MQTT 伺服器還支援 EC 金鑰。(無論金鑰類型為何,MQTT 伺服器憑證都有一個 SHA-256 RSA 簽章。) 如需詳細資訊,請參閱 AWS IoT Greengrass 核心安全性主體

  • 支援OpenWrt。AWS IoT Greengrass核心軟體 v1.9.2 或更新版本可以安裝在 OpenWrt 具有 ArMV8 (AArMV64) 和 ArMV7l 架構的發行套件。目前, OpenWrt 不支援 ML 推論。

  • 支援 Armv6l。AWS IoT Greengrass核心軟體 1.9.3 版或更新版本可安裝在 Armv6l 架構上的 Raspbian 發佈上 (例如,Raspberry Pi Zero 裝置)。

  • 帶有 ALPN 的連接埠 443 OTA 更新。使用連接埠 443 進行 MQTT 流量的 Greengrass 核心現在支援 over-the-air (OTA) 軟體更新。AWS IoT Greengrass使用應用程式層通訊協定網路 (ALPN) TLS 延伸以連線。如需詳細資訊,請參閱AWS IoT Greengrass 核心軟體的 OTA 更新連線至連接埠 443 或透過網路代理

安裝AWS IoT Greengrass核心裝置上的核心軟體,下載適用於您的架構和作業系統 (OS) 的套件,然後依照入門指南

架構

作業系統

連結

Armv8 (AArch64)

Linux

下載

Armv8 (AArch64)

Linux (OpenWrt)

下載

Armv7l

Linux

下載

Armv7l

Linux (OpenWrt)

下載

Armv6l

Linux

下載

x86_64

Linux

下載

1.8.4
  • 新功能:

    • 群組中 Lambda 函數的可設定預設存取身分。這項群組層級設定會決定用於執行 Lambda 函數的預設許可。您可以設定使用者 ID、群組 ID 或兩者。個別的 Lambda 函數可以覆寫其群組的預設存取身分。如需詳細資訊,請參閱 在群組中設定 Lambda da da da da da da 函數的預設存取身分

    • 透過連接埠 443 的 HTTPS 流量。HTTPS 通訊可設定為透過連接埠 443 傳送,而非預設的連接埠 8443。這補充AWS IoT Greengrass對應用程式層通訊協定網路 (ALPN) TLS 延伸,並允許所有 Greengrass 訊息傳輸(包括 MQTT 和 HTTP)。如需詳細資訊,請參閱 連線至連接埠 443 或透過網路代理

    • AWS IoT 連線的預期命名用戶端 ID。此變更可支援 AWS IoT Device Defender 和 AWS IoT 生命週期事件,因此您會收到連線、中斷連線、訂閱和取消訂閱事件的通知。可預測命名也能讓您更輕易建立關於連線 ID 的邏輯 (例如根據憑證屬性建立訂閱政策範本)。如需詳細資訊,請參閱 使用 AWS IoT 之 MQTT 連線的用戶端 ID

    錯誤修正與效能改進:

    • 已修正陰影同步和裝置憑證管理員重新連線的問題。

    • 一般效能改進與錯誤修正。

安裝AWS IoT Greengrass核心裝置上的核心軟體,下載適用於您的架構和作業系統 (OS) 的套件,然後依照入門指南

架構

作業系統

連結

Armv8 (AArch64)

Linux

下載

Armv7l

Linux

下載

x86_64

Linux

下載

下載此軟體,即表示您同意 Greengrass 核心軟體授權合約之規定。

如需有關在您的裝置上安裝 AWS IoT Greengrass 核心軟體的資訊,請參閱安裝 AWS IoT Greengrass 核心軟體

 

AWS IoT Greengrass Snap 軟體

AWS IoT Greengrass快照 1.11.x 可讓您執行有限版本的AWS IoT Greengrass在容器化環境中,透過方便的軟體套件,以及所有必要的相依性。

注意

所以此AWS IoT Greengrass鎖點可用於AWS IoT Greengrass核心軟體 v1.11.x。AWS IoT Greengrass不為 v1.10.x 提供快照。不支援的版本不會收到錯誤修正或更新。

所以此AWS IoT Greengrasssnap 不支援連接器和機器學習 (ML) 推論。

如需詳細資訊,請參閱 在 Snap 中執行 AWS IoT Greengrass

 

AWS IoT Greengrass Docker 軟體

AWS 提供 Dockerfile 和 Docker 映像檔,讓您更輕鬆執行 Docker 容器中的 AWS IoT Greengrass。

Dockerfile

Dockerfile 包含用於建立自訂 AWS IoT Greengrass 容器映像的原始程式碼。您可以修改映像,以在不同平台架構上執行或減少映像大小。如需指示,請參閱 README 檔案。

下載您的目標 AWS IoT Greengrass 核心軟體版本。

v1.11
Extended life versions

 

Docker 影像

Docker 映像已在 Amazon Linux 2 (x86_64) 及 Alpine Linux (x86_64、Armv7l 或 AArch64) 基本映像上安裝 AWS IoT Greengrass 核心軟體及相依性。您可以使用預先建立的映像來開始試驗 AWS IoT Greengrass。

重要

在二二二二零二年六月三十日,AWS IoT Greengrass結束維護AWS IoT Greengrass核心軟體 v1.x Docker 映像發佈至 Amazon Elastic Container Registry (Amazon ECR) 和碼頭集線器。您可以繼續從 Amazon ECR 和碼頭中心下載這些 Docker 映像檔,直到 2023 年 6 月 30 日為止,即維護結束後一年。但是,AWS IoT Greengrass核心軟體 v1.x Docker 映像檔在維護於 2022 年 6 月 30 日結束後,不再收到安全性修補程式或錯誤修正。如果您執行的生產工作負載取決於這些 Docker 映像檔,我們建議您使用 Docker 檔案建立自己的 Docker 映像檔,AWS IoT Greengrass提供。如需詳細資訊,請參閱 AWS IoT Greengrass Version 1維護政策

從下載預先建立的映像Docker hub或 Amazon Elastic Container Registry (Amazon ECR)。

  • 針對 Docker Hub,請使用標籤下載 Greengrass Docker 映像檔的特定版本。若要尋找所有可用的映像,請檢查 Docker Hub 上的 Tags (標籤) 頁面。

  • 對於亞馬遜 ECR,請使用latest標籤下載 Greengrass 碼頭圖像的最新可用版本。如需列出可用映像版本和從 Amazon ECR 下載映像的詳細資訊,請參閱在 Docker 容器中執行 AWS IoT Greengrass

警告

從第一版的第 1.11.6 版開始AWS IoT Greengrass核心軟件,Greengrass 碼頭圖像不再包含 Python 2.7,因為 Python 2.7 達到 end-of-life 在 2020 年,不再接收安全更新。如果您選擇更新為這些 Docker 映像檔,建議您在將更新部署到生產裝置之前,先驗證應用程式是否可以使用新的 Docker 映像檔。如果您的應用程序需要 Python 2.7 使用 Greengrass 碼頭圖像,則可以修改 Greengrass 碼頭文件以包含 Python 2.7 為您的應用程序。

AWS IoT Greengrass不提供碼頭圖像AWS IoT Greengrass核心軟體 v1.11.1。

注意

依預設,alpine-aarch64alpine-armv7l 映像只能在以 Arm 為基礎的主機上執行。若要在 x86 主機上執行這些映像,您可以安裝 QEMU 並在主機上安裝 QEMU 程式庫。例如:

docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

 

AWS IoT Greengrass Core SDK

Lambda 函數使用AWS IoT Greengrass核心 SDK 與互動AWS IoT Greengrass核心本地。這使得部署的 Lambda 函數能夠:

  • 與 AWS IoT Core 交換 MQTT 訊息。

  • 與連接器、用戶端裝置和 Greengrass 群組中的其他 Lambda 函數交換 MQTT 訊息。

  • 與本機陰影服務互動。

  • 叫用其他本機 Lambda 函數。

  • 存取私密資源

  • 串流管理員交動。

下載AWS IoT Greengrass適用於您的語言或平台的核心軟體開發套件 GitHub。

如需詳細資訊,請參閱 AWS IoT Greengrass 核心開發套件

 

支援的 Machine Learning 執行時間和程式庫

若要在 Greengrass 核心上執行推論,您必須為 ML 模型類型安裝機器學習執行階段或程式庫。

AWS IoT Greengrass 支援下列 ML 模型類型。請使用這些連結來尋找有關如何為您的模型類型和裝置平台安裝執行階段或程式庫的資訊。

機器學習範例

AWS IoT Greengrass 提供可與支援的 ML 執行階段和程式庫搭配使用的範例。這些範例是依據 Greengrass 核心軟體授權合約所發行的。

Deep learning runtime (DLR)

下載適用於您裝置平台的範例:

如需使用 DLR 範例的教學課程,請參閱 如何使用 AWS Management Console設定最佳化的機器學習推論

MXNet

下載適用於您裝置平台的範例:

如需使用 MXNet 範例的教學課程,請參閱 如何設定使用 AWS Management Console機器學習推論

TensorFlow

下載適用於您裝置平台的 Tensorflow 範例。此範例適用於 Raspberry Pi、NVIDIA Jetson TX2 與 Intel Atom。

 

AWS IoT Greengrass 機器學習軟體開發套件軟體

所以此AWS IoT GreengrassMachine Learning SDK可讓您撰寫的 Lambda 函數使用本機機器學習模型,並將資料傳送至ML 意見回饋用於上傳和發佈的連接器。

v1.1.0
v1.0.0

我們希望傾聽您的意見

我們誠摯歡迎您提供意見回饋。若要與我們聯絡,請造訪AWSRE: Post並使用AWS IoT Greengrass標籤