맞춤 PID · OBD-II · iPhone · CarPlay · WrenchTime Pro

차가 혼자만 알고 있는 값을 위한, iPhone 사용자 지정 OBD-II PID

WrenchTime의 맞춤 PID는 앱이 기본으로 보여 주지 않는 값을 위해 직접 정의하는 원시 OBD-II 요청입니다. 변속기나 엔진오일 온도, 부스트 압력, 제조사 전용 센서, 스위치 같은 것입니다. 서비스(01, 21, 22), 식별자, 물어볼 모듈과 주소 지정 방식을 고른 다음, 응답 바이트를 바이트 폭, 부호, 배율과 오프셋 또는 바이트 A부터 H까지의 수식으로 숫자로 바꾸고, 링 계기, 일반 숫자, 상태 램프, 값 매핑 표 가운데 어떻게 그릴지 정합니다. 값은 실시간 데이터 및 상태에, WrenchTime Live 대시보드의 카드로, CarPlay의 타일로 나타나며 모든 주행과 함께 기록할 수도 있습니다. 처음부터 시작할 필요는 없습니다. '카탈로그에서 가져오기'는 OBDb 커뮤니티가 내 차와 가장 가까운 모델에 대해 이미 정리해 둔 값을 보여 주고, 다른 사람이 링크로 공유한 PID는 모든 설정이 채워진 채로 도착합니다. Bluetooth Low Energy ELM327 어댑터나 OBDLink MX+, 그리고 WrenchTime Pro가 필요합니다. 읽기만 가능합니다. 맞춤 PID에 무엇을 입력해도 차량의 어떤 것도 지우거나 쓰거나 재프로그래밍하거나 작동시킬 수 없습니다.

OBD-II 어댑터로 구동되는 링 계기가 있는 iPhone의 WrenchTime Live 대시보드

맞춤 PID란 무엇이고, 언제 필요한가요?

WrenchTime은 표준 모드 01 파라미터를 스스로 읽습니다. 회전수, 속도, 부하, 스로틀, 냉각수와 흡기 온도, 연료 잔량, 전압, 흡기 다기관 압력, 연료 유량입니다(iPhone용 OBD-II 앱 가이드 참고). 차가 아는 값 중 많은 것은 여기에 없습니다. 표준이 요구하지 않거나 제조사가 엔진이 아닌 다른 모듈에 두기 때문입니다. 변속기 오일 온도, 엔진오일 온도, 터보 부스트, DPF 그을음 양, 기어 위치는 대개 이쪽에 속합니다. 맞춤 PID는 그런 값을 직접 요청하는 방법입니다. 커뮤니티 카탈로그에서 가져오거나, 다른 사람이 링크로 공유한 것을 열거나, 차량 설명서, 오너 포럼, 다른 앱에서 이미 쓰는 목록을 보고 요청과 수식을 직접 입력할 수 있습니다. 이 도구는 차량 탭에서 차량 도구를 여는 하트비트 버튼 안에 있고, PID는 각각 한 대의 차량에 속합니다.

내 차의 PID는 어디서 찾나요?

무엇보다 먼저 커뮤니티 카탈로그에서 찾으세요. '새 PID' 옆의 '카탈로그에서 가져오기'를 누르면 모델마다 응답하는 신호를 정리하는 오픈 커뮤니티 프로젝트 OBDb의 카탈로그가 열립니다. 차량의 제조사에서 시작하니, 내 차와 가장 가까운 모델을 고르면 그 신호들이 나열되고, 한 번 탭으로 일반 맞춤 PID로 가져와 나중에 수정할 수도 있습니다. 차량 정보에 모델 연도를 입력해 두면 목록이 그 연식으로 걸러지고, 신호마다 확인됨 또는 미확인이 표시되며, 카탈로그가 같은 모델의 다른 연식에 분류해 둔 신호는 따로 모아 둡니다. 카탈로그의 연식 정보가 완전하지 않기 때문입니다. 앱이 아직 읽을 수 없는 신호는 숨기지 않고 지원 안 됨으로 표시합니다. 카탈로그는 앱에 내장되지 않고 열 때 받아 오며, 오프라인일 때를 위해 사본을 보관합니다. 정의는 CC BY-SA 4.0 라이선스이며 카탈로그 화면에 출처가 표시됩니다.

