AWS IoT
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

使用适用于 JavaScript 的 AWS IoT 设备软件开发工具包

安装适用于 Node.js 的 AWS IoT 设备软件开发工具包最简单的方式是使用 npm。在本部分我们将介绍如何安装 Node 和 npm。

设置适用于 JavaScript 的 AWS IoT 设备软件开发工具包的运行时环境

要使用适用于 JavaScript 的 AWS IoT 设备开发工具包,请在 Raspberry Pi 上安装 Node 和 npm 开发工具。默认情况下,未安装这些软件包。

注意

在继续下一步之前,您可能希望为您的 Raspberry Pi 配置键盘映射。有关更多信息,请参阅 配置 Raspberry Pi 键盘映射

  1. 要添加 Node 存储库,请打开一个终端并运行以下命令:

    curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
  2. 要安装 Node,请运行

    sudo apt-get install nodejs
  3. 运行 npm -v 以确定是否安装了 npm。如果未返回任何版本信息,则按照以下说明安装 npm:

    sudo apt-get install npm

    您应该可以看到类似于如下所示的输出内容:

  4. 要验证 Node 和 npm 的安装情况,请运行以下命令:

    node -v

    npm -v

    您应该可以看到类似于如下所示的输出内容:

安装适用于 JavaScript 的 AWS IoT 设备软件开发工具包

要在您的 Raspberry Pi 中安装适用于 JavaScript/Node.js 的 AWS IoT 设备软件开发工具包,请打开控制台窗口,并从 ~/deviceSDK 目录中使用 npm 来安装软件开发工具包:

npm install aws-iot-device-sdk

在安装完成后,~/deviceSDK 目录下应该有一个 node_modules 目录。

准备运行示例应用程序

适用于 JavaScript 的 AWS IoT 设备软件开发工具包包括示例应用程序以供您试用。要运行它们,您必须配置证书和私有密钥。

编辑文件 ~/deviceSDK/node_modules/aws-iot-device-sdk/examples/lib/cmdline.js 可更改各示例中私有密钥 (privateKey)、证书 (clientCert) 和 CA 根证书 (caCert) 的默认名称。例如:

default: { region: 'us-east-1', clientId: clientIdDefault, privateKey: '4bbdc778b9-private.pem.key', clientCert: '4bbdc778b9-certificate.pem.crt', caCert: 'root-CA.crt, testMode: 1, reconnectPeriod: 3 * 1000, /* milliseconds */ delay: 4 * 1000 /* milliseconds */ };

运行示例应用程序

使用以下命令运行示例

node examples/<YourDesiredExample>.js -f <certs location> -H <PREFIX>.iot.<REGION>.amazonaws.com

假定您在 ~/deviceSDK/node_modules/aws-iot-device-sdk/ 目录中,则证书位置为 ~/deviceSDK/certs/。使用 Raspberry Pi 的 REST 终端节点作为 -H 参数的值。

要查看每个示例的所有可用命令行参数,请运行该程序并指定“h”参数:

node examples/<YourDesiredExample>.js -h

有关如何使用命令行选项指定证书位置和您自己的主机地址的更多信息,请参阅 GitHub 上的“适用于 JavaScript 的 AWS IoT 设备软件开发工具包”自述文件的证书部分。自述文件中的此部分后面的示例说明显示了每个示例所需的附加命令行参数。

如果您想创建与命令行选项 --configuration-file (-F) 配合使用的配置文件,请创建包含以下属性的文件 (JSON 格式)。例如:

{ "host": "a22j5sm6o3yzc5.iot.us-east-1.amazonaws.com", "port": 8883, "clientId": "MyRaspberryPi", "thingName": "MyRaspberryPi", "caCert": "root-CA.crt", "clientCert": "4bbdc778b9-certificate.pem.crt", "privateKey": "4bbdc778b9-private.pem.key" }

您的 Raspberry Pi 现已通过适用于 JavaScript 的 AWS IoT 设备软件开发工具包连接到 AWS IoT。