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,这样可以添加重要的新功能并支持其他平台。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
安装适用于 Python 的 AWS IoT Device SDK
客户端设备可以使用适用于 Python 的 AWS IoT Device SDK 来与 AWS IoT 和 AWS IoT Greengrass 核心设备通信(使用 Python 编程语言)。有关更多信息(包括要求),请参阅 GitHub 上的适用于 Python 的 AWS IoT Device SDK 自述文件。
在此步骤中,您将安装软件开发工具包并获取计算机上模拟客户端设备使用的 basicDiscovery.py
示例函数。
-
要将软件开发工具包与所有必需的组件一起安装到您的计算机上,请选择您的操作系统:
- Windows
-
-
打开提升的命令提示符并运行以下命令:
python --version
如果没有返回版本信息,或者 Python 2 的版本号小于 2.7 或 Python 3 的版本号小于 3.3,则按照下载 Python 中的说明安装 Python 2.7+ 或 Python 3.3+。有关更多信息,请参阅在 Windows 上使用 Python。
-
将适用于 Python 的 AWS IoT Device SDK下载为 zip
文件并将其解压缩到您计算机上的适当位置。
请记下其中包含 setup.py
文件的解压缩 aws-iot-device-sdk-python-master
文件夹的文件路径:在下一个步骤中,此文件路径将由 path-to-SDK-folder
指示。
-
从提升的命令提示符运行以下命令:
cd path-to-SDK-folder
python setup.py install
- macOS
-
-
打开终端窗口,并运行以下命令:
python --version
如果没有返回版本信息,或者 Python 2 的版本号小于 2.7 或 Python 3 的版本号小于 3.3,则按照下载 Python 中的说明安装 Python 2.7+ 或 Python 3.3+。有关更多信息,请参阅在 Macintosh 上使用 Python。
-
在终端窗口中,运行以下命令以确定 OpenSSL 版本:
python
>>>
import ssl
>>>
print ssl.OPENSSL_VERSION
记下 OpenSSL 版本值。
如果运行的是 Python 3,请使用 print(ssl.OPENSSL_VERSION)。
要关闭 Python shell,请运行以下命令:
>>>
exit()
如果 OpenSSL 版本为 1.0.1 或更高版本,请跳至步骤 c。否则,请按照以下步骤操作:
-
在终端窗口中,运行以下命令以确定计算机正在使用简单 Python 版本管理:
which pyenv
如果返回文件路径,则选择使用 pyenv
选项卡。如果未返回任何内容,则选择未使用 pyenv
选项卡。
Using pyenvNot using pyenv
- Using pyenv
-
请参阅用于 Mac OS X 的 Python 版本(或类似内容),以确定最新的稳定 Python 版本。在以下示例中,该值由 latest-Python-version
指示。
-
在终端窗口中,运行以下命令:
pyenv install latest-Python-version
pyenv global latest-Python-version
例如,如果 Python 2 的最新版本是 2.7.14,则这些命令为:
pyenv install 2.7.14
pyenv global 2.7.14
-
关闭并重新打开终端窗口,然后运行以下命令:
python
>>>
import ssl
>>>
print ssl.OPENSSL_VERSION
OpenSSL 版本应至少为 1.0.1。如果版本低于 1.0.1,则更新失败。检查 pyenv install 和 pyenv global 命令中使用的 Python 版本值,然后重试。
-
运行以下命令以退出 Python shell:
exit()
- Not using pyenv
-
从终端窗口中运行以下命令以确定 brew 是否已安装:
which brew
如果未返回文件路径,请安装 brew
,如下所示:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
按照安装提示进行操作。下载 Xcode 命令行工具可能需要一些时间。
-
运行以下命令:
brew update
brew install openssl
brew install python@2
适用于 Python 的 AWS IoT Device SDK 需要使用 Python 可执行文件编译的 OpenSSL 版本 1.0.1(或更高版本)。brew install python 命令会安装满足此要求的 python2
可执行文件。该 python2
可执行文件安装在 /usr/local/bin
目录中,该目录应作为 PATH
环境变量的一部分。要确认这一点,请运行以下命令:
python2 --version
如果提供了 python2
版本信息,请跳到下一步。否则,通过将以下行附加到您的 Shell 配置文件,永久地将 /usr/local/bin
路径添加到您的 PATH
环境变量:
export PATH="/usr/local/bin:$PATH"
例如,如果您使用的是 .bash_profile
或您还没有 Shell 配置文件,则从终端窗口中运行以下命令:
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile
接下来,对您的 Shell 配置文件执行 source 命令并确认 python2 --version
提供版本信息。例如,如果您正在使用 .bash_profile
,则运行以下命令:
source ~/.bash_profile
python2 --version
应返回 python2
版本信息。
-
将以下行附加到您的 Shell 配置文件:
alias python="python2"
例如,如果您使用的是 .bash_profile
或您还没有 Shell 配置文件,则运行以下命令:
echo 'alias python="python2"' >> ~/.bash_profile
-
接下来,对您的 Shell 配置文件执行 source 命令。例如,如果您正在使用 .bash_profile
,则运行以下命令:
source ~/.bash_profile
调用 python 命令将运行 Python 可执行文件 (python2
),其中包含所需的 OpenSSL 版本。
-
运行以下命令:
python
import ssl
print ssl.OPENSSL_VERSION
OpenSSL 版本应为 1.0.1 或更高版本。
-
要退出 Python shell,请运行以下命令:
exit()
-
运行以下命令,安装 适用于 Python 的 AWS IoT Device SDK:
cd ~
git clone https://github.com/aws/aws-iot-device-sdk-python.git
cd aws-iot-device-sdk-python
sudo python setup.py install
- UNIX-like system
-
-
从终端窗口中运行以下命令:
python --version
如果没有返回版本信息,或者 Python 2 的版本号小于 2.7 或 Python 3 的版本号小于 3.3,则按照下载 Python 中的说明安装 Python 2.7+ 或 Python 3.3+。有关更多信息,请参阅在 Unix 平台上使用 Python。
-
在终端中,运行以下命令以确定 OpenSSL 版本:
python
>>>
import ssl
>>>
print ssl.OPENSSL_VERSION
记下 OpenSSL 版本值。
如果运行的是 Python 3,请使用 print(ssl.OPENSSL_VERSION)。
要关闭 Python shell,请运行以下命令:
exit()
如果 OpenSSL 版本为 1.0.1 或更高版本,请跳至下一步。否则,运行命令以便为您的发行版更新 OpenSSL(例如,sudo
yum update openssl
、sudo apt-get
update
等)。
通过运行以下命令来确认 OpenSSL 版本为 1.0.1 或更高版本:
python
>>>
import ssl
>>>
print ssl.OPENSSL_VERSION
>>>
exit()
-
运行以下命令,安装 适用于 Python 的 AWS IoT Device SDK:
cd ~
git clone https://github.com/aws/aws-iot-device-sdk-python.git
cd aws-iot-device-sdk-python
sudo python setup.py install
-
安装 适用于 Python 的 AWS IoT Device SDK 后,请导航到 samples
文件夹并打开 greengrass
文件夹。
在本教程中,您将复制 basicDiscovery.py
示例函数,该函数会使用您在 在 AWS IoT Greengrass 组中创建客户端设备 中下载的证书和密钥。
-
将 basicDiscovery.py
复制到包含 HelloWorld_Publisher 和 HelloWorld_Subscriber 设备证书和密钥的文件夹。