맞춤 PID를 다른 사람과 공유할 수 있나요?

네, 링크로 공유합니다. 저장된 PID를 열어 공유하면, 링크에 요청, 디코딩, 표시 방식까지 정의 전체가 담기고 중간에 서버를 거치지 않습니다. 링크를 열거나 PID 목록에서 '링크 붙여넣기'로 붙여 넣은 사람은 무엇이든 가져오기 전에 요청과 디코딩을 확인하고, 자기 차량 중 어디에 넣을지 고릅니다. 보기 전용으로 공유받은 차량에는 넣을 수 없습니다. 다른 사람의 링크도 여느 맞춤 PID처럼 읽기 전용 요청을 보내지만, 믿을 수 있는 사람에게서만 가져오세요. 동호회나 차종 포럼에서 잘 작동하는 PID를 돌려 보기에 가장 쉬운 방법입니다.

맞춤 PID는 어떤 요청을 보낼 수 있나요?

읽기 서비스 세 가지뿐이며, 고른 모듈에 그 모듈이 쓰는 CAN 주소 지정 방식으로 보냅니다.

  • 서비스 01, 21, 22 01은 표준 현재 데이터 서비스, 21은 식별자가 1바이트인 오래된 제조사 전용 읽기, 22는 식별자가 2바이트인 UDS 식별자별 읽기로, 최신 제조사 값 대부분이 여기에 있습니다.
  • ECU 헤더 자동(7DF, 모든 OBD-II 모듈이 듣는 기능 요청), 엔진(7E0), 변속기(7E1), 또는 다른 모듈을 위한 세 자리 사용자 지정 헤더입니다. 헤더는 그 요청 하나에만 설정되고 직후 7DF로 복원됩니다. 사용자 지정 헤더를 쓰는 PID는 한 번 읽을 때마다 어댑터와의 왕복이 여러 번 더 필요해서, 느린 단계로 약 8초에 한 번 읽습니다.
  • 표준, 확장, 29-bit 주소 지정 표준은 대부분의 차량처럼 11-bit CAN 식별자를 씁니다. 확장은 맨 앞에 목적지 바이트를 요구하는 게이트웨이 뒤의 모듈용이며, 응답 ID와 이를 지원하는 어댑터가 필요합니다. 29-bit는 진단에 29-bit 식별자를 쓰는 차량용이며, 요청이 18DA로 시작하면 응답 ID는 요청에서 유도되므로 비워 둘 수 있습니다.
  • 다른 폭을 한 라운드만 빌려 쓰기 29-bit PID는 OBD 포트가 11-bit로 답하는 차에서도 작동하고, 그 반대도 마찬가지입니다. WrenchTime은 그 값을 읽는 동안 어댑터를 짝이 되는 프로토콜로 바꿨다가 곧바로 되돌리며, 같은 때에 읽어야 하는 그런 PID 여러 개는 전환 한 번을 함께 써서 실시간 데이터가 매끄럽게 유지됩니다. 전환에는 프로토콜을 어댑터 메모리에 저장하는 명령을 결코 쓰지 않습니다. 어댑터가 전환을 거부하면, 그 PID들은 억지로 밀어붙이지 않고 그 세션 동안 건너뜁니다.

응답을 어떻게 숫자로 바꾸나요?

