md7150p ble protocol solution development team date : 2015.06.08 version : v0.0.7

50
MD7150P BLE Protocol Solution Development Team Date : 2015.06.08 Version : v0.0.7

Upload: nathaniel-mclaughlin

Post on 24-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

MD7150P BLE

Protocol

Solution Development TeamDate : 2015.06.08

Version : v0.0.7

Solution Team

Contents

1. Packet Structure• Definition

• General data• Specific data (Big data size)

2. Data Flow• General• Specific (Big data size)• Device Info• GPS from mobile• Diagnostic• Parking Event Alert• Settings

3. Device Info Data Format• Manufacturers Info• Model Number• Serial Number• F/W Version• M/C Version

Solution Team

Contents

4. GPS Data Format• Longitude• Latitude• Speed• Time

5. Diagnostic Data Format• Power Status• Recording Mode• Recording Status• SD Card Status• Rear Camera Status• Battery Voltage Value• Temperature Value

6. Parking Event Alert Data Format

Solution Team

Contents

7. Settings Data Format• G-Sensor• LCD Brightness• System Time• Voice Guidance• Audio Recording• Time for LCD On• Low Battery Voltage for cutting off• SD Card Format• Recording Status• SD Card Status• Rear Camera Status

8. System Data Format• BLE Mac Address• BLE Chipset

Solution Team

1. Packet Structure - Definition

Item Length Description Parameters

Start Delimiter 2 bytes Start Delimiter Start Delimiter = [0xBE][0xEB]

ID 1 byte Identifier BLE [0x00], BLE-Response [0x01],MD7150P [0xF0], MD7150P-Response [0xF1]

Length 1 byte Data 의 전체 크기( 범위 0~255 bytes)

Size 가 0x02 라면Packet = [ STX ID 0x02 0xFD DATA1 DATA2 Checksum ]

~Length 1 byte Size 의 역수 Size = 0x02, ~Size = 0xFD

Data 0 ~ 39 bytes(UUID + Payload)

Packet Data Random Data

Checksum 1 byte Start Delimiter 에서부터 Data까지의 합을 0xFF 로 MASK-ING 연산한 LSB 8 bits

Packet = [ 0xBE 0xEB 0x00 0x00 0x02 0xFD 0x00 0x00 0xA8 ]Checksum = 0xBE+0xEB+0x00+0x00+0x02+0xFD+0x00+0x00 = 0x2A8 -> 0xA8

Start De-limiter

ID Length ~Length Data(Functional-specific Data) Checksum

Solution Team

1. Packet Structure – General Data (Request)

UUID Payload

Item Length Description Parameters

UUID 16 bytes Characteristic UUID Characteristic UUID 의 128 bits UUID

Payload 0 ~ 23 bytes Characteristic Characteristic Data

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

8. System Data Format – General Data (Response)

Solution Team

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

UUID PayloadResult

Item Length Description Parameters

UUID 16 bytes Characteristic UUID Characteristic UUID 의 128 bits UUID

Result 1 byte Result OK = 0x00, Fail = 0xFF

Payload 0 ~ 22 bytes Characteristic Characteristic Data

Solution Team

1. Packet Structure – Specific (Big size data) (Request)

Item Length Description Parameters

UUID 16 bytes Characteristic UUID Characteristic 의 128 bits UUID

Delimiter 2 bytes Specific IdentifierDelimiter=[0xBC][0xCB]

Delimiter=[0xBC][0xCB]Delimiter=[0xBC][0xCC] (for response)

Packet Index 2 bytes HEADER 와 BODY 구분 HEADER = [0x00][0x00]BODY = [0x00][0x01] ~ [0xFF][0xFF]

Chunk Packets 0 ~ 18 bytes Packets of chunk unit

Chunk PacketsDelimiter

UUID Payload

PacketIndex

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

8. System Data Format – Specific (Big size data) (Response)

Solution Team

ResultDelimiter

UUID Payload

PacketIndex

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

Item Length Description Parameters

UUID 16 bytes Characteristic UUID Characteristic 의 128 bits UUID

Delimiter 2 bytes Specific IdentifierDelimiter=[0xBC][0xCC]

Delimiter=[0xBC][0xCB]Delimiter=[0xBC][0xCC] (for response)

Packet Index 2 bytes HEADER 와 BODY 구분 HEADER = [0x00][0x00]BODY = [0x00][0x01] ~ [0xFF][0xFF]

Result 1 byte Result OK = 0x00, Fail = 0xFF

Solution Team

1. Packet Structure – Specific (Big size data) cont.

Chunk PacketsDelimiter

UUID Payload

Packet In-dex

File size Chunk Packets Count

Item Length Description Parameters

