Device Message Format

Smart[Fleet] 플랫폼에 연동되는 다양한 차량 센서들이 플랫폼에 전송하는 메세지에 대해서 정의합니다.

GPS Device

Message Header

GPS 단말에서 발생한 위치 데이터를 플랫폼에 전달하기 위해 필요한 메시지를 정의합니다. 본 메시지의 구조는 Header와 Payload 구조로 구성되어 있으며, 메시지는 JSON 형태로 표기 합니다.

Key Type M/O Description
ty Int M
  • 전달하고자 하는 페이로드 타입
  1. Trip_GPS

2. Mircrotrip_GPS_ 3.

ts Int O 정보 수집 시간
pld   M 아래 각 페이로드 메시지를 참고

Payload Types

Trip Message

Trip Message는 차량이 운행이 종료된 후에 전달하는 메시지이다.

Key Type M/O Description Note
tid Int M Trip 고유 번호  
stt Int M Trip의 시작 날짜 및 시간 UTC
edt Int M Trip의 종료 날짜 및 시간 UTC
dis Int O Trip의 주행거리 Meter
stlat Int O 운행 시작 좌표의 위도  
stlon Int O 운행 시작 좌표의 경도  
edlat Int O 운행 종료 좌표의 위도  
edlon Int O 운행 종료 좌표의 경도  
hsts Int O Trip의 최고 속도  
mesp Int O Trip의 평균 속도  
fwv String O 펌웨어 버전  
dtvt Int O 주행시간  

Example Code :

{
    "ty" : 1,
    "ts" : 1505434907995,
    "pld" : {
          "tid" : 10,
          "stt" : 1505433907995,
          "edt" : 1505434907995,
          "dis" : 101,
          "stlon" : 127.114513,
          "stlat" : 37.380241,
          "edlon" : 126.114513,
          "edlat" : 36.380241,
          "hsts" : 121,
          "mesp" : 63,
          "fwv" : "1.0.1",
          "dtvt" : 88
    }
}

Microtrip

Microtrip 메세지는 차량이 운행을 시작한 후 설정된 주기에 따라 전송하는 차량 운행에 대한 위치 데이터이다. 주기는 각 어플리케이션 마다 상이하므로, 아래의 값은 플랫폼에 전송하는 해당 시점에 데이터를 추출하여 기입하도록 한다.

Key Type M/O Description
tid Int M Trip 고유 번호
lat Int M 위도 (WGS84)
lon Int M 경도 (WGS84)
alt Int M 고도 (WGS84)
clt Int M 단말기 기준 수집 시간
sp Int O Ground Speed (based on NMEA Protocol / km/h)
dop Int O Dilution of Precision 값 (based on NMEA protcol)
nos Int O 위성 갯수 정보 (based on NMEA protocol)
tdis Int O Microtrip 동안 이동한 거리

Example Code :

{
    "ts" : 1505434907995,
    "ty" : 2,
    "pld" : {
          "tid" : 1,
          "lon" : 127.114513,
          "lat" : 37.380241,
          "alt" : 280.2,
          "clt" : 1505434907995,
          "sp" : 10.2,
          "dop" : 15.2,
          "nos" : 5
    }
}

Aggregated Microtrip

Microtrip 데이터는 여러개의 데이터를 모아서 한번에 보낼 수 있습니다. 각 수집한 Microtrip 데이터는 JSON Array 데이터를 기반으로 다음과 같이 패킷을 합쳐 보낼 수 있습니다.

{
    "ty":2,
    "ts":1508215121898,
    "pld":
    [
        {
            "tid":301,
            "lon":127.062512,
            "lat":37.510296,
            "alt":102,
            "sp":90,
            "dop":13,
            "nos":5,
            "clt":1508215121888
        },
        {
            "tid":301,
            "lon":127.062512,
            "lat":37.510296,
            "alt":113,
            "sp":74,
            "dop":11,
            "nos":4,
            "clt":1508215121893
        },
        {
            "tid":301,
            "lon":127.062512,
            "lat":37.510296,
            "alt":115,
            "sp":71,
            "dop":14,
            "nos":5,
            "clt":1508215121898
        }
    ]
}


OBD Device

OBD 단말에서 발생한 데이터를 플랫폼에 전달하기 위해 필요한 메시지를 정의합니다. 본 메시지의 구조는 Header와 Payload 구조로 구성되어 있으며, 메시지는 JSON 형태로 표기 합니다.

Message Header

Key Type M/O Description
ty Int M
  • 전달하고자 하는 페이로드 타입
  1. Trip_OBD_
  2. Microtrip_OBD_
ts Int O 정보 수집 시간
pld   M Payload_ 타입 참고

주석

페이로드가 Microtrip 여러개를 Aggregation 하여 전송할 때는 시간의 순서에 맞추어 전송하여야 한다. 플랫폼에서 시간에 따라 Re-ordering을 수행하지 않음.

주석

표에 M/O는 Mandatory/Optional의 약자로, Mandatory는 필수로 포함해야하는 데이터를 Optional은 필요에 따라 기입이 여부를 개발사에 판단합니다.