서비스 에코와 식별자를 떼고 나면 응답의 데이터 바이트는 A, B, C 순으로 H까지 이름이 붙고, 읽는 방법은 두 가지 중에서 고릅니다. 편집기의 테스트 섹션에서 지금 읽기로 요청을 한 번 보내면 원시 응답이 해석된 값 옆에 나오므로, 잘못된 바이트나 배율은 저장하기 전에 드러납니다.

  • 심플 1, 2, 4바이트(A, AB, ABCD)를 부호 없는 값이나 8-bit 또는 16-bit 부호 있는 값으로 읽고, 배율을 곱한 뒤 오프셋을 더합니다. 공개된 PID 정의 대부분이 이 형태에 맞습니다.
  • 수식 A부터 H까지에 + - * / ^와 괄호를 쓰는 Torque 방식의 식에, 부호 있는 1바이트를 위한 SIGNED(A), 부호 있는 16-bit 값을 위한 INT16(A:B), 비트 하나를 위한 BIT(A:n)이 더해집니다. A * 0.75 - 40 같은 수식은 보통 공개된 그대로 입력합니다.
  • 단위 변환 선택 사항이며 해석한 뒤에 적용합니다. 섭씨와 화씨 양방향, kPa나 bar에서 psi로 또는 그 반대, km/h와 mph 양방향입니다. 단위 라벨 자체는 자유 입력인데, 제조사가 어떤 단위로 값을 문서화했는지 앱이 알 수 없기 때문입니다.
  • 폴링 단계 빠름(초당 약 세 번), 보통(초당 약 한 번), 느림(약 8초에 한 번)이며, 기본 제공 값과 같은 일정을 씁니다. 어댑터의 처리량에는 한계가 있으므로, 실시간 데이터가 끊기면 PID의 주기를 늦추거나 하나를 지우세요.

사용자 지정 값은 어떻게 표시할 수 있나요?

PID마다 표시 유형이 있고, 그 값을 보여 주는 모든 화면이 같은 유형을 써서 값이 휴대폰에서도 차 안에서도 똑같이 보입니다. 짧은 이름은 계기 카드와 CarPlay 타일에 들어가는 이름입니다.

  • 계기 직접 정한 최솟값과 최댓값이 있는 링이며, 낮은 쪽과 높은 쪽에 각각 주의 구간과 위험 구간을 둘 수 있어서, 변속기 온도가 정한 지점에서 주황색으로, 이어서 빨간색으로 바뀝니다.
  • 숫자 단위 라벨이 옆에 붙은 일반 값으로, 의미 있는 범위가 없는 값에 씁니다.
  • 상태 켜짐이나 꺼짐으로 읽히는 램프입니다. 특정 비트 하나를 고르지 않는 한 0이 아닌 값은 모두 활성으로 봅니다. ‘활성 시 알림’은 켜질 때 위험 색으로 물들입니다.
  • 값 매핑 표 값을 라벨에 대응시키는 행으로, 기어 선택이나 모드 바이트가 숫자가 아니라 P, R, N, D, Eco로 읽힙니다.

맞춤 PID는 어디에 나타나나요?

세 곳이며, 모두 같은 어댑터 세션에서 값을 받습니다. 설정, 연결 아래의 실시간 데이터 및 상태에서는 차량의 활성 맞춤 PID가 기본 제공 계기 뒤에 별도 섹션으로 이어집니다. WrenchTime Live 대시보드에서는 맞춤 PID 카드를 다른 계기처럼 추가할 수 있으며, 여러 번 나타날 수 있는 유일한 카드여서 사용자 지정 값 두 개를 한 페이지에 놓을 수 있습니다. 차량이 둘 이상이면 위젯 갤러리에서 누구의 맞춤 PID를 나열할지 고를 수 있습니다. 다른 차량용 카드는 어느 차량에서 읽는지 알려 주고, 대시보드를 그 차량에서 열 때 살아납니다. PID는 각각 자기 차량의 어댑터로 읽기 때문입니다. CarPlay에서는 맞춤 PID가 설정, CarPlay에서 Live 탭 배치에 놓을 수 있는 타일이며, 휴대폰과 같은 범위와 구간으로 그려집니다. 상태 PID는 CarPlay에서 색이 입혀진 타일로 남고, 운전 중에 경고를 띄우지는 않습니다. CarPlay는 WrenchTime Pro의 일부입니다.

맞춤 PID를 타일로 놓을 수 있는, OBD-II 계기 타일 그리드가 표시된 차량 디스플레이의 WrenchTime CarPlay Live 탭

사용자 지정 값을 주행마다 기록할 수 있나요?

