通过 Amazon Location Service 使用 AWS IoT 和 MQTT 进行跟踪
MQTT
AWS IoT Core
注意
设备可能知道自己的位置,例如通过内置 GPS。AWS IoT 还支持第三方设备位置跟踪。想要了解更多信息,请参阅 AWS IoT Core 开发人员指南中的 AWS IoT Core Device Location。
以下演练介绍了使用 AWS IoT Core 规则进行跟踪。如果您需要在将设备信息发送到 Amazon Location 之前对其进行处理,也可以将设备信息发送到您自己的 AWS Lambda 函数。有关使用 Lambda 处理您的设备位置的更多详细信息,请参阅 教程:将 AWS Lambda 与 MQTT 配合使用。
先决条件
在您开始跟踪之前,您必须完成以下前提条件:
创建 AWS IoT Core 规则
接下来,创建一条 AWS IoT Core 规则,将设备的位置遥测数据转发给 Amazon Location Service。有关创建规则的更多信息,请参阅 AWS IoT Core 开发人员指南中的以下主题:
-
为有关创建新规则的信息创建 AWS IoT 规则。
-
位置操作,用于特定于创建发布到 Amazon Location 的规则的信息
教程:在控制台中测试 AWS IoT Core 规则
如果当前没有设备发布包含位置的遥测数据,则可以使用 AWS IoT Core 控制台测试规则。控制台有一个测试客户端,您可以在其中发布一条示例消息来验证解决方案的结果。
-
通过以下网址登录到 AWS IoT Core 控制台:https://console.aws.amazon.com/iot/
。 -
在左侧导航窗格中,展开测试,然后选择 MQTT 测试客户端。
-
在发布到主题下,将主题名称设置为
iot/topic
(或设置为您在 AWS IoT Core 规则中设置的主题名称,如果不同的话),然后为消息负载提供以下内容。{ "payload": { "deviceid": "thing123", "timestamp":
1604940328
, "location": { "lat": 49.2819, "long": -123.1187 }, "accuracy": { "Horizontal": 20.5 }, "positionProperties": { "field1": "value1", "field2": "value2" } } } -
选择发布到主题来发送测试消息。
-
要验证 Amazon Location Service 是否已收到该消息,请使用以下 AWS CLI 命令。如果您在设置过程中对其进行了修改,请将跟踪器名称替换为您使用的名称。
aws location batch-get-device-position --tracker-name
MyTracker
--device-ids thing123