本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
本节中的过程配置 AWS IoTDevice Client 发布来自 Raspberry Pi 的 MQTT 消息。
创建配置文件
此过程创建配置文件来测试 AWS IoTDevice Client。
要创建配置文件测试 AWS IoTDevice Client
-
在连接到 Raspberry Pi 的本地主机的终端窗口中:
-
输入这些命令为配置文件创建目录并设置对该目录的权限:
mkdir ~/dc-configs chmod 745 ~/dc-configs
打开文本编辑器,例如
nano
。-
复制此 JSON 文档并将其粘贴到打开的文本编辑器中。
{ "endpoint": "
a3qEXAMPLEaffp-ats.iot.us-west-2.amazonaws.com
", "cert": "~/certs/testconn/device.pem.crt", "key": "~/certs/testconn/private.pem.key", "root-ca": "~/certs/AmazonRootCA1.pem", "thing-name": "DevCliTestThing", "logging": { "enable-sdk-logging": true, "level": "DEBUG", "type": "STDOUT", "file": "" }, "jobs": { "enabled": false, "handler-directory": "" }, "tunneling": { "enabled": false }, "device-defender": { "enabled": false, "interval": 300 }, "fleet-provisioning": { "enabled": false, "template-name": "", "template-parameters": "", "csr-file": "", "device-key": "" }, "samples": { "pub-sub": { "enabled": true, "publish-topic": "test/dc/pubtopic", "publish-file": "", "subscribe-topic": "test/dc/subtopic", "subscribe-file": "" } }, "config-shadow": { "enabled": false }, "sample-shadow": { "enabled": false, "shadow-name": "", "shadow-input-file": "", "shadow-output-file": "" } } -
将
端点
替换为您在 在 AWS IoT Core中配置您的设备中找到的 AWS 账户设备数据端点。 -
将文本编辑器中的文件保存为
~/dc-configs/dc-testconn-config.json
。 -
运行这个命令在新文件上设置权限
chmod 644 ~/dc-configs/dc-testconn-config.json
-
保存文件后,您已准备就绪继续 打开 MQTT 测试客户端。
打开 MQTT 测试客户端
此过程准备控制台 AWS IoT中的 MQTT测试客户端订阅 AWS IoTDevice Client 运行时发布的 MQTT 消息。
准备 MQTT 测试客户端订阅所有 MQTT 消息
在本地主机上,在AWS IoT控制台
,选择MQTT 测试客户端。 在 Subscribe to a topic(订阅主题)选项卡的 Topic filter(主题筛选条件)中输入
#
(井号),然后选择 Subscribe(订阅)来订阅每个 MQTT 主题。-
在订阅标签下,确认您看见
#
(单独英镑符号)。
让窗口的 MQTT 测试客户端 保持打开,继续 运行 AWS IoTDevice Client。
运行 AWS IoTDevice Client
此过程运行AWS IoT Device Client,这样发布一条 MQTT 消息接收和显示 MQTT 测试客户端。
要从 AWS IoTDevice Client 发送 MQTT 消息
-
在执行此步骤时,确保连接到 Raspberry Pi 的终端窗口和带 MQTT 测试客户端可见。
-
在终端窗口中,输入这些命令以使用在 创建配置文件中创建的配置文件运行 AWS IoTDevice Client。
cd ~/aws-iot-device-client/build ./aws-iot-device-client --config-file ~/dc-configs/dc-testconn-config.json
在终端窗口中,AWS IoT Device Client 显示信息消息以及运行时发生的任何错误。
如果终端窗口中没有显示错误,请查看 MQTT 测试客户端。
-
在 MQTT test client(MQTT 测试客户端)的 Subscriptions(订阅)窗口中,参阅发送到
test/dc/pubtopic
消息主题的 Hello World! 消息。 -
如果AWS IoT Device Client 没有显示错误,您会看到 Hello World!发送到MQTT 测试客户端中的
test/dc/pubtopic
消息,您已经证明了成功的连接。 -
在终端窗口中,输入
^C
(Ctrl-C) 可停止 AWS IoTDevice Client。
在您证明了AWS IoT Device Client 在Raspberry Pi 上正常运行之后,可以与 AWS IoT通信,您可以继续 教程:演示 MQTT 消息与AWS IoT Device Client 通信。