File size 4 bytes File size of chunk unit Maximum size : 1 MB (65535 * 18 bytes)

Chunk Packets Count 2 bytes File number of chunk unit Maximum numbers : 65535

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

Solution Team

2. Data Flow – General

MD7150P BLE

Request

Response (OK)

Request

Response (OK)

Request

Response (Fail)

Request

Response (OK)

Response (OK)

Request

[ UART Data Flow ]

time-out(1 sec)

Request

Description• Request Packet 전달 후 1 sec 이내에 Response 미 수신시 Request Packet 재 전달

Solution Team

2. Data Flow – Specific (Big size data)

MD7150P BLE

Request (Header,0x0000)

Response (0x0000+OK)

Request (Body,0x0001)

Response (0x0001+OK)

Request (Body,0x0002)

Response (0x0002+0K)

………………………Request (Body,0x0016)

Response (0x0016+OK)

Request (Body,0x0017)

Response (0x0017+Fail)

Request (Body,0x0017)

Response (0x0017+Fail)

Request (Body,0x0018)

Response (0x0018+Fail)

[ UART Data Flow ]

Solution Team

2. Data Flow – Device Info (Booting-1)

MD7150P BLE

Request (Power Status : ON)

Response - OK

Request (Manufacturers Info)

Response - OK

Request (Model Number)

Response - OK

Request (Serial Number)

Response (OK)

Request (F/W Version)

Response (OK)

Request (M/W Version)

Response (OK)

Request (BLE MAC)

Response (OK+BLE MAC)BLE MAC ADDR 를 전달 받아 Serial Number 를 생성

Request (BLE Chipset)

Response (OK+ BLE Chipset)BLE 모듈의 TYPE 전달

[ UART Data Flow ]

Solution Team

2. Data Flow – Device Info (Booting -2)

MD7150P BLE

Request (G-Sensor Value/List)

Response (OK)

………………………………

Request (LCD Brightness Value/List)

Response (OK)

Request (Time for LCD On Value/List)

Response (OK)

Request (Voltage Value/List)

Response (OK)

Request (GPS+SPEED)

Response (OK)

Request (TIME)

Response (OK)

[ UART Data Flow ]

Solution Team

2. Data Flow – Device Info (Change Mode : Parking -> Infinite -1)

MD7150P BLE

Request (Recording Mode : INFINITE)

Response (OK)

Request (Manufacturers Info)

Response (OK)Device Info 전달

Request (Model Number)

Response (OK)

Request (Serial Number)

Response (OK)

Request (F/W Version)

Response (OK)

Request (M/W Version)

Response (OK)

Request (BLE Chipset)

Request (OK+BLE Chipset)BLE 모듈의 TYPE 전달

[ UART Data Flow ]

Solution Team

2. Data Flow – Device Info (Change Mode : Parking -> Infinite -2)

MD7150P BLE

Request (G-Sensor Range)

Response (OK)

………………………………

Request (LCD Brightness Range)

Response (OK)

Request (Time for LCD On Range)

Response (OK)

Request (Voltage for Cut Off Range)

Response (OK)

Request (GPS+SPEED)

Response (OK)

Request (TIME)

Response (OK)

[ UART Data Flow ]

2. Data Flow – GPS from Mobile (Longitude, Latitude, Speed, Time)

MD7150P BLE

Request (GPS+SPEED)

Response (OK)

Request (TIME)

Response (OK)

Request (GPS+SPEED)

Response (OK)

Request (GPS+SPEED)

Response (OK)

Power OnChange Mode(Parking -> Infinite)

………………………

Description• Time Packet 은 Power On 일 때와 Change Mode( 주차모드 -> 상시모드 ) 일 경우에만 전달

Solution Team

[ UART Data Flow ]

2. Data Flow – Parking Event Alert (Booting)

MD7150P BLE

Response (OK)

Request (Device Info)

Response (OK)

Request (Parking Alert Event)

Response (OK)

Request (Power Status : ON)

Request (TIME)

Response (OK)

Request (GPS+SPEED)

Response (OK)

Description• Time Packet 은 Power On 일 때와 Change Mode( 주차모드 -> 상시모드 ) 일 경우에만 전달

Solution Team

[ UART Data Flow ]

2. Data Flow – Parking Event Alert (Change Mode : Parking -> Infinite)

MD7150P BLE

Response (OK)

Request (Device Info)

Response (OK)

Request (Recording Mode : INFINITE)

Description• Time Packet 은 Power On 일 때와 Change Mode( 주차모드 -> 상시모드 ) 일 경우에만 전달

Solution Team

Request (Parking Event Alert)

Response (OK)

Request (TIME)

