Device Message Format¶
Smart[Fleet] 플랫폼에 연동되는 다양한 차량 센서들이 플랫폼에 전송하는 메세지에 대해서 정의합니다.
GPS Device¶
Message Header¶
GPS 단말에서 발생한 위치 데이터를 플랫폼에 전달하기 위해 필요한 메시지를 정의합니다. 본 메시지의 구조는 Header와 Payload 구조로 구성되어 있으며, 메시지는 JSON 형태로 표기 합니다.
| Key | Type | M/O | Description |
|---|---|---|---|
| ty | Int | M |
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 |
|
| 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 |
|
||||||||||||||||||||||||||||||||||||
| 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 |
|
| 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 |
|
||||||||||
| sp | Int | M | 차량 속도 (km/h) | ||||||||||
| ldw | Int | M |
|
||||||||||
| fcw | Int | M |
|
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 |
|
||||||||||
| adsp | Int | M | 차량 속도 (km/h) | ||||||||||
| adldw | Int | M |
|
||||||||||
| adfcw | Int | M |
|
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 |
|
경고
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가지
- 차량 주행이 시작한 후에 감지된 Diagnostic Information을 전송하는 방법
- 플랫폼을 통해서 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 | 경도 |
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 | 단말 종료 원인 |