调度向多播组中的设备发送下行链路消息
成功将设备添加到多播组后,您可以启动多播会话并配置要发送到这些设备的下行链路消息。必须在 48 小时之内调度下行链路消息,组播的开始时间必须至少比当前时间晚 30 分钟。
注意
多播组中的设备无法确认收到下行链路消息的时间。
先决条件
在发送下行链路消息之前,您必须已创建多播组并成功将设备添加到要发送下行链路消息的组中。在为多播会话调度了开始时间后,您无法添加更多的设备。有关更多信息,请参阅创建多播组并将设备添加到组。
如果没有成功添加任何设备,多播组和设备状态将包含帮助您纠正错误的信息。如果错误仍然存在,有关纠正这些错误的信息,请参阅 监控多播组和组中设备的状态并对进行故障排除。
使用控制台调度下行链路消息
要使用控制台发送下行链路消息,请转至 AWS IoT 控制台的多播组
-
调度下行链路消息窗口
您可以设置一个时间窗口,以便向多播组中的设备发送下行链路消息。必须在 48 小时内调度下行链路消息。
要调度多播会话,请指定以下参数:
-
Start date(开始日期)和 Start time(开始时间):开始日期和时间必须至少为当前时间之后的 30 分钟和当前时间之前的 48 小时。
注意
您指定的时间是 UTC,因此在调度下行链路窗口时,请考虑检查与时区的时差。
-
会话超时:如果没有收到下行链路消息,您希望多播会话超时之后的时间。最短超时时间为 60 秒。B 类多播组的最长超时时间为 2 天,C 类多播组的最长超时时间为 18 小时。
-
-
配置下行链路消息
要配置下行链路消息,请指定以下参数:
-
数据速率:为下行链路消息选择数据速率。数据速率取决于 RFRegion 和有效载荷大小。US915 区域的默认数据速率为 8,EU868 区域的默认数据速率为 0。
-
频率:选择发送下行链路消息的频率。为避免消息冲突,请根据 RFRegion 选择可用频率。
-
FPort:选择可用的频率端口将下行链路消息发送到设备。
-
有效负载:根据数据速率指定的最大有效负载。使用默认数据速率,您可以在 US915 RFRegion 中拥有 33 个字节的最大有效负,在 EU868 RFRegion 中为 51 个字节。使用较大的数据速率,您可以传输最多 242 字节的有效负载。
要调度下行链路消息,请选择 Schedule(调度)。
-
使用 API 调度下行链路消息
要使用 API 调度下行链路消息,请使用 StartMulticastGroupSession
API 操作或 start-multicast-group-session
CLI 命令。
您可以使用以下 API 操作或 CLI 命令获取有关多播组的信息并删除多播组。
要在会话启动后向多播组发送数据,请使用SendDataToMulticastGroup
API 操作或 send-data-to-multicast-group
CLI 命令。
后续步骤
将下行链路消息配置为发送到设备后,该消息将在会话开始时发送。多播组中的设备无法确认是否已收到消息。
配置其他下行链路消息
您还可以配置其他下行链路消息发送到多播组中的设备:
-
要从控制台配置其他下行链路消息:
-
转至 AWS IoT 控制台的 Multicast groups
(多播组)的页面,然后选择您创建的多播组。 -
在多播组详细信息页面中,选择 Schedule downlink message(调度下行链路消息)然后选择 Configure additional downlink message(配置额外的下行链路消息)。
-
指定 Data rate(数据速率)、Frequency(频率)、FPort 和 Payload(有效负载)等参数,类似于为第一条下行链路消息配置这些参数的方式。
-
-
要使用 API 或 CLI 配置其他下行链路消息,请调用
SendDataToMulticastGroup
API 操作或send-data-to-multicast-group
每条附加下行链路消息的 CLI 命令。
更新会话调度
您还可以更新会话调度,为多播会话使用新的开始日期和时间。新的会话调度将覆盖之前调度的会话。
注意
仅在需要时更新您的多播会话。这些更新可能会导致一组设备长时间唤醒并耗尽电池。
-
要从控制台更新会话调度:
-
转至 AWS IoT 控制台的 Multicast groups
(多播组)的页面,然后选择您创建的多播组。 -
在多播组详细信息页面中,选择 Schedule downlink message(安排下行链路消息)然后选择Update session schedule(更新会话调度)。
-
指定状态日期、开始时间和会话超时等参数,类似于您为第一条下行链路消息指定这些参数的方式。
-
-
要在 API 或 CLI 更新会话调度,请使用
StartMulticastGroupSession
API 操作或start-multicast-group-session
CLI 命令。