本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 2:設定環境
請依照本節中的步驟設定 Linux 或 Windows 裝置作為AWS IoT Greengrass核心裝置使用。
這些步驟假設您使用樹莓派與樹莓派作業系統. 如果您使用不同的裝置或作業系統,請參閱您裝置的相關文件。
若要設定樹莓派 AWS IoT Greengrass V2
-
在樹莓派上啟用 SSH 以遠程連接到它。如需詳細資訊,請參閱樹莓派文件中的 SSH (安全殼層)
。 -
找到您的樹莓派的 IP 地址連接到它與 SSH. 為此,您可以在 Raspberry Pi 上運行以下命令。
hostname -I
-
使用 SSH Connect 到您的樹莓派。
在您的開發電腦上,執行下列命令。
將使用者名稱取代為要登入的使用者名稱,並
pi-ip-address
以您在上一個步驟中找到的 IP 位址取代。ssh
username
@pi-ip-address
-
安裝 Java 執行階段,AWS IoT Greengrass核心軟體需要執行。在樹莓派上,使用以下命令安裝 Java 11。
sudo apt install default-jdk
安裝完成後,請執行下列命令以驗證 Java 是否在您的樹莓派上執行。
java -version
此指令會列印在裝置上執行的 Java 版本。輸出看起來可能類似於下列範例。
openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
提示:在樹莓派上設置內核參數
如果您的設備是 Raspberry Pi,則可以完成以下步驟來查看和更新其 Linux 內核參數:
-
開啟
/boot/cmdline.txt
檔案。此檔案指定樹莓派啟動時要套用的 Linux 核心參數。例如,在 Linux 系統上,您可以執行下列命令來使用 GNU nano 來開啟檔案。
sudo nano /boot/cmdline.txt
-
確認
/boot/cmdline.txt
檔案包含下列核心參數。此systemd.unified_cgroup_hierarchy=0
參數會指定使用 cgroup v1 而不是使用 cgroup v2。cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
如果
/boot/cmdline.txt
檔案不包含這些參數,或包含這些具有不同值的參數,請更新檔案以包含這些參數和值。 -
如果您更新了
/boot/cmdline.txt
文件,請重新啟動 Raspberry Pi 以應用更改。sudo reboot
若要設定下列項目的 Linux 設備 AWS IoT Greengrass V2
-
安裝 Java 執行階段,AWS IoT Greengrass核心軟體需要執行。我們建議您使用 Amazon Corretto
或 OpenJDK 長期支持版本。需要版本 8 或更高版本。以下命令向您展示如何在設備上安裝 OpenJDK。 -
針對 Debian 為基礎或 Ubuntu 為基礎的發行版本:
sudo apt install default-jdk
-
針對 Red Hat 為基礎的發行版本:
sudo yum install java-11-openjdk-devel
-
針對 Amazon Linux 2:
sudo amazon-linux-extras install java-openjdk11
-
對於 Amazon
sudo dnf install java-11-amazon-corretto -y
安裝完成時,請執行下列命令以確認 Java 是否在 Linux 裝置上執行。
java -version
此指令會列印在裝置上執行的 Java 版本。例如,在基於 Debian 的發行版上,輸出可能類似於以下示例。
openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-post-Debian-1deb10u2) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-post-Debian-1deb10u2, mixed mode)
-
-
(選擇性) 建立在裝置上執行元件的預設系統使用者和群組。您也可以選擇讓 AWS IoT Greengrass Core 軟體安裝程式在安裝期間使用安裝程式引數建立此使用者和群組。
--component-default-user
如需詳細資訊,請參閱 安裝器引數。sudo useradd --system --create-home ggc_user sudo groupadd --system ggc_group
-
確認執行 AWS IoT Greengrass Core 軟體的使用者 (通常
root
) 具有sudo
與任何使用者和任何群組一起執行的權限。-
執行下列命令以開啟
/etc/sudoers
檔案。sudo visudo
-
確認使用者的權限看起來像下列範例。
root ALL=(ALL:ALL) ALL
-
-
(選擇性) 若要執行容器化 Lambda 函數,您必須啟用 cgroup
v1,並且必須啟用並掛接記憶體和裝置 cgroup。如果您不打算執行容器化 Lambda 函數,則可以略過此步驟。 若要啟用這些 cgroups 選項,請使用下列 Linux 核心參數來啟動裝置。
cgroup_enable=memory cgroup_memory=1 systemd.unified_cgroup_hierarchy=0
如需有關檢視和設定裝置核心參數的資訊,請參閱作業系統和開機載入程式的說明文件。依照指示永久設定核心參數。
-
依照中的需求清單所指示,在您的裝置上安裝所有其他必要的相依性裝置要求。
若要設定下列項目的視窗裝置 AWS IoT Greengrass V2
-
安裝 Java 執行階段,AWS IoT Greengrass核心軟體需要執行。我們建議您使用 Amazon Corretto
或 OpenJDK 長期支持版本。需要版本 8 或更高版本。 -
檢查系統變數 PATH
上是否可用 Java,如果沒有,則加入它。此 LocalSystem 帳戶會執行AWS IoT Greengrass核心軟體,因此您必須將 Java 新增至系統變數 PATH,而非使用者的 PATH 使用者變數。請執行下列操作: -
按視窗鍵開啟開始功能表。
-
鍵入
environment variables
以從開始功能表搜尋系統選項。 -
在開始功能表搜尋結果中,選擇 [編輯系統環境變數] 以開啟 [系統屬性] 視窗。
-
選擇環境變數... 以開啟 [環境變數] 視窗。
-
在 [系統變數] 下,選取 [路徑],然後選擇 [編輯]。在 「編輯」環境變數視窗中,您可以在不同的行上檢視每個路徑。
-
檢查 Java 安裝
bin
資料夾的路徑是否存在。路徑看起來可能類似下列範例。C:\\Program Files\\Amazon Corretto\\jdk11.0.13_8\\bin
-
如果路徑中缺少 Java 安裝的
bin
資料夾,請選擇 [新增] 加入,然後選擇 [確定]。
-
-
以系統管理員身分開啟 Windows 命令提示字元 (
cmd.exe
)。 -
在 Windows 裝置上的 LocalSystem 帳戶中建立預設使用者。以安全
密碼
取代密碼。net user /add ggc_user
password
提示
視您的 Windows 組態而定,使用者的密碼可能會設定為在 future 的某個日期到期。為確保您的 Greengrass 應用程式繼續運作,請追蹤密碼何時到期,並在密碼到期之前進行更新。您也可以將使用者的密碼設定為永不過期。
-
若要檢查使用者及其密碼何時到期,請執行下列命令。
net user
ggc_user
| findstr /C:expires -
若要將使用者的密碼設定為永不過期,請執行下列命令。
wmic UserAccount where "Name='
ggc_user
'" set PasswordExpires=False -
如果您使用的是 Windows 10 或更新版本,而該
wmic
命令已被取代,請執行下列 PowerShell 命令。 Get-CimInstance -Query "SELECT * from Win32_UserAccount WHERE name = '
ggc_user
'" | Set-CimInstance -Property @{PasswordExpires="False"}
-
-
在設備上從 Microsoft 下載並安裝該PsExec實用程序
。 -
使用此 PsExec 公用程式將預設使用者的使用者名稱和密碼儲存在 LocalSystem 帳戶的認證管理員執行個體中。
以您先前設定的使用者密碼取代密碼。
psexec -s cmd /c cmdkey /generic:ggc_user /user:ggc_user /pass:
password
如果打PsExec License Agreement開,請選Accept擇同意許可證並運行命令。
注意
在 Windows 裝置上, LocalSystem 帳戶會執行 Greengrass 核心,而且您必須使用公用 PsExec 程式將預設使用者資訊儲存在帳戶中。 LocalSystem 使用認證管理員應用程式會將此資訊儲存在目前登入使用者的 Windows 帳戶中,而非 LocalSystem 帳戶中。