Payload Types

Trip Message

Trip Message는 차량이 운행이 종료된 후에 전달하는 메시지이다.

Key Type M/O Description Note
tid Int M Trip 고유 번호  
stt Int M Trip의 시작 날짜 및 시간 UTC
edt Int M Trip의 종료 날짜 및 시간 UTC
dis Int M Trip의 주행거리 Meter
tdis Int M 차량의 총 주행거리 Meter
fc Int M 연료소모량  
stlat Int M 운행 시작 좌표의 위도  
stlon Int M 운행 시작 좌표의 경도  
edlat Int M 운행 종료 좌표의 위도  
edlon Int M 운행 종료 좌표의 경도  
ctp Int M 부동액(냉각수) 평균온도  
coe Int M Trip의 탄소 배출량  
fct Int M 연료차단 상태의 운행시간  
hsts Int M Trip의 최고 속도  
mesp Int M Trip의 평균 속도  
idt Int M Trip의 공회전 시간  
btv Int M 배터리 전압(시동OFF후 전압)  
gnv Int M 발전기 전압(주행중 최고 전압)  
wut Int M Trip의 웜업시간(주행전 시동 시간)  
usm Int O BT가 연결된 휴대폰 번호  
est Int O 80~100km 운행 시간  
fwv Int O 펌웨어 버전  
dtvt Int O 주행시간  

Example Code :

{
    "ty" : 1,
    "ts" : 1505434907995,
    "pld" : {
          "tid" : 10,
          "stt" : 1505433907995,
          "edt" : 1505434907995,
          "dis" : 101,
          "tdis" : 16813,
          "fc" : 83,
          "stlon" : 127.114513,
          "stlat" : 37.380241,
          "edlon" : 126.114513,
          "edlat" : 36.380241,
          "ctp" : 48,
          "coe" : 392,
          "fct" : 123,
          "hsts" : 121,
          "mesp" : 63,
          "idt" : 3,
          "btv" : 14.5,
          "gnv" : 12.3,
          "wut" : 181,
          "dtvt" :2301
    }
}

Microtrip

Microtrip 메세지는 차량이 운행을 시작한 후 설정된 주기에 따라 전송하는 차량 운행 상세 데이터이다. 주기는 각 어플리케이션 마다 상이하므로, 아래의 값은 플랫폼에 전송하는 해당 시점에 데이터를 추출하여 기입하도록 한다.

Key Type M/O Description
tid Int M Trip 고유 번호
fc Int O 연료소모량
lat Int M 위도 (WGS84)
lon Int M 경도 (WGS84)
sp Int O Ground Speed (based on NMEA Protocol / km/h)
dop Int O Dilution of Precision 값 (based on NMEA protcol)
nos Int O 위성 갯수 정보 (based on NMEA protocol)
lc Int O 측정 한 위치 값의 정확도
clt Int M 단말기 기준 수집 시간
cdit Int O Trip의 현재시점까지 주행거리
rpm Int O rpm
sp Int O 차량 속도
em Int O
  • 한 주기 동안 발생한 이벤트에 대해서 Hexa String으로 표기한다.
Bit Description
0 급출발
1 급좌회전
2 급우회전
3 급유턴
4 급감속
5 급가속
6 급정지
7 Reserved
  • 한 주기 동안 차량이 급유턴과 급가속을 동시에 진행한 경우, **28**로 표현
Bit 7 6 5 4 3 2 1 0
Value 0 0 1 0 1 0 0 0
el Int O 엔진부하
xyz Int O 가속도 X, Y 및 각속도 Y 값 (Delimeter는 comma)
vv Int O 배터리 전압(시동OFF후 전압)
tpos Int O 엑셀 포지션 값

Example Code :

{
    "ts" : 1505434907995,
    "ty" : 2,
    "pld" : {
          "tid" : 1,
          "fc" : 12,
          "lon" : 127.114513,
          "lat" : 37.380241,
          "rpm" : 323,
          "em" : 28,
          "el" : 25,
          "xyz" : "23123,49923,123",
          "vv" : "11.4"
    }
}

ADAS Device

ADAS 단말에서 발생한 데이터를 플랫폼에 전달하기 위해 필요한 메시지를 정의합니다. 본 메시지 구조는 Header와 Payload 구조로 구성되어 있으며, 메시지는 JSON 형태로 표기합니다.

Key Type M/O Description
ty Int M
  • 전달하고자 하는 페이로드 타입
  1. Microtrip_ADAS
ts Int O 정보 수집 시간
pld   M 아래 각 페이로드 메시지를 참고

Payload Types

Microtrip_ADAS

ADAS Periodic 메세지는 ADAS 단말에서 인지한 ADAS 및 GPS 위치 정보를 주기적으로 올릴때 사용하는 메시지 포맷입니다. 일반적으로는 ADAS와 GPS가 함께 있는 경우에 활용하며, 메시지는 ADAS 부착 차량의 운행 시작부터 운행 종료까지 주기적으로 전송합니다.

