执行方法
Execute Method(执行方法)动作可将 method.exec TR50 命令发送至物联网设备管理门户,从而在指定物中执行方法。目标物可以是网关或应用程序。
- 当目标物为网关时,在网关中执行的方法将与触发器关联。
- 当目标物是网关以外的其他内容时,例如应用程序,执行方法由该应用程序控制。
使用管理门户定义的物方法将定义方法名称、键值、输入变量和输出变量。
对于网关情形,将要执行的触发器可定义为 TR50 Method(TR50 方法)事件类型。要创建 TR50 方法触发器,请参见 TR50 方法。
物联网设备管理门户提供执行方法动作与 TR50 方法事件触发器之间的通信支持。两个网关都必须具有已启动的 TR50 连接。
在应用案例中,物联网设备管理门户提供执行方法动作与应用之间的通信支持。网关和应用程序都必须具有已启动的 TR50 连接。
物方法可以有选择地定义以下内容:
- 输入变量,将从执行方法动作中传递
- 提供的返回至执行方法动作的响应
- 输出变量,将在指定响应时传回执行方法动作。
参数描述
参数 | 描述 |
---|---|
TR50 Connection(TR50 连接) | 用于发送此执行方法命令的 TR50 连接。 (可选)如果未指定,使用默认 TR50 连接。 |
Thing Definition ID (物模型 ID) |
物模型 ID,定义见于物联网设备管理门户。工作台根据 TR50 Connection(TR50 连接)参数,从物联网设备管理门户检索物模型。 |
Thing Definition Method(物模型方法) | 物模型方法,定义见于物联网设备管理门户。从 Thing Definition ID(物模型 ID)参数指定的物模型中检索相应的方法。 |
Wait for Response(等待响应) | 等待来自物方法(来自目标物)的响应的指示。选项包括 True 和 False。
有关 Wait for Response(等待响应),Timeout (secs)(超时(秒))和 TTL (secs)(TTL(秒))参数的更多信息,请参见执行方法动作和 TR50 S&F 注意事项部分。 |
Timeout (secs)(超时(秒)) | 当 Wait for Response(等待响应)选项为 true 时,此值用于指定等待物方法从目标物获得响应的时间(以秒为单位)。 |
TTL (secs)(TTL(秒)) | Time To Live(生存时间,TTL)- 执行方法命令保留在物联网设备管理门户中的时间,等待目标物对其进行检索。如果 TTL 在检索执行方法命令之前过期,执行方法命令将丢弃,并且不会传送至目标物。 |
S&F Profile(S&F 配置文件) | 当 Wait for Response(等待响应)参数为 False 时可用。 S&F 配置文件,其使用情况是无法将动作中的数据发送至物联网设备管理门户。 如果选择默认的“None”(无),可选 TR50 S&F 功能将不用于此动作。 如果此动作的数据存储在 S&F 队列中,动作的存储和转发路径将用于确定要执行的下一个动作。 有关更多信息,请参见 TR50 S&F 配置文件管理选项卡。 |
输入选项卡
输入 | 描述 |
---|---|
Input variables(输入变量) | 输入变量参数将可用于每个方法通知变量。 |
ThingKey(物键值) | 要执行方法的物的物键值。 对于网关情形,将要执行的触发器可定义为 TR50 Method(TR50 方法)事件类型。 |
输出选项卡
输出 | 描述 |
---|---|
Output variables(输出变量) | 输出变量参数将可用于每个方法完成变量。 |
物方法、TR50 方法触发器和执行方法动作定义注意事项
定义执行方法动作时,工作台通过从物联网设备管理门户检索信息来获取关于物方法的信息,特别是从定义要使用 TR50 连接的帐户。
常见的触发器开发模式如下:
- 在将要用于 TR50 连接的相应帐户中使用管理门户定义物方法。定义 TR50 方法触发器和调用执行方法动作时,工作台将为您访问此集中信息。物方法的定义包括:
- 方法的名称
- 输入变量(将由执行方法动作提供)
True 或 False 发送响应选项
输出变量(当发送响应为 True 时,从 TR50 方法触发器返回到执行方法动作)。
有关更多信息,请参见定义方法。
- 在将要执行的网关上定义 TR50 方法触发器。定义 TR50 方法触发器时,将通过引用以下内容从物联网设备管理门户检索信息:
- Thing Definition ID(物模型 ID)
- Thing Definition Method(物模型方法)。
- 保存 TR50 方法触发器。
有关更多信息,请参见 TR50 方法。 - 在需要执行 TR50 方法触发器的网关上,定义触发器并添加执行方法动作。
定义执行方法动作时,将从物联网设备管理门户检索用于网关上(物)所有当前定义的物方法(位于相同物联网设备管理门户帐户)的信息。 - 选择所需的物方法,并完成任何输入和输出变量的分配。
- 保存触发器,其中将包括从 M2M 服务检索到的所有物方法信息。
- 出于任何原因再次编辑触发器时,物联网设备管理门户将查询当前物方法信息。
- 如果物方法发生更改(例如:不同输入变量、发送响应选项从 False 变为 True、更改为输出变量),将需要编辑和更新在执行方法动作中使用物方法的所有其他触发器。
执行方法动作和 TR50 S&F 注意事项
由于 Execute Method(执行方法)动作可将 method.exec TR50 命令发送至物联网设备管理门户,从而执行指定的物中的方法,此命令随后会由目标物(网关或应用程序)进行检索,执行方法动作的端到端行为则取决于目标物和选定的动作参数。
Wait for Response(等待响应)
- 当 Wait for Response(等待响应)选项为 True 时,Timeout (secs)(超时(秒))值用于指定等待物方法从目标物获得响应的时间(以秒为单位)。
- 如果目标物未能及时检索、执行和响应 method.exec TR50 命令,执行方法动作可能会超时。
这不会导致 method.exec TR50 命令以任何方式丢弃或失效。 - 如果执行方法动作超时,TR50 命令仍可由目标物检索、执行和响应,但执行方法动作将不可用于任何响应和输出参数。
- 如果目标物未能及时检索、执行和响应 method.exec TR50 命令,执行方法动作可能会超时。
- 当 Wait for Response(等待响应)选项为 False 时,执行方法动作会在将相应的 method.execute TR50 命令提供给网关上的 TR50 组件时完成。
- TR50 命令仍可由目标物检索、执行和响应,但执行方法动作将不可用于任何响应和输出参数。
TTL (secs)(TTL(秒))
- TTL (secs)(TTL(秒))值(TTL = 生存时间)是 method.exec TR50 命令在物联网设备管理门户中保留的时间,等待目标物检索的时间。如果 TTL 在检索执行方法命令之前过期,执行方法命令将丢弃,并且不会传送至目标物。
TR50 S&F 注意事项
- 执行方法动作必须将 Wait for Response(等待响应)参数设置为 False,才能显示 S&F Profile(S&F 配置文件)参数和选择的配置文件。
- 这意味着执行方法动作会在将相应的 method.execute TR50 命令提供给网关上的 TR50 组件时完成。
- 执行方法动作的结果和采用的路径:成功、失败或存储和转发完全基于构建 method.execute TR50 命令、将其提供给网关上的 TR50 组件的能力以及 TR50 连接的 Store & Forward State(存储和转发状态)的当前值(待机、准备存储、正在存储、正在转发)。
结果不提供有关在远程网关或应用程序中执行 TR50 方法的任何知识。 - 方法的输出参数(如果已定义)将无法返回至执行方法动作。