更新时间:2024-10-24 GMT+08:00
分享

发送信号灯消息

功能介绍

发送信号灯消息(即SPAT)给目标设备。消息仅会下发一次,当前不会记录对应历史消息。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v1/{project_id}/spat/send

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数说明:项目ID。获取方法请参见“API参考 > 附录 > 获取项目ID”。

取值范围:仅支持数字,a到f的小写字母组合,长度32。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Instance-Id

String

"参数说明:实例ID。DRIS物理实例的唯一标识,获取方法请参见“API参考 > 附录 > 获取Instance-Id”。

取值范围:仅支持数字,小写字母和横杠(-)的组合,长度36。"

X-Auth-Token

String

参数说明:用户Token,Token认证鉴权时必选。通过调用IAM服务 “获取IAM用户Token”接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见“API参考 > API > 应用侧API参考 > 如何调用API > 认证鉴权 > Token认证”。

表3 请求Body参数

参数

是否必选

参数类型

描述

rsu_id

String

参数说明:目标RSU设备ID。

spat_content

SpatContent object

参数说明:SPAT消息内容。

表4 SpatContent

参数

是否必选

参数类型

描述

name

String

参数说明:供理解的名称描述。

取值范围:长度不超过63,只允许中文、字母、数字、下划线以及连接符等字符的组合。

intersections

Array of IntersectionState objects

参数说明:路口信号灯集合。当前仅支持1个,与目标设备一一对应。

表5 IntersectionState

参数

是否必选

参数类型

描述

intersection_id

IntersectionId object

参数说明:节点属性ID。

status

Integer

参数说明:路口信号机的工作状态指示。

取值范围

  • 0:手动控制状态开启

  • 1:停止计时状态激活

  • 2:用于硬件故障检测

  • 3:优先状态激活

  • 4:信号优先级状态激活

  • 5:固定配时

  • 6:基于交通流状态的配时

  • 7:备用操作,可部分关闭或闪烁

  • 8:故障模式

  • 9:控制状态关闭

  • 10:近期地图内容数据更新

  • 11:近期地图道路id数据更新

  • 12:此时无有效地图

  • 13:此时无有效spat信息

phases

Array of Phase objects

参数说明:信号灯各道路方向的灯态列表。

表6 IntersectionId

参数

是否必选

参数类型

描述

region

Integer

参数说明:所在区域在地图中的编号,数值0仅用于测试。

id

Integer

参数说明:节点编号。路网最基本的构成即节点和节点之间连接的路段。节点可以是路口,也可以是一条路的端点。一个节点的 ID 在同一个区域内是唯一的。数值 0~255 预留为测试使用。

表7 Phase

参数

是否必选

参数类型

描述

phase_id

Integer

参数说明:定义信号灯相位ID。数值0表示无效ID。

phase_states

Array of PhaseState objects

参数说明:一个信号灯的一个相位状态列表。列表中每一个相位状态物理上对应了一种相位灯色,其属性包括了该状态的实时计时信息。

表8 PhaseState

参数

是否必选

参数类型

描述

light

String

参数说明:定义信号灯相位的灯色状态。支持GB14886规定的红绿黄三种信号灯灯色,以及亮灯、 闪烁和熄灭三种状态。

取值范围

  • 0:不可用

  • 1:黑色

  • 2:红色闪烁

  • 3:红色

  • 4:绿色闪烁

  • 5:通行允许相位(通行绿)

  • 6:通行保护相位(保护绿)

  • 7:黄色

  • 8:黄色闪烁

timing

TimeChangeDetails object

参数说明:定义一个信号灯相位的计时状态。提供了两种可选的计时状态格式,一种是倒计时形式,另一种是UTC世界标准时间的形式。在实际使用时,由路侧设施根据实际情况选用。

表9 TimeChangeDetails

参数

是否必选

参数类型

描述

counting

TimeCountingDown object

参数说明:用倒计时形式,描述一个信号灯相位状态的完整计时状态。

utc_timing

UTCTiming object

参数说明:用UTC世界标准时间形式,描述一个信号灯相位状态的完整计时状态。

start_time

Integer

参数说明:开始时间。以0.1秒为单位,定义一小时中的时间。可以表示当前小时中的时刻,也可以表示长度不超过1小时的时间段,单位为0.1秒。

取值范围:0~35999。数值36000表示大于1小时的时间长度。数值36001表示无效数值。

likely_end_time

Integer

参数说明:可能结束时间。以0.1秒为单位,定义一小时中的时间。可以表示当前小时中的时刻,也可以表示长度不超过1小时的时间段,单位为0.1秒。

取值范围:0~35999。数值36000表示大于1小时的时间长度。数值36001表示无效数值。

表10 TimeCountingDown

参数

是否必选

参数类型

描述

start_time

TimeMarkDTO object

参数说明:以0.1秒为单位,定义一小时中的时间。可以表示当前小时中的时刻,也可以表示长度不超过1小时的时间段,单位为0.1秒。

取值范围:0~35999。数值36000表示大于1小时的时间长度。数值36001表示无效数值。

min_end_time

TimeMarkDTO object

参数说明:以0.1秒为单位,定义一小时中的时间。可以表示当前小时中的时刻,也可以表示长度不超过1小时的时间段,单位为0.1秒。

取值范围:0~35999。数值36000表示大于1小时的时间长度。数值36001表示无效数值。

max_end_time

TimeMarkDTO object

参数说明:以0.1秒为单位,定义一小时中的时间。可以表示当前小时中的时刻,也可以表示长度不超过1小时的时间段,单位为0.1秒。