네, PID마다 가능합니다. ‘주행 중 기록’을 켜면 그 어댑터가 기록하는 주행마다 값이 남고, 기본 제공 텔레메트리와 함께 주행에 저장되며 주행의 저장 데이터가 작게 유지되도록 단순화됩니다. 기록된 맞춤 PID는 주행 차트에서 별도 채널로 고를 수 있고, 전체 화면 경로의 타임라인 메뉴에서도 고를 수 있어 주행을 따라 그려지고 리플레이 중에 계기가 움직입니다. 이 스위치는 기본적으로 꺼져 있습니다. 기록하는 값마다 주행이 커지고, 어댑터의 처리량은 어댑터가 읽는 다른 모든 값과 나눠 쓰기 때문입니다. 한 번의 주행에 사용자 지정 값을 최대 열여섯 개까지 기록할 수 있습니다. 나머지 OBD-II 텔레메트리와 마찬가지로, 사용자의 iCloud를 거치는 경우 말고는 기기 밖으로 나가는 것이 없습니다.

iPhone으로 변속기 온도를 어떻게 읽나요?

지원되는 OBD-II 어댑터와 맞춤 PID로 읽습니다. 변속기 온도는 표준 OBD-II 파라미터가 아니어서 요청이 제조사에 따라, 종종 변속기에 따라 달라집니다. 먼저 '카탈로그에서 가져오기'를 보세요. 커뮤니티가 내 모델에 맞춰 정리해 두었다면 바로 가져올 수 있습니다. 없다면 내 차의 서비스, 식별자, 수식을 찾아보세요. 애호가 포럼과 다른 앱용 PID 목록에 대개 올라와 있습니다. 그런 다음 WrenchTime에서 맞춤 PID를 추가하고, 목록이 말하는 대로 서비스 22나 21을 고르고, ECU 헤더를 변속기(7E1)나 목록이 주는 헤더로 설정하고, 변속기가 29-bit 모듈에 있다면 29-bit 주소 지정을 고르고, 수식을 입력합니다. 지금 읽기로 상식적인 온도가 돌아오는지 확인하고, 주의 구간과 위험 구간이 있는 계기를 고르고, 주행마다 온도를 남기고 싶다면 ‘주행 중 기록’을 켜세요. 모듈이 응답하지 않는다면 차량이 OBD 포트로 그 값을 아예 내놓지 않는 것일 수 있고, 이는 어떤 앱으로도 우회할 수 없습니다.

기본 제공 계기의 눈금을 바꿀 수 있나요?

네, 그리고 그 도구는 무료입니다. 같은 차량 도구 목록의 게이지 범위는 한 차량에 대해 기본 제공 OBD-II 값의 계기를 재정의합니다. 최솟값과 최댓값, 각 방향을 선택할 수 있는 주의 구간과 위험 구간, 회전계의 경우 레드존입니다. 레드존이 더 낮은 디젤이나 평소 더 뜨겁게 도는 냉각수 온도도 그러면 있어야 할 자리에 그려집니다. 재정의는 차량별이고 다른 차량은 출하 시 수치를 그대로 쓰며, 채널마다 또는 차량 전체를 초기화할 수 있습니다. 실시간 데이터 및 상태, Live 대시보드, CarPlay 등 그 값이 나타나는 모든 곳이 같은 눈금으로 그려집니다. 맞춤 PID에는 필요 없습니다. 계기 범위를 PID 자체에서 정하기 때문입니다.

맞춤 PID가 차의 어떤 것이라도 바꿀 수 있나요?

아니요. 요청 빌더는 서비스 01, 21, 22만 받고 그 밖에는 받지 않으므로, 코드 지우기, 액추에이터 테스트, 세션 제어, 보안 접근, 쓰기, 코딩, 루틴은 무엇을 입력하든 맞춤 PID로 보낼 수 없습니다. 모든 주소 입력란은 정확한 길이와 16진수 문자만 검사해 다듬지 않고 거부하므로, 텍스트로 두 번째 명령을 몰래 끼워 넣을 수 없습니다. 헤더는 읽을 때마다 복원되고 어댑터에 저장된 프로토콜은 다시 쓰이지 않습니다. 고장 코드 도구는 맞춤 PID가 아니라 자체의 보호된 경로로, 엔진이 꺼진 상태에서 두 번 확인한 뒤에 코드를 지웁니다. 카탈로그에서 가져오거나 링크로 연 PID도 똑같은 검사를 거치므로, 다른 사람이 만든 정의라도 직접 입력한 정의가 보낼 수 없는 것은 보낼 수 없습니다. iPhone용 Torque Pro 같은 도구를 찾고 있다면, iPhone의 Torque Pro 글이 무엇이 그대로 넘어오고 무엇이 그렇지 않은지 비교합니다.

