安装适用于 Python 的 Amazon IoT Device SDK - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon IoT Greengrass Version 1 2023 年 6 月 30 日进入延长寿命阶段。有关更多信息,请参阅 Amazon IoT Greengrass V1 维护策略。在此日期之后,将 Amazon IoT Greengrass V1 不会发布提供功能、增强功能、错误修复或安全补丁的更新。在上面运行的设备 Amazon IoT Greengrass V1 不会中断,将继续运行并连接到云端。我们强烈建议您迁移到 Amazon IoT Greengrass Version 2,这样可以添加重要的新功能支持其他平台

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

安装适用于 Python 的 Amazon IoT Device SDK

客户端设备可以使用适用于 Python 的 Amazon IoT Device SDK 来与 Amazon IoT 和 Amazon IoT Greengrass 核心设备通信(使用 Python 编程语言)。有关更多信息(包括要求),请参阅 GitHub 上的适用于 Python 的 Amazon IoT Device SDK 自述文件

在此步骤中,您将安装软件开发工具包并获取计算机上模拟客户端设备使用的 basicDiscovery.py 示例函数。

  1. 要将软件开发工具包与所有必需的组件一起安装到您的计算机上,请选择您的操作系统:

    Windows
    1. 打开提升的命令提示符并运行以下命令:

      python --version

      如果没有返回版本信息,或者 Python 2 的版本号小于 2.7 或 Python 3 的版本号小于 3.3,则按照下载 Python 中的说明安装 Python 2.7+ 或 Python 3.3+。有关更多信息,请参阅在 Windows 上使用 Python

    2. 适用于 Python 的 Amazon IoT Device SDK下载为 zip 文件并将其解压缩到您计算机上的适当位置。

      请记下其中包含 setup.py 文件的解压缩 aws-iot-device-sdk-python-master 文件夹的文件路径:在下一个步骤中,此文件路径将由 path-to-SDK-folder 指示。

    3. 从提升的命令提示符运行以下命令:

      cd path-to-SDK-folder python setup.py install
    macOS
    1. 打开终端窗口,并运行以下命令:

      python --version

      如果没有返回版本信息,或者 Python 2 的版本号小于 2.7 或 Python 3 的版本号小于 3.3,则按照下载 Python 中的说明安装 Python 2.7+ 或 Python 3.3+。有关更多信息,请参阅在 Macintosh 上使用 Python

    2. 在终端窗口中,运行以下命令以确定 OpenSSL 版本:

      python >>>import ssl >>>print ssl.OPENSSL_VERSION

      记下 OpenSSL 版本值。

      注意

      如果运行的是 Python 3,请使用 print(ssl.OPENSSL_VERSION)

      要关闭 Python shell,请运行以下命令:

      >>>exit()

      如果 OpenSSL 版本为 1.0.1 或更高版本,请跳至步骤 c。否则,请按照以下步骤操作:

      1. 在终端窗口中,运行以下命令以确定计算机正在使用简单 Python 版本管理:

        which pyenv

      如果返回文件路径,则选择使用 pyenv 选项卡。如果未返回任何内容,则选择未使用 pyenv 选项卡。

      Using pyenvNot using pyenv
      Using pyenv
      1. 请参阅用于 Mac OS X 的 Python 版本(或类似内容),以确定最新的稳定 Python 版本。在以下示例中,该值由 latest-Python-version 指示。

      2. 在终端窗口中,运行以下命令:

        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
      3. 关闭并重新打开终端窗口,然后运行以下命令:

        python >>>import ssl >>>print ssl.OPENSSL_VERSION

        OpenSSL 版本应至少为 1.0.1。如果版本低于 1.0.1,则更新失败。检查 pyenv installpyenv global 命令中使用的 Python 版本值,然后重试。

      4. 运行以下命令以退出 Python shell:

        exit()
      Not using pyenv
      1. 从终端窗口中运行以下命令以确定 brew 是否已安装:

        which brew

        如果未返回文件路径,请安装 brew,如下所示:

        /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
        注意

        按照安装提示进行操作。下载 Xcode 命令行工具可能需要一些时间。

      2. 运行以下命令:

        brew update brew install openssl brew install python@2

        适用于 Python 的 Amazon 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 版本信息。

      3. 将以下行附加到您的 Shell 配置文件:

        alias python="python2"

        例如,如果您使用的是 .bash_profile 或您还没有 Shell 配置文件,则运行以下命令:

        echo 'alias python="python2"' >> ~/.bash_profile
      4. 接下来,对您的 Shell 配置文件执行 source 命令。例如,如果您正在使用 .bash_profile,则运行以下命令:

        source ~/.bash_profile

        调用 python 命令将运行 Python 可执行文件 (python2),其中包含所需的 OpenSSL 版本。

      5. 运行以下命令:

        python import ssl print ssl.OPENSSL_VERSION

        OpenSSL 版本应为 1.0.1 或更高版本。

      6. 要退出 Python shell,请运行以下命令:

        exit()
    3. 运行以下命令,安装 适用于 Python 的 Amazon 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
    1. 从您的 终端窗口中运行以下命令:

      python --version

      如果没有返回版本信息,或者 Python 2 的版本号小于 2.7 或 Python 3 的版本号小于 3.3,则按照下载 Python 中的说明安装 Python 2.7+ 或 Python 3.3+。有关更多信息,请参阅在 Unix 平台上使用 Python

    2. 在终端中,运行以下命令以确定 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 opensslsudo apt-get update 等)。

      通过运行以下命令来确认 OpenSSL 版本为 1.0.1 或更高版本:

      python >>>import ssl >>>print ssl.OPENSSL_VERSION >>>exit()
    3. 运行以下命令,安装 适用于 Python 的 Amazon 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
  2. 安装 适用于 Python 的 Amazon IoT Device SDK 后,请导航到 samples 文件夹并打开 greengrass 文件夹。

    在本教程中,您将复制 basicDiscovery.py 示例函数,该函数会使用您在 在 Amazon IoT Greengrass 组中创建客户端设备 中下载的证书和密钥。

  3. basicDiscovery.py 复制到包含 HelloWorld_Publisher 和 HelloWorld_Subscriber 设备证书和密钥的文件夹。