이 정보는 RealDash 버전 1.5.8 이상에 적용됩니다.
OBD2 커뮤니케이션
OBD2 (ELM327 어댑터를 통한)와 RealDash 간의 통신은 완전히 사용자 정의 할 수 있습니다. 통신을 설명하는 XML 텍스트 파일을 편집하여 사용자 정의를 수행합니다. 좋은 시작점은 RealDash가 기본적으로 사용하는 기본 XML 파일입니다. 기본 파일은 RealDash-extras GitHub 프로젝트 에서 사용할 수 있습니다 .
GitHub 프로젝트에서 'Channel_description_files / OBD2 / realdash_obd2.xml'로 이동하십시오.
XML 파일은 'init' 및 'rotation' 의 두 가지 주요 섹션으로 구성됩니다 .
'init'섹션
init 섹션의 명령은 RealDash가 ELM327 어댑터에 연결된 후 전송됩니다. 사용자 정의 헤더 등을 활성화해야하는 경우이 명령을 추가 할 수있는 올바른 위치입니다. 다음은 init 섹션의 예입니다.
<init>
<!-첫 번째 init 명령이 전송 된 후 RealDash는 다음 3500ms 동안 직렬에서 오는 데이터를 읽습니다. 이것은 직렬 버퍼를 제거하기 위해 수행됩니다. ->
<!- 'atl0', 'ate0'또는 'ats0'명령을 제거하지 마십시오. 이러한 설정은 어댑터의 응답을 구문 분석 할 때 가정됩니다. ->
<command send = "atd"> </ command>
<command send = "atz"> </ command>
<command send = "atsp0"> </ command>
<command send = "atl0"> </ command >
<command send = "ate0"> </ command>
<command send = "ats0"> </ command>
<command send = "atdpn"
'회전'섹션
초기화 섹션의 명령이 전송되고 응답이 수신 된 후 RealDash는 회전 섹션에서 명령을 보내기 시작합니다. 이 명령은 연결이 종료 될 때까지 OBD2로 전송됩니다. 다음은 회전 섹션에 하나의 명령입니다.
<command send = "010c"skipCount = "0"targetId = "37"conversion = "V / 4"> </ command>
설명 된 매개 변수 :
send
어댑터로 전송하는 명령입니다. 위의 예 010c에서 엔진 RPM을 요청하는 명령입니다.
skipCount
이 명령 전송을 건너 뛰는 횟수입니다. 이 값을 사용하면 특정 값을 덜 자주 요청하여 더 많은 시간이 중요한 응답을 더 빨리받을 수 있습니다. 예를 들어 skipCount로 5를 사용하면 명령이 전송되고 그 후에는 명령을 5 번 전송하지 않고 다시 전송합니다. 주변 온도와 같은 일부 값의 경우 skipCount는 매우 큰 값일 수 있습니다.
targetId
이 값은 수신 된 데이터를 RealDash 입력에 매핑합니다. RealDash targetId 의 전체 목록을 확인하십시오 .
변환 [선택 사항]
대부분의 경우 OBD2의 데이터는 다양한 방식으로 압축 또는 압축되므로 올바르게 표시되도록 변환해야합니다. 변환은 수신 된 데이터에 적용되는 공식입니다. 위의 예에서 변환 V / 4는 수신 데이터를 가져 와서 값을 RPM 입력에 첨부하기 전에 4로 나눕니다. 다음 변수를 사용하여 유효한 수학 공식을 변환 할 수 있습니다.
V- 'VALUE'를 의미합니다. 이것은 그대로 반환 된 전체 값입니다 (수신 된 모든 바이트). B0- 응답의
첫 번째 바이트 (왼쪽부터)
B1-응답의 두 번째 바이트
...
B256
...
RealDash 1.6.6부터 옵션 'conversionABC'를 사용할 수 있습니다. 'conversionABC'는 달리 'conversion'과 동일하지만 개별 바이트는 A, B, C, ..., AA, AB, AC, ... 등으로 식별됩니다. 방법. 이렇게하면 다른 앱에서 수식을 더 쉽게 변환 할 수 있습니다.
예 : conversion = "B0 + 15 * (B1-43)"및 conversionABC = "A + 15 * (B-43)"는 동일합니다.
전환 예 :
conversion = "V / 10"
-결과는 들어오는 값입니다 / 10
conversion = "B0 + 15 * (B1-43)"
-결과는 첫 번째 바이트 + 15 * (두 번째 바이트-43)입니다
Wikipedia 페이지 에는 표준 PID 및 해당 변환에 대한 정보가 있습니다 .
명령에 대한 다른 선택적 매개 변수
units [선택 사항]
자동 단위 변환을 적용하기위한 선택적 정보입니다. 유효한 값은 "C", "F", "km / h", "mph", "bar", "psi", "bit"입니다. 단위가 비트로 설정된 경우 RealDash는 항상 값의 가장 낮은 비트를 설정하거나 해제합니다. 따라서 변환시 오른쪽으로 비트 시프트가 필요합니다. 예를 들어 변환 (V >> 1)은 들어오는 값에서 두 번째 비트를 읽습니다.
name [선택적 to targetId]
값을 기존 RealDash 입력에 매핑하는 대신 'name'매개 변수를 사용하여 RealDash 'ECU 특정'카테고리에 새 입력을 작성할 수 있습니다. 이름 매개 변수는 명령에 'targetId'가없는 경우에만 읽습니다.
예 :
<command send = "010c"skipCount = "0"name = "MYECU : 특수 RPM"conversion = "V / 4"> </ command>
header [선택 사항]
명령을 보내기 전에 설정할 헤더입니다. set 헤더는 다시 설정 될 때까지 유지되므로 다른 헤더를 가진 연속 명령은 헤더를 지정해야합니다. 헤더를 설정하기위한 전체 AT 명령이 포함되어야합니다. 모든 명령이 동일한 헤더를 사용하는 경우 'init'섹션에 배치하는 것이 가장 좋습니다.
예 :
<command send = "010c"header = "atsh7e0"skipCount = "0"targetId = "37"conversion = "V / 4"> </ command>
<command send = "2010"header = "atsh7e5"skipCount = "0"name = "MYECU : 사용자 정의 값 1"conversion = "V / 4"> </ command>
하나의 명령으로 여러 값을 수신
다음은 ELM327 어댑터에 단일 명령을 전송하여 여러 값을 수신하는 방법의 예입니다.
<command send = "2101"skipCount = "0">
<values
<value targetId = "37"conversion = "B11 * 40"> </ value>
<value targetId = "81"units = "km / h"변환 = "B17"> </ value>
<value targetId = "12"conversion = "(B18 * 12.8 / 255) +5.2"> </ value>
<value targetId = "14"units = "C"conversion = "B8 -40 "> </ value>
<value targetId ="42 "conversion ="B10 "> </ value>
<value targetId ="35 "conversion ="B22 * 2.04 / 255 + B23 * 522.24 / 255 "> </ 값>
<값 targetId = "0"conversion = "14.7 * (B9 + 128) / 256"> </ value>
<value targetId = "30"conversion = "B26 * 42.5 / 255 + B27 * 10880 / 255"> </ value>
</ values>
< / command>
사용자 정의 된 XML을 RealDash로 가져 오는 방법
RealDash를 실행하는 장치에서 액세스 할 수있는 장소에 XML 파일을 저장하십시오.
열기 RealDash로 이동 차고 , 열려있는 차량 도어 및 계기판을 누릅니다
온 '연결' 목록, 귀하의 OBD2 연결을 누릅니다.
를 눌러 '사용자 정의 채널 설명 파일' 버튼은 XML 파일을 선택합니다.
왼쪽 상단의 '완료' 버튼을 누르고 차고를 종료하십시오.
RealDash는 다시 연결하고 사용자 정의 XML 파일을 사용하여 통신합니다.
OBD2 통신 최적화 설정
RealDash에는 일부 차량의 데이터 속도를 높일 수있는 두 가지 설정이 있습니다. 다음 설정에 액세스 할 수 있습니다.
Multipid Request 사용
이 설정은 CAN 버스가있는 비교적 새로운 차량이있는 경우에 작동합니다. 이 옵션이 활성화되면 RealDash는 다중 요청 요청 명령을 생성하고 차량이 지원할 때 하나의 응답으로 여러 값을 수신 할 수 있습니다. 이것은 데이터 속도를 상당히 증가시킵니다. 구형 차량에서는이 설정으로 차량 연결 시간이 느려지므로 기본적으로 비활성화되어 있습니다.
첫 번째 회신 만 요청
최신 차량에서는 일부 요청 된 정보가 여러 모듈에 포함될 수 있습니다. 예를 들어 엔진 RPM은 차량의 ECU 및 TCU에 저장 될 수있다. 이 옵션을 사용하면 어댑터가 사용 가능한 첫 번째 값으로 응답하고 모든 모듈이 요청에 응답 할 때까지 기다리지 않습니다. 경우에 따라 데이터 속도가 증가 할 수 있습니다.
'IT > 안드로이드' 카테고리의 다른 글
Carlinkit dongle 카플레이 동글 (0) | 2020.05.19 |
---|---|
지패드3 v520 자동부팅, 매립 (3) | 2020.04.17 |
알리발 j710 액정 교체 (0) | 2020.04.09 |
갤럭시 J710 액정교체기 (0) | 2020.04.01 |
맵피 루팅 버전, 우회 버전 (0) | 2020.03.25 |