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,這會新增重要的新功能,並支援其他平台 。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Raspberry Pi
請依照本主題中的步驟將 Raspberry Pi 設定為AWS IoT Greengrass核心。
提示
AWS IoT Greengrass 也提供安裝 AWS IoT Greengrass 核心軟體的其他選項。例如,您可以使用 Greengrass 裝置設定來設定環境,並安裝最新版本的 AWS IoT Greengrass 核心軟體。或者,在支援的 Debian 平台上,您可以使用 APT 套件管理器 來安裝或升級 AWS IoT Greengrass 核心軟體。如需詳細資訊,請參閱 安裝 AWS IoT Greengrass 核心軟體。
如果您是第一次設定 Raspberry Pi,請您必須遵循這些步驟。否則,您可以跳到步驟 9。但是,我們建議您在步驟 2 使用作業系統重新映像您的 Raspberry Pi。
-
下載並安裝 SD 卡格式器,如SD 記憶卡格式化程式
。請將 SD 卡片插入電腦。啟動程式,選擇您插入 SD 卡片的磁碟。您可以執行 SD 卡片的快速格式化。 -
下載 Raspbian Buster
作業系統做為 zip
檔案。 -
使用 SD 卡撰寫工具 (如 Etcher
),請按照此工具指示快閃將下載的 zip
檔案傳到 SD 卡中。由於作業系統映像較大,此步驟需要時間才能完成。退出您的 SD 卡,將 microSD 卡插入 Raspberry Pi。 -
第一次啟動時,建議您將 Raspberry Pi 連接到監視器 (透過 HDMI)、鍵盤和滑鼠。接下來,將 Pi 連接到微型 USB 電源,而 Raspbian 作業系統應該會啟動。
-
建議您先設定 Pi 的鍵盤配置再繼續。若要執行此作業,請選擇右上角的 Raspberry 圖示,選擇 Preferences (喜好設定) 然後選擇 Mouse and Keyboard Settings (滑鼠與鍵盤設定)。接著,在 Keyboard (鍵盤) 標籤上,選擇 Keyboard Layout (鍵盤配置),然後選擇適當的鍵盤變化。
-
接著,使用 Wi-Fi 網路將 Raspberry Pi 連接到網際網路
,或使用乙太網路纜線。 注意
將您的 Raspberry Pi 連線到與您電腦連線相同的網路,並確認您的電腦和 Raspberry Pi 都具備網際網路存取再繼續。如果您位於工作環境內或防火牆內,您可能需要將 Pi 和您的電腦連線到訪客網路,才能讓兩者享有同樣的網際網路。但是這種方法可能會中斷您電腦與本機網路資源 (例如您的內部網路) 的連線。其中一個解決方案是將 Pi 連線到訪客 Wi-Fi 網路,並將您的電腦連線到訪客 Wi-Fi 網路和使用乙太網路纜線將其連線到您的本機網路。在此組態中,您的電腦應該能夠透過訪客 Wi-Fi 網路連線到 Raspberry Pi,並透過乙太網路纜線連線到本機網路資源。
-
您必須在您的 Pi 上設定 SSH
遠端連接。在您的 Raspberry Pi 上開啟終端機視窗 並執行以下命令: sudo raspi-config
請查看下列事項:
向下捲動並選擇 Interfacing Options (連接選項),然後選擇 P2 SSH。出現提示時,請選擇 Yes (是)。(使用 Tab 鍵加上 Enter)。SSH 現在應已啟用。選擇 OK (確定)。使用 Tab 鍵並選擇 Finish (完成),然後按 Enter。如果 Raspberry Pi 不會自動重新啟動,請執行下列命令:
sudo reboot
-
在您的 Raspberry Pi 上,從終端機執行以下命令:
hostname -I
這會傳回您的 Raspberry Pi 的 IP 地址。
注意
針對以下內容,若您收到 ECDSA 金鑰指紋訊息 (
Are you sure you want to continue connecting (yes/no)?
),請輸入yes
。Raspberry Pi 的預設密碼為raspberry
。如果您使用的是 macOS,請開啟終端機視窗並輸入以下資訊:
ssh pi@
IP-address
IP-address
是您透過使用hostname -I
命令取得的 Raspberry Pi IP 地址。如果您使用 Windows,您需要安裝和設定 PuTTY
。展開 Connection (連線),選擇 Data (資料),並確認已選取 Prompt (提示): 接著,選擇 Session (工作階段),輸入 Raspberry Pi 的 IP 地址,然後選擇 Open (開啟)。
若顯示 PuTTY 安全提醒,請選擇 Yes (是)。
Raspberry Pi 的預設登入和預設密碼為
pi
與raspberry
。注意
如果您的電腦使用 VPN 連線到遠端網路,您可能會在使用 SSH 從電腦連線到 Raspberry Pi 時遭遇困難。
-
您現在可以為 AWS IoT Greengrass 設定 Raspberry Pi。首先,從本機 Raspberry Pi 終端機視窗執行以下命令,或從 SSH 終端機視窗:
提示
AWS IoT Greengrass 也提供安裝 AWS IoT Greengrass 核心軟體的其他選項。例如,您可以使用 Greengrass 裝置設定來設定環境,並安裝最新版本的 AWS IoT Greengrass 核心軟體。或者,在支援的 Debian 平台上,您可以使用 APT 套件管理器 來安裝或升級 AWS IoT Greengrass 核心軟體。如需詳細資訊,請參閱 安裝 AWS IoT Greengrass 核心軟體。
sudo adduser --system ggc_user sudo addgroup --system ggc_group
-
為了改善 Pi 裝置的安全性,請在啟動時在作業系統上啟用 hardlink 和 softlink (symlink) 保護。
-
導覽至
98-rpi.conf
檔案。cd /etc/sysctl.d ls
注意
如果您未看見
98-rpi.conf
檔案,請依照README.sysctl
檔案中的指示進行。 -
使用文字編輯器 (例如 Leafpad、GNU nano 或 vi) 將以下兩行新增到檔案結尾。您可能需要使用
sudo
命令以根編輯 (例如,sudo nano 98-rpi.conf
)。fs.protected_hardlinks = 1 fs.protected_symlinks = 1
-
重新啟動 Pi。
sudo reboot
約一分鐘後,使用 SSH 連線至 Pi,然後執行以下命令來確認變更:
sudo sysctl -a 2> /dev/null | grep fs.protected
您應該會看到
fs.protected_hardlinks = 1
和fs.protected_symlinks = 1
。
-
-
編輯您的命令列開機檔案來啟用及掛載記憶體 cgroups。這可讓 AWS IoT Greengrass 設定適用於 Lambda 函數的記憶體限制。也需要執行 C 群組AWS IoT Greengrass預設的容器化模式。
-
導覽至您的
boot
目錄。cd /boot/
-
使用文字編輯器開啟
cmdline.txt
。將下列內容附加到現有的一行,不要另起新的一行。您可能需要使用sudo
命令以根編輯 (例如,sudo nano cmdline.txt
)。cgroup_enable=memory cgroup_memory=1
-
現在重新啟動 Pi。
sudo reboot
您的 Pi Raspberry 現在應已為 AWS IoT Greengrass 做好準備。
-
-
選用。安裝串流管理員需要的 Java 8 執行時間。本教學課程不會使用串流管理員,但是會使用預設啟用串流管理員的 Default Group creation (預設群組建立) 工作流程。部署群組之前,先使用下列命令在核心裝置上安裝 Java 8 執行時間,或停用串流管理員。單元 3 中提供了停用串流管理員的指示。
sudo apt install openjdk-8-jdk
-
若要確定您擁有所有必要的相依性,請從下載並執行 Greengrass 相依性檢查程式AWS IoT Greengrass範例
儲存庫 GitHub。這些命令會解壓縮並執行中的相依性檢查指令碼 Downloads
目錄。注意
如果您正在運行 Raspbian 內核的 5.4.51 版,則依賴關係檢查程序可能會失敗。此版本無法正確掛載記憶體 cgroup。這可能會導致在容器模式下執行的 Lambda 函數失敗。
如需更新核心的相關資訊,請參閱核心升級後未載入的群組
Raspberry Pi 論壇。 cd /home/pi/Downloads mkdir greengrass-dependency-checker-GGCv1.11.x cd greengrass-dependency-checker-GGCv1.11.x wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.11.x.zip unzip greengrass-dependency-checker-GGCv1.11.x.zip cd greengrass-dependency-checker-GGCv1.11.x sudo modprobe configs sudo ./check_ggc_dependencies | more
在
more
出現的位置,按 Spacebar 鍵來顯示另一個文字畫面。重要
本教學需要 Python 3.7 執行時間來執行本機 Lambda 函數。啟用串流管理員時,串流管理員需要 Java 8 執行時間。如果
check_ggc_dependencies
指令碼產生了與這些遺漏執行時間事前準備有關的警告,請確認在您繼續前已安裝了這些項目。您可以忽略與其他遺漏選用執行時間事前準備有關的警告。如需 modprobe 命令的資訊,請在終端機中執行 man modprobe。
您的 Raspberry Pi 組態已完成。繼續進行模組二:安裝AWS IoT Greengrass核心軟體。