Response (OK)

Response (OK)

Request (GPS+SPEED)

[ UART Data Flow ]

2. Data Flow – Settings

MD7150P BLE

Request (G-Sensor)

Response (OK)

Request (G-Sensor: ID_REPO)

Response (OK)Settings변경시 Packet 전달

Description• Settings value 변경 시 변경 내용 포함하여 Packet 전달• ID_REPO 는 ID 에 RESPONSE 코드는 0x01 를 더한 값

Request (LCD Brightness)

Response (OK)

Request (LCD Brightness: ID_REPO)

Response (OK)

Solution Team

[ UART Data Flow ]

2. Data Flow – SD Card Format

MD7150P BLE

Request (SD Format)

Response (OK)

Request (SD Format: ID_REPO)

Response (OK)

부팅 중 이므로수신 못함

Request (Power Status : REBOOT)

Response (OK)

Request (Power Status: ON)

Response (OK)시스템 시작 시Power On 전달

Request (Device Info)

Response (OK)시스템 시작 시Device Info 전달

Solution Team

[ UART Data Flow ]

2. Data Flow – Diagnostic

MD7150P BLE

Request (Power Status)

Response (OK)

Request (Power Status: ID_REPO)

Response (OK)

Request (Recording Mode)

Response (OK)

Request (Recording Mode: ID_REPO)

Response (OK)

………………………Request (Rear Camera Status)

Response (OK)

Request (Rear Camera Status: ID_REPO)

Response (OK)

Solution Team

[ UART Data Flow ]

3. Device Info Data Format – Manufacturer Name

Item Data Type Length Description Parameters

Manufacturer Name String 0 ~ 23 bytes Manufacturer Name Core Logic (for example)

Manufacturer Name

UUID Payload

Solution Team

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

(Note) Value of parameters may be changed according to value assigned by vendor of device.

3. Device Info Data Format – Model Number

Item Data Type Length Description Parameters

Model Number String 0 ~ 23 bytes Model Number LUCA-BLE-B01 (for example)

Model Number

UUID Payload

Solution Team

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

(Note) Value of parameters may be changed according to value assigned by vendor of device.

3. Device Info Data Format – Serial Number

Item Data Type Length Description Parameters

Serial Number String 0 ~ 23 bytes Serial Number CL112233445566(CL + BLE Mac Address CL : Core Logic Delimiter)(for example)

Serial Number

UUID Payload

Solution Team

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

(Note) Value of parameters may be changed according to value assigned by vendor of device.

3. Device Info Data Format – Firmware Version

Item Item Length Description Parameters

Firmware Version String 0 ~ 23 bytes Firmware Version 1.5

Firmware Version

UUID Payload

Solution Team

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

(Note) Value of parameters may be changed according to value assigned by vendor of device.

3. Device Info Data Format – Microcontroller unit Version

Item Data Type Length Description Parameters

MCU Version String 0 ~ 23 bytes Microcontroller unit Version 1.7.5

MCU Version

UUID Payload

Solution Team

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

(Note) Value of parameters may be changed according to value assigned by vendor of device.

4. GPS Data Format – Longitude, Latitude, Speed

Item Data Type Length Description Parameters

Longitude Double 8 bytes Longitude 12701.6446

Latitude Double 8 bytes Latitude 3735.0079

Speed Float 4 bytes Speed (m/sec) 23.0011

Longitude

UUID Payload

Latitude Speed

Solution Team

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

4. GPS Data Format – Time

Item Data Type Length Description Parameters

Time String 14 bytes UTC Time(YYYY/MM/DD/HH/mm/SS)

20140522001315(2014-05-22-00-13-15)

Time

UUID Payload

Solution Team

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

5. Diagnostic Data Format – Power Status

Item Data Type Length Description Parameters

Power Status String 0 ~ 23 bytes Power Status ON, ON-SLIDE_KEY, ON-DC, ON-LV, ON-HTOFF, REBOOT

Power Status

UUID Payload

Solution Team

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

5. Diagnostic Data Format – Recording Mode

Item Data Type Length Description Parameters

Recording Mode String 0 ~ 23 bytes Recording Mode INFINITE, PARKING

Solution Team

Recording Mode

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

5. Diagnostic Data Format – Recording Status

Item Data Type Length Description Parameters

Recording Status String 0 ~ 23 bytes Recording Status START, STOP

Solution Team

Recording Status

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

5. Diagnostic Data Format – SD Card Status

Item Data Type Length Description Parameters

SD Card Status String 0 ~ 23 bytes SD Card Status ENABLED, DISABLED

Solution Team

SD Card Status

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

5. Diagnostic Data Format – Rear Camera Status