자주 묻는 질문

iPhone용 Torque Pro 맞춤 PID 대안이 있나요?

WrenchTime의 맞춤 PID는 iPhone에서 같은 영역을 다룹니다. 서비스 01, 21, 22, 사용자 지정 ECU 헤더, SIGNED, INT16, BIT 함수가 있는 바이트 A부터 H까지의 Torque 방식 수식을 지원해서, 공개된 Torque PID 정의 대부분을 그대로 입력할 수 있습니다. Bluetooth Low Energy ELM327 어댑터나 OBDLink MX+, 그리고 WrenchTime Pro가 필요합니다. Torque의 PID 파일은 읽지 않지만, PID는 OBDb 커뮤니티 카탈로그에서 가져오거나 다른 사람이 공유한 링크로 열 수 있고, 그 밖의 것은 직접 입력합니다.

WrenchTime에 제조사 PID 목록이 포함되어 있나요?

내장되어 있지는 않지만 가져올 수 있습니다. '카탈로그에서 가져오기'는 OBDb 커뮤니티가 내 차와 가장 가까운 모델에 대해 정리해 둔 PID를 연식으로 걸러, 확인됨 또는 미확인 표시와 함께 보여 줍니다. 카탈로그에 없는 것은 차량 설명서나 공개된 목록을 보고 직접 정의하면 되고, 지금 읽기 테스트가 원시 응답을 보여 주므로 저장하기 전에 정의를 확인할 수 있습니다.

맞춤 PID를 공유할 수 있나요?

네, 정의 전체가 담긴 링크로 공유합니다. 링크를 열거나 붙여 넣은 사람은 먼저 요청과 디코딩을 확인한 다음, 어느 차량에 넣을지 고릅니다.

iPhone으로 변속기 온도를 읽을 수 있나요?

많은 차량에서 가능합니다. 변속기 모듈을 가리키는 맞춤 PID로, 내 제조사의 요청과 수식을 안다면 됩니다. 모든 차가 OBD 포트로 그 값을 내놓지는 않습니다.

맞춤 PID는 무료인가요?

맞춤 PID는 WrenchTime Pro에 포함됩니다. 기본 제공 계기의 범위, 구간, 레드존을 차량별로 바꾸는 게이지 범위 도구는 무료입니다.

맞춤 PID가 차를 손상시키거나 재프로그래밍할 수 있나요?

아니요. 읽기 서비스 01, 21, 22만 보낼 수 있습니다. 쓰기, 지우기, 액추에이터 테스트, 보안 접근, 세션 제어, 루틴은 구조상 거부됩니다.

맞춤 PID는 CarPlay에서 작동하나요?

네. 맞춤 PID를 CarPlay Live 탭의 타일로 놓을 수 있으며, 휴대폰과 같은 계기 범위와 구간으로 그려집니다. CarPlay는 WrenchTime Pro의 일부입니다.

맞춤 PID가 다른 기기에도 동기화되나요?

네. 맞춤 PID는 차량과 함께 저장되고, 차량의 나머지 데이터처럼 사용자의 iCloud로 동기화됩니다. 어댑터 페어링 자체는 그것을 만든 휴대폰에 남습니다.

WrenchTime 앱 아이콘. 주황색 엔진과 렌치

짐작하기보다 알고 싶은 사람을 위해.

다운로드는 무료입니다. 차량 한 대, 제대로 된 기능, 광고 없음. 당신의 차고가 고마워할 겁니다.

App Store에서 WrenchTime 다운로드