RPC Message Format

OBD 단말을 제어하기 위한 RPC Message Type을 명세합니다. 기술되지 않는 제어는 단말과 어플리케이션 상호 간에만 규약되어 있다면, Vendor Sepecific Message를 사용합니다.

Vendor Specific Message

각 단말 업체에서 별도로 관리하는 제어 요청 메시지이며, 다른 제어 메세지도 본 포맷을 확장하여 명세됩니다.

Request

Key Type M/O Description
mtd String M 원격 제어하고자 하는 기능에 대해서 명세
par String M 기능에 대한 파라미터를 명세

Response

Key Type M/O Description
rst String M resultCode 에 정의된 제어 결과 추가

Result

Key Type M/O Description
rst String M resultCode 에 정의된 제어 결과 추가
aif String O 결과 값에 따른 추가 정보 명세

Device Activation

차량용 센서를 차량에 부착한 후 활성화하기 위해 필요한 RPC 메시지를 명세합니다.

Request

Key Type M/O Description
mtd String M activiationReq 로 명세
par String M
Key Type M/O Description
vid String M 차량 식별 번호
upp Int M Microtrip 업로드 주가 (초)
elt Int M 배기량 정보
fut Int M
  1. 가솔린
  2. 디젤
  3. LPG
mty String M
  1. Automatic
  2. Manual
cyl Int O 실린더 정보

Example Code :

{
    "mtd" : "activiationReq",
    "par" : {
          "vid" : "25나0660",
          "upp" : 1,
          "elt" : 1999,
          "fut" : 1,
          "mty" : 1
    }
}

Result

Key Type M/O Description
rst String M resultCode 에 정의된 제어 결과 추가
aif String M
Key Type M/O Description
vid String M 차량 식별 번호

Example Code :

{
    "rst" : 2000,
    "aif" : {
          "vid" : "25나0660"
    }
}

Firmware Update

차량용 OBD의 펌웨어 업데이트를 위한 RPC 메시지를 명세합니다.

Request

Key Type M/O Description
mtd String M fwupdate 로 명세
par String M
Key Type M/O Description
pkv String M F/W 패키지 버전
url String M F/W 패키지가 저장된 사이트 주소

Example Code :

{
    "mtd" : "fwupdate",
    "par" : {
          "pkv" : "1.0.1",
          "url" : "ftp://smartfleet.sktelecom.com:10011"
    }
}

Result

Key Type M/O Description
rst String M resultCode 에 정의된 제어 결과 추가
aif String O 결과 값에 따른 추가 정보 명세

Example Code :

{
    "rst" : 2000
}

OBD Reset

차량용 OBD의 재시작을 위한 RPC 메시지

Request

Key Type M/O Description
mtd String M reset 로 명세
par String M N/A

Example Code :

{
    "mtd" : "reset",
    "par" : ""
}

Result

Key Type M/O Description
rst String M resultCode 에 정의된 제어 결과 추가
aif String O 결과 값에 따른 추가 정보 명세

Example Code :

{
    "rst" : 2000
}

Device Serial Number Check

차량용 OBD의 시리얼 번호 확인용 RPC 메시지

Request

Key Type M/O Description
mtd String M serial 로 명세
par String M N/A

Example Code :

{
    "mtd" : "serial",
    "par" : ""
}

Result

Key Type M/O Description
rst String M resultCode 에 정의된 제어 결과 추가
aif String M
Key Type M/O Description
sn String M 단말 시리얼 번호

Example Code :

{
    "rst" : 2000,
    "aif" : {
        "sn" : "70d71b00-71c9-11e7-b3e0-e5673983c7b9"
    }
}

Clear Device Data

차량용 OBD 데이터 삭제

Request

Key Type M/O Description
mtd String M cleardata 로 명세
par String M N/A

Example Code :

{
    "mtd" : "cleardata",
    "par" : ""
}

Result

Key Type M/O Description
rst String M resultCode 에 정의된 제어 결과 추가
aif String O N/A

Example Code :

{
    "rst" : 2000
}

Firmware Update (Chunk-based)

Chunk 기반으로 차량용 OBD의 펌웨어 업데이트를 위한 RPC 메시지를 명세합니다.

Request

Key Type M/O Description
mtd String M fwupchunk 로 명세
par String M
Key Type M/O Description
tsz Int M F/W 전체 용량
csz Int M Chunk 사이즈
idx Int M Chunk 데이터 인덱스
pyd String M F/W Chunk 데이터

Example Code :

{
    "mtd" : "fwupchunk",
    "par" : {
        "tsz" : 4932321,
        "csz" : 10000,
        "idx" : 13,
        "pyl" : "83a27473cf0000015e82e9b55ba2747902a3706c64"
    }
}

Result

Key Type M/O Description
rst String M resultCode 에 정의된 제어 결과 추가
aif String O N/A

Example Code :

{
    "rst" : 2000
}

Common Response Code for RPC Result

Code Class

Status Class Code Description
Success 2XXX RPC 결과가 정상적으로 동작하는 경우
Device Error 4XXX RPC 결과를 수신한 단말이 비정상적으로 동작한 경우
Platform Error 5XXX RPC 요청에 대해서 플랫폼이 비정상적으로 동작한 경우

Successful Response Class

Code Description
2000 RPC 정상적 수행
2001 RPC 메시지 정상적으로 수신

Device Error Response Class

Code Description
4000 디바이스가 수행할 수 없는 RPC 메시지 수신
4001 잘못된 RPC 파라미터 수신
4001 접근 불가
4002 동일한 RPC 중복 수신