Item Data Type Length Description Parameters

Rear Camera Status String 0 ~ 23 bytes Rear Camera Status CONNECTED, DISCONNECTED

Solution Team

Rear Camera Status

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

5. Diagnostic Data Format – Battery Voltage

Item Data Type Length Description Parameters

Battery Voltage String 0 ~ 23 bytes Battery Voltage 11.9, 11.7, 11.5, 11.3 (Voltage)

Solution Team

Battery Voltage

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

5. Diagnostic Data Format – Temperature

Item Data Type Length Description Parameters

Temperature String 0 ~ 23 bytes Temperature 20.1, 36.5 (Celsius)

Solution Team

Temperature

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

6. Parking Event Alert Data Format

Description• Power On : Event File 의 개수를 Smartphone 에 전달• Change Mode (Parking Mode -> Infinite Mode) : Event File 의 개수를 Smartphone 에 전달

Item Data Type Length Description Parameters

Event File Number String 0 ~ 23 Event File Number 4 (number)

Solution Team

Event File Number

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

7. Settings Data Format – G-Sensor Sensitivity

Item Data Type Length Description Parameters

G-Senor Sensitivity String 0 ~ 23 bytes G-Senor Sensitivity 3 : High, 2 : Middle, 1 : Low

Solution Team

G-Senor Sensitivity

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

7. Settings Data Format – G-Sensor Sensitivity (for List)

Solution Team

Item Data Type Length Description Parameters

G-Senor Sensitivity for List String 0 ~ 23 bytes G-Senor Sensitivity for List 3 : High, 2 : Middle, 1 : Low (level)

G-Senor Sensitivity for List

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

7. Settings Data Format – LCD Brightness

Solution Team

Item Data Type Length Description Parameters

LCD Brightness String 0 ~ 23 bytes LCD Brightness 3 : High, 2 : Middle, 1 : Low (level)

LCD Brightness

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

7. Settings Data Format – LCD Brightness (For List)

Solution Team

Item Data Type Length Description Parameters

LCD Brightness for List String 0 ~ 23 bytes LCD Brightness for List 3 : High, 2 : Middle, 1 : Low (level)

LCD Brightness for List

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

7. Settings Data Format – System Time

Solution Team

Item Data Type Length Description Parameters

System Time String 0 ~ 23 bytes UTC Time 20140522001315(YYYYMMDDHHmmSS)

System Time

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

7. Settings Data Format – Voice Guidance

Solution Team

Item Data Type Length Description Parameters

Voice Guidance String 0 ~ 23 bytes Voice Guidance ON, OFF

Voice Guidance

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

7. Settings Data Format – Audio Recording

Solution Team

Item Data Type Length Description Parameters

Audio Recording String 0 ~ 23 bytes Audio Recording ON, OFF

Audio Recording

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

7. Settings Data Format – Screen Off Timer

Solution Team

Item Data Type Length Description Parameters

Screen Off Timer String 0 ~ 23 bytes Screen Off Timer 0, 1, 3, 5, 10 (minutes)0 : Always ON

Screen Off Timer

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

7. Settings Data Format – Screen Off Timer (For List)

Solution Team

Screen Off Timer for List

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

Item Data Type Length Description Parameters

Screen Off Timer for List

String 0 ~ 23 bytes Screen Off Timer 0, 1, 3, 5, 10 (minutes) 0 : Always ON

7. Settings Data Format – Low Battery Voltage

Solution Team

Item Data Type Length Description Parameters

Low Battery Voltage

String 0 ~ 23 bytes Low Battery Voltage 0, 11.5, 11.7, 11.9 (Voltage)0 : Unused

Low Battery Voltage

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

7. Settings Data Format – Low Battery Voltage (For List)

Solution Team

Item Data Type Length Description Parameters

Low Battery Voltage for List String 0 ~ 23 bytes Low Battery Voltage for List 0, 11.5, 11.7, 11.9 (Voltage)0 : Unused

Low Battery Voltage for List

UUID Payload

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

8. System Data Format – BLE Mac Address

Solution Team

Item Data Type Length Description Parameters

UUID String 16 byte Specific UUID UUID : 0000000000000001 (only)

BLE Mac Address String 0 ~ 23 bytes BLE MAC Address 112233445566

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

BLE Chipset

UUID Payload

8. System Data Format – BLE Chipset

Solution Team

Item Data Type Length Description Parameters

UUID String 16 bytes Specific UUID UUID : 0000000000000000 (only)

BLE Chipset String 0 ~ 23 bytes BLE Chipset Name BCM20737, CSR1010

Start De-limiter ID Length ~Length Data

(Functional-specific Data) Checksum

BLE Chipset

UUID Payload