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 globallatest-Python-version
例如,如果 Python 2 的最新版本是 2.7.14,则这些命令为:
pyenv install 2.7.14 pyenv global 2.7.14
-
关闭并重新打开终端窗口,然后运行以下命令:
python
>>>
import ssl>>>
print ssl.OPENSSL_VERSIONOpenSSL 版本应至少为 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
OpenSSL 版本应为 1.0.1 或更高版本。
-
要退出 Python shell,请运行以下命令:
-
-
-
运行以下命令,安装 适用于 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,请运行以下命令:
如果 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 设备证书和密钥的文件夹。