Key Type M/O Description
tid Int M Trip 고유 번호
lat Int M 위도 (WGS84)
lon Int M 경도 (WGS84)
dop Int O Dilution of Precision 값 (based on NMEA protcol)
nos Int O 위성 갯수 정보 (based on NMEA protocol)
dir Int M
  • 방향 지시등 정보
Bit Description
30 방향 지시등 점등 없음
31 좌측 지시등 점등
32 우측 지시등 점등
33 비상등 점등
sp Int M 차량 속도 (km/h)
ldw Int M
  • Lane Departure Warning
Bit Description
30 LDW 없음
31 좌측 LDW 이슈 발생
32 우측 LDW 이슈 발생
fcw Int M
  • Forward Collision Warning
Bit Description
30 FCW 없음
31 1차 경보 (위험 경보)
32 2차 경보 (안전거리 미확보 경보)

Example Code :

{
    "ts" : 1505434907995,
    "ty" : 40,
    "pld" : {
          "tid" : 11123
          "lon" : 127.114513,
          "lat" : 37.380241,
          "sp" : 113,
          "dir" : 31,
          "ldw" : 32,
          "fcw" : 30
    }
}

Event Messages

ADAS Event

ADAS Event 메세지는 ADAS 단말에서 인지한 ADAS Event 데이터를 전달하는 메시지로, 본 메시지는 비동기 형태로 플랫폼에 전달될 수 있다.

Key Type M/O Description
adlat Int O 위도 (WGS84)
adlon Int O 경도 (WGS84)
addop Int O Dilution of Precision 값 (based on NMEA protcol)
adnos Int O 위성 갯수 정보 (based on NMEA protocol)
addir Int M
  • 방향 지시등 정보
Bit Description
30 방향 지시등 점등 없음
31 좌측 지시등 점등
32 우측 지시등 점등
33 비상등 점등
adsp Int M 차량 속도 (km/h)
adldw Int M
  • Lane Departure Warning
Bit Description
30 LDW 없음
31 좌측 LDW 이슈 발생
32 우측 LDW 이슈 발생
adfcw Int M
  • Forward Collision Warning
Bit Description
30 FCW 없음
31 1차 경보 (위험 경보)
32 2차 경보 (안전거리 미확보 경보)

Example Code :

{
    "adlon" : 127.114513,
    "adlat" : 37.380241,
    "adsp" : 113,
    "addir" : 31,
    "adldw" : 32,
    "adfcw" : 30
}

HFD(High Frequency Diagnostic) Capability Information

OBD로부터 차량 주행 중 획득할 수 있는 상세 차량 정보의 타입을 정의한다.

Key Type M/O Description
cm Int M
  • 부착된 OBD가 전송할 수 있는 HFD 항목을 Hexa String 형태로 표기한다.
Bit Description
0 엔진부하
1 (TBD)
2 (TBD)
3 (TBD)
4 (TBD)
5 (TBD)
6 (TBD)
7 (TBD)

경고

TBD

HFD(High Frequency Diagnostic) Information

OBD로부터 차량 주행 중 획득한 상세 차량 정보를 정의한다.

Key Type M/O Description
hfd String M OBD로부터 획득한 상세 차량 정보를 Byte Order로 전송한다.

경고

TBD

Diagnostic Information

OBD에서 인지한 차량 진단 코드(DTC)를 전송하는 메시지를 정의한다.

Key Type M/O Description
tid Int O Trip 고유 번호(Not required)
dtcc String M 차량고장코드 (Delimeter Comma)
dtck Int M 0=confirm 1=pending 2=permanent
dtcs Int M DTC Code의 개수

주석

OBD가 플랫폼에 DTC 코드를 전송하는 방식은 2가지

  1. 차량 주행이 시작한 후에 감지된 Diagnostic Information을 전송하는 방법
  2. 플랫폼을 통해서 OBD에 DTC 코드 보고를 요청하는 RPC 방법

Collision warning (Driving)

운행 중 OBD가 감지한 차량 접촉 사고에 대한 위치 정보를 전달하는 메세지를 정의한다.

Key Type M/O Description
tid Int O Trip 고유 번호(Not required)
dclat Int M 위도
dclon Int M 경도

Collision warning (Parking)

주차 중 OBD가 감지한 차량 접촉 사고에 대한 위치 정보를 전달하는 메세지를 정의한다.

Key Type M/O Description
plat Int M 위도
plon Int M 경도

Battery Warning

차량 배터리 소모에 대한 위험 알림 메시지를 정의한다.

Key Type M/O Description
wbv Int M 배터리 전압

Unplugged Warning

OBD가 차량으로부터 탈착되는 이벤트에 대한 알림 메시지를 정의한다.

Key Type M/O Description
unpt Int M 탈착 시간
pt Int M 부착 시간

Turn-off Warning

OBD가 종료된 경우, 종료 이전에 종료에 대한 이유를 플랫폼에 전달하기 위한 알림 매시지를 정의한다.

Key Type M/O Description
rs String M 단말 종료 원인