3668| 1
|
[intel程序猿笔记] 在英特尔® EDISON 开发板上设置 AWS 物联网设备 SDK |
本教程可向您介绍安装 AWS IoT SDK 的流程以及如何执行基本的 MQTT 调用。 在开始连接英特尔® Edison 开发板之前,您需要确保安装了最新的操作系统映像。 如要做到这一点,请参照您的主机选择适当的入门说明进行操作: Windows、Mac 或 Linux。 按照标准英特尔® Edison 设置说明操作后,您需要从您的机器上建立一个串行连接到您的设备。 向英特尔® Edison 开发板建立串行连接(命令行)后,接下来您可以按照以下说明安装 AWS 物联网软件开发套件。
安装 AWS CLI: AWS CLI 是从开发板上管理 AWS 服务的方式。 您首先需要它来下载 SDK。 首先,您需要安装 pip (Python 包管理器): curl https://bootstrap.pypa.io/ez_setup.py -o - | python easy_install pip 接下来,使用 pip 安装 AWS CLI: pip install awscli 注: 如要查看帮助文件 ("aws iot help"),您需要安装 Groff 和非 BusyBox 版本 less。 对于 Groff: ./configure make make install export PATH=$PATH:/usr/local/bin/ cd ~ 对于 Less: 先重命名旧版 less mv /usr/bin/less /usr/bin/less-OLD 然后安装新版 less wget http://www.greenwoodsoftware.com/less/less-458.zip unzip less-458.zip cd less-458.zip chmod 777 /* ./configure make make install cd ~ 如要确保所有配置正确安装,请运行物联网帮助文件: aws iot help 此时,您需要安装 AWS CLI。 按照以下链接中的说明操作,从 AWS 控制台中创建新用户并获取证书:http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html#cli-signup。 获取访问 ID 和密钥后,您可以使用以下命令配置 AWS 并输入 ID 和密钥: aws configure 注:对于默认区域,您必须输入 us-east-1 才能够配置 AWS IoT。 默认格式可能保留为 json。 如要获取下载 AWS IoT 工具的权限,您需要将管理员账户策略与创建的用户相关联。 如要执行该操纵,请访问 IAM 控制台中的用户面板,选择您创建的用户,连接策略并选择管理员账户。 生成证书: 先创建一个文件夹来存储证书: mkdir aws_certs cd aws_certs 生成一个带 open ssl 的私有密钥: openssl genrsa -out privateKey.pem 2048 openssl req -new -key privateKey.pem -out cert.csr 使用您的信息填写字段。 运行以下命令,激活证书: aws iot --endpoint-url https://i.us-east-1.pb.iot.amazonaws.com create-certificate --certificate-signing-request file://cert.csr --set-as-active > certOutput.txt 运行以下命令,将证书保存到 cert.pem 文件中: aws iot --endpoint-url https://i.us-east-1.pb.iot.amazonaws.com describe-certificate --certificate-id <certificate ID> --output text --query certificateDescription.certificatePem > cert.pem 注: 使用 certOutput.txt 的 "certificateId" 字段中存储的 ID 替换 <certificate ID>。 如要查看文件,请输入:more certOutput.txt 面向 AWS IoT SDK 创建一个 Json 策略文档: 创建以下文本 (ctrl-c): { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action":["iot:*"], "Resource": ["*"] }] } 输入 vi policy.doc,点击 a ,右击并粘贴文本 点击 escape 并输入 in :wq,进行保存并退出 首先输入: aws iot --endpoint-url https://i.us-east-1.pb.iot.amazonaws.com create-policy --policy-name PubSubToAnyTopic --policy-document file://policy.doc 然后使用以下命令将策略与证书绑定: aws iot --endpoint-url https://i.us-east-1.pb.iot.amazonaws.com attach-principal-policy --principal-arn <principal arn> --policy-name "PubSubToAnyTopic" 注:使用 outputCert.txt 文件 "certifcateArn" 中存储的值替换 <principal arn>。 使用 MQTT 订阅并发布至 AWS 证书已经就绪,现在我们可以使用 MQTT 订阅并发布至云。 首先,获取根 CA pem 文件: curl https://www.symantec.com/cerisig ... on-Authority-G5.pem > rootCA.pem 使用 moquitto 客户端订阅一个主题: mosquitto_sub --cafile rootCA.pem --cert certs\cert.pem -- key privateKey.pem -h g.us-east-1.pb.iot.amazonaws.com -p 8883 -q 1 -d -t <topic> -i <client_id> 注:使用您想要订阅的主题以及想要使用的 ID 替换 <topic> 和 <client_id>。 使用 mosquitto 发布主题: mosquitto_pub --cafile crootCA.pem --cert certs\cert.pem -- key privateKey.pem -h g.us-east-1.pb.iot.amazonaws.com -p 8883 -q 1 -d -t <topic> -i <client_id> -m <"message"> 注: 使用您想要发布的主题、客户端 ID 和消息替换 <topic>、<client_id> 和 <"message">,message (消息)必须用引号引出。 如欲获取介绍如何在英特尔 Edison 开发板上使用 AWS IoT SDK 内的各种特性的教程,请参阅https://github.com/intel-iot-devkit/aws-iot-intel |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed