文档首页 > > 开发指南> 应用服务集成开发> 应用服务开发流程

应用服务开发流程

分享
更新时间:2020/05/18 GMT+08:00

应用服务开发程序通过RESTFUL接口调用车联网服务API接口,实现车辆、车型同步、配置命令发布等指令,并通过订阅Kafka消息接收T-BoX上报的响应信息和上报数据。应用服务主要开发流程为:

No.

简要描述

详细描述

预置条件

请求消息及范例

1

注册华为云账号,使用华为云账号获取Token

使用华为云账号获取Token Token,Token取自响应消息的X-Subject-Token头域。

通过POST方式请求接口

https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens

后续使用的具体接口请求消息的Header中需要添加头域 X-Auth-Token,值取自 X-Subject-Token

获取Token成功后,记录Token以及Token响应消息中"user"的"domain"-"id" 该domainId作为domainId填入开通资源请求body的domainId字段

华为云账号注册成功

接口调用方式:POST

URL: https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens

注:user和domain name均填写华为云的注册信息

请求Body

{

"auth":{

"identity":{

"methods":[

"password"

],

"password":{

"user":{

"name":"注册用户名",

"password":"注册用户密码",

"domain":{

"name":"注册用户名"

}

}

}

}

2

开通资源,获取resourceId作为业务接口ociov_id的输入

调用POST Resource接口,开通资源,获取ociovId

Header中需要填写从乌兰3接口获取的华为云IAM测试Token

https://ociov-api.cn-north-4.myhuaweicloud.com/v1/resources

请求成功后,记录获取的resourceId。后续业务接口调用时,将该resourceId的内容作为ociov_id填入业务接口的Params中

已获取华为云IAM 测试Token

获取Token接口的响应消息中,读取token的"user"-"domain"-"id"

接口调用方式:POST

URL:https://ociov-api.cn-north-4.myhuaweicloud.com/v1/resources

  1. 请求body中projectId填写业务接口调用的projectId
  2. domainId填写token获取的"user"-"domain"-"id"
  3. 其他字段可用任意String

请求Body

{

"tenantInfo": {

"userId": "bbbb",

"domainId": "074a17439380d5f90fcc85a1d00"

"projectId": "1",

"finalUserId": "bbbb",

"finalDomainId": "074a17439380d5f90fcc85a1d00"

"finalProjectId": "1"

},

"resources": [

{

"type": "aa",

"chargingRule": "bb",

"resourceName": "aaaa",

"cloudServiceType": "dd",

"resourceType": "ee",

"resourceSpecCode": "ff",

"csbParams": "gg",

"ExtendParams": {}

}

]

}

3

调用业务接口

接口内容请参见API参考。

  1. Params填写project_id与ociov_id(ociov_id通过注册资源获取)
  2. Header中填写X-Auth-Token
  1. body中按照API参考中的接口样例填写

注:添加车辆资源时需要注意tbox下需要添加cname信息, 来自车企签发的证书使用者CN

该证书每次车辆添加资源后需要同步给车联网服务

示例:

注册资源:POST

https://ociov-api.cn-north-4.myhuaweicloud.com/v1/resources

查询车辆:GET

https://ociov-api.cn-north-4.myhuaweicloud.com/v1/:project_id/ociov/:ociov_id/vehicles

  1. 已获取华为云IAM 测试Token(填入header的X-Auth-Token)
  2. 已开通资源获取resourceId(填入Params中的ociov_id)
  3. 开通资源时请求body的projectId保持一致填入Params中(填入Params中的project_id)

请求Body

参照API参考中的结构体进行填写

VehicleResources车管理接口。 用于车辆资源的增删改查

VehicleCommandResources车命令管理接口。用于远控命令的下发

VehicleConfigResources车配置管理接口。 用于下发配置

VehicleModelResources车型管理接口。用于车型的增删改查

4

购买华为云Kafka

参考官方文档:https://support.huaweicloud.com/dms/index.html,进行购买,配置和编码使用

申请到华为公有云账号和用户

-

5

配置Kafka参数到IoV中

为了更好的安全性,建议以SASL方式访问Kafka

已获取华为云IAM Token

接口调用方式:POST

URL:https://ociov-api.cn-north-4.myhuaweicloud.com/v1/kafka-configs

6

订阅Kafka消息

收设备采集的数据和命令响应都是通过Kafka,所以需要提前订阅相关Topic

已购买华为云Kafka

sub

vehicleoc-v1-vehicleconnect用于接收T-BOX登录时的消息 包括当前data collect version

vehicleoc-v1-vehiclecommand 用于接收T-BOX执行远控命令后的响应状态

vehicleoc-v1-vehicleconfig 用于接收T-BOX执行修改配置后的响应状态

vehicleoc-v1-vehicledata 用于接收T-BOX上报的数据

7

接收Kafka消息

当车辆设备完成连接并 上报数据状态响应,从已订阅的Kafka消息中获取数据上报信息

车辆设备已连接并上报消息

-

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问