AWS IoT Greengrass 入门-模块1:树莓派+Greengrass环境配置
要求
Mac、Windows PC 或类似 UNIX 的系统。
一个带 8 GB 以上的microSD 卡的 Raspberry Pi 4 Model B 或 Raspberry Pi 3 Model B/B+
显示器,鼠标,键盘。
配置树莓派
- 插入 SD 卡的驱动器。对 SD 卡执行快速格式化。
- 下载
zip
文件格式的 Raspbian Buster 操作系统。 - 下载安装操作系统写入程序 (例如 Etcher)
-
写入
Raspbian Buster
操作系统到SD
卡。-
打开(Etcher),选择下载好的操作系统镜像:
-
选择要写入的设备:
-
点击
Flash!
开始写入。等待写入完成。期间若弹出“请插入u盘”等情况可忽略。 -
完成后,关闭软件即可。
-
-
将读卡器插入树莓派,通过(HDMI)将树莓派连接到显示器,并连接鼠标键盘,供电启动。根据提示完成基本设置即可。设置完成后重启。
其中(Wi-Fi)选项,建议将笔记本连接网络后,笔记本开启个人热点,然后将树莓派连接到笔记本开启的网络热点上。好处是无论连接什么网络,树莓派连接的网络的(ip)地址不会变更。
-
重启后打开终端窗口输入以下命令:
sudo raspi-config
打开树莓派配置工具,将看到以下内容:
选择(5 Interfacing Options),然后选择(P2 SSH)。系统提示时,选择(Yes)。(SSH)现在已经启用。选择(OK)。然后使用(Tab)键选择(Finish),然后按(Enter)。如果(Raspberry Pi)未自动重启,运行以下命令:
sudo reboot
-
重启后,打开终端,运行以下命令显示树莓派(ip)地址:
hostname -I
如果是(Windows)系统,则需要下载MobaXterm,用于连接树莓派。安装完成后,打开(MobaXterm),选择左上角的(Session),然后选择左上角的(SSH),看到如下界面:
在(Remote host)中填入树莓派的(ip)地址,点击(OK)。会进入终端界面:
默认的树莓派登录名和密码分别为(pi)和(raspberry),但是在第(5)步时,自己应该设置了密码,输入自己设置的密码即可。后面不出意外,就可以不用显示器等外设了。
-
现在,已准备好为(AWS IoT Greengrass)设置树莓派。首先在(SSH)终端窗口运行以下命令,来增加一个用户/组。
sudo adduser --system ggc_user sudo addgroup --system ggc_group sudo usermod -a -G ggc_group ggc_user
-
为了提高设备的安全性,在启动时需要在操作系统上启动硬链接和软连接保护。
a. 导航到
98-rpi.conf
文件。cd /etc/sysctl.d ls
如果没有看到
98-rpi.conf
文件,请安装README.sysctl
文件中的说明操作。b. 使用文本编辑器,将以下两行添加到文件的末尾。
sudo vi 98-rpi.conf //打开文件命令
fs.protected_hardlinks = 1 fs.protected_symlinks = 1
c. 重启树莓派。
sudo reboot
约一分钟后,使用(SSH)连接到树莓派,然后运行以下命令来确认更改:
sudo sysctl -a 2> /dev/null | grep fs.protected
然后会看到如下:
-
编辑命令行启动文件,以启动并装载内存控制组。这将允许(AWS IoT Greengrass)设置(Lambda)函数内存的限制。在默认的容器化模式下运行(AWS IoT Greengrass)时也需要(Cgroup)。
a. 导航到(boot)目录。
cd /boot
b. 用文本编辑器打开
cmdline.txt
。将以下内容附加到现有行的末尾,注意不是作为新行。cgroup_enable=memory cgroup_memory=1
c. 现在重启树莓派。
sudo reboot
-
要确保您具有所有必需的依赖项,请从(GitHub)上的 AWS IoT Greengrass 示例存储库下载并运行 (Greengrass)依赖项检查程序。 这些命令将在
Downloads
目录中解压和运行依赖项检查程序脚本。cd /home/pi/Downloads mkdir greengrass-dependency-checker-GGCv1.9.x cd greengrass-dependency-checker-GGCv1.9.x wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.9.x.zip unzip greengrass-dependency-checker-GGCv1.9.x.zip cd greengrass-dependency-checker-GGCv1.9.x sudo modprobe configs sudo ./check_ggc_dependencies | more
重要
使用此教程需要拥有 (Python 2.7)。
check_ggc_dependencies
脚本可能生成有关缺失的可选 (Node.js) 和 (Java) 先决条件的警告。可以忽略这些警告。
到此,树莓派基本配置完成。