取值范围:0~35999。数值36000表示大于1小时的时间长度。数值36001表示无效数值。

likely_end_time

TimeMarkDTO object

参数说明:以0.1秒为单位,定义一小时中的时间。可以表示当前小时中的时刻,也可以表示长度不超过1小时的时间段,单位为0.1秒。

取值范围:0~35999。数值36000表示大于1小时的时间长度。数值36001表示无效数值。

time_confidence

Integer

参数说明:定义置信度。单位为0.5%。

next_start_time

TimeMarkDTO object

参数说明:以0.1秒为单位,定义一小时中的时间。可以表示当前小时中的时刻,也可以表示长度不超过1小时的时间段,单位为0.1秒。

取值范围:0~35999。数值36000表示大于1小时的时间长度。数值36001表示无效数值。

next_duration

TimeMarkDTO object

参数说明:以0.1秒为单位,定义一小时中的时间。可以表示当前小时中的时刻,也可以表示长度不超过1小时的时间段,单位为0.1秒。

取值范围:0~35999。数值36000表示大于1小时的时间长度。数值36001表示无效数值。

表11 UTCTiming

参数

是否必选

参数类型

描述

start_utc_time

TimeMarkDTO object

参数说明:以0.1秒为单位,定义一小时中的时间。可以表示当前小时中的时刻,也可以表示长度不超过1小时的时间段,单位为0.1秒。

取值范围:0~35999。数值36000表示大于1小时的时间长度。数值36001表示无效数值。

min_end_utc_time

TimeMarkDTO object

参数说明:以0.1秒为单位,定义一小时中的时间。可以表示当前小时中的时刻,也可以表示长度不超过1小时的时间段,单位为0.1秒。

取值范围:0~35999。数值36000表示大于1小时的时间长度。数值36001表示无效数值。

max_end_utc_time

TimeMarkDTO object

参数说明:以0.1秒为单位,定义一小时中的时间。可以表示当前小时中的时刻,也可以表示长度不超过1小时的时间段,单位为0.1秒。

取值范围:0~35999。数值36000表示大于1小时的时间长度。数值36001表示无效数值。

likely_end_utc_time

TimeMarkDTO object

参数说明:以0.1秒为单位,定义一小时中的时间。可以表示当前小时中的时刻,也可以表示长度不超过1小时的时间段,单位为0.1秒。

取值范围:0~35999。数值36000表示大于1小时的时间长度。数值36001表示无效数值。

time_confidence

Integer

参数说明:定义置信度。单位为0.5%。

next_start_utc_time

TimeMarkDTO object

参数说明:以0.1秒为单位,定义一小时中的时间。可以表示当前小时中的时刻,也可以表示长度不超过1小时的时间段,单位为0.1秒。

取值范围:0~35999。数值36000表示大于1小时的时间长度。数值36001表示无效数值。

next_end_utc_time

TimeMarkDTO object

参数说明:以0.1秒为单位,定义一小时中的时间。可以表示当前小时中的时刻,也可以表示长度不超过1小时的时间段,单位为0.1秒。

取值范围:0~35999。数值36000表示大于1小时的时间长度。数值36001表示无效数值。

表12 TimeMarkDTO

参数

是否必选

参数类型

描述

time_mark

Integer

参数说明:以0.1秒为单位,定义一小时中的时间。可以表示当前小时中的时刻,也可以表示长度不超过1小时的时间段,单位为0.1秒。

取值范围:0~35999。数值36000表示大于1小时的时间长度。数值36001表示无效数值。

响应参数

状态码: 200

表13 响应Body参数

参数

参数类型

描述

-

String

请求示例

POST https://{endpoint}/v1/{project_id}/spat/send
Content-Type:application/json
X-Auth-Token:********
Instance-Id:********

{
  "rsu_id" : "834bdeb2-66cf-4c44-badf-74764a93eab1",
  "spat_content" : {
    "name" : "spat",
    "intersections" : [ {
      "intersection_id" : {
        "region" : 1,
        "id" : 15
      },
      "status" : 0,
      "phases" : [ {
        "phase_id" : 1,
        "phase_states" : [ {
          "light" : 1,
          "timing" : {
            "counting" : {
              "start_time" : {
                "time_mark" : 0
              },
              "min_end_time" : {
                "time_mark" : 1500
              },
              "max_end_time" : {
                "time_mark" : 1540
              },
              "likely_end_time" : {
                "time_mark" : 1500
              },
              "time_confidence" : 180,
              "next_start_time" : {
                "time_mark" : 6000
              },
              "next_duration" : {
                "time_mark" : 150
              }
            },
            "start_time" : 0,
            "likely_end_time" : 255
          }
        } ]
      }, {
        "phase_id" : 2,
        "phase_states" : [ {
          "light" : 1,
          "timing" : {
            "counting" : {
              "start_time" : {
                "time_mark" : 0
              },
              "min_end_time" : {
                "time_mark" : 1500
              },
              "max_end_time" : {
                "time_mark" : 1540
              },
              "likely_end_time" : {
                "time_mark" : 1500
              },
              "time_confidence" : 180,
              "next_start_time" : {
                "time_mark" : 6000
              },
              "next_duration" : {
                "time_mark" : 150
              }
            },
            "start_time" : 0,
            "likely_end_time" : 255
          }
        } ]
      } ]
    } ]
  }
}

响应示例

状态码: 200

OK

{ }

状态码

状态码

描述

200

OK

400

Bad Request

错误码

请参见错误码

相关文档