
xj-scanner란?
xj-scanner는 저렴한 5V Arduino Nano를 사용해 노트북을 1991~95년식 Jeep의 엔진 컴퓨터에 연결합니다. 후드 아래의 진단 커넥터에서 세 개의 전선을 Nano로 연결하고, Nano는 USB를 통해 노트북에 연결합니다.
연결이 완료되면 이 프로젝트로 고장 코드를 읽고 실시간 엔진 데이터를 확인하며, 주행 중 정보를 기록하고 엔진 컴퓨터에 내장된 액추에이터 테스트를 실행할 수 있습니다. Claude Code, Codex 또는 다른 코딩 에이전트가 설정 과정을 안내하고 저장소의 지침을 해석해 줄 수 있습니다.
이 프로젝트는 4.0L 엔진과 컴퓨터 부품 번호 56030117이 장착된 1994년식 Jeep Cherokee XJ에서 제작 및 테스트되었습니다. 다른 1991~95년식 Chrysler 및 Jeep SBEC/OBD1 컴퓨터도 유사할 수 있지만, 호환성은 보장되지 않습니다. 하드웨어를 연결하기 전에 반드시 자신의 진단 커넥터를 측정하십시오.

주요 기능
- 엔진 컴퓨터의 고장 코드를 읽습니다.
- 실시간 엔진 매개변수와 환산된 값을 표시합니다.
- 실시간 데이터를
pc/logs/아래의 파일에 기록합니다. - 엔진 컴퓨터에 내장된 액추에이터 테스트를 지원합니다.
- 차량 없이도 노트북 소프트웨어를 테스트할 수 있는 Jeep 시뮬레이션 모드를 포함합니다.
- Nano 배선 디버깅 스케치와 기본 브리지 펌웨어를 제공합니다.
- 로그 요약, 매개변수 탐색, 컴퓨터 부품 번호 확인을 위한 도우미 도구를 포함합니다.
- 설치 및 문제 해결을 안내하는 에이전트용 플레이북을 제공합니다.
필요한 하드웨어
예상 하드웨어 비용은 약 $15입니다. 시작하기 전에 다음 부품을 준비하십시오:
- USB-C 또는 mini-USB와 호환 케이블이 있는 5V Arduino Nano 클론.
- 소형 브레드보드.
- 브레드보드용 점퍼선 몇 개.
- 후드 아래의 커넥터에서 노트북이 있는 위치까지 닿을 만큼 긴 전선 세 개.
- 진단 커넥터에 맞는 1/4인치 수 스페이드 단자 세 개.
- 멀티미터.
중요 안전 경고
점검 6번 캐비티에는 점화 키가 켜져 있을 때 12V가 흐릅니다. Arduino 또는 스캐너 전선을 절대로 캐비티 6에 연결하지 마십시오.
전선 색상으로 커넥터 캐비티를 식별하지 마십시오. 테스트 차량에서는 캐비티 6이 접지선과 동일한 검정색 및 흰색 전선을 사용했습니다. 잘못 연결하면 Nano 또는 노트북이 차량 전압에 노출될 수 있습니다.
배선하기 전에 멀티미터로 모든 캐비티를 확인하십시오. 측정값을 docs/connector.md의 예상 측정값과 비교하십시오. 저장소에서 테스트한 배선은 각각 Nano 핀 D10, D11, GND를 진단 플러그 캐비티 4, 3, 2에 연결하지만, 먼저 차량의 커넥터를 직접 확인해야 합니다.
옵션 1: AI 코딩 에이전트의 안내로 설정하기
가장 쉬운 설치 방법은 Claude Code, Codex 또는 저장소를 인식하는 다른 코딩 에이전트를 사용하는 것입니다.
- xj-scanner 저장소를 노트북에 복제합니다.
- 코딩 에이전트에서 저장소를 엽니다.
- 다음과 같이 요청합니다: Help me hook this up to my Jeep.
- 지침을 한 단계씩 따릅니다.
에이전트는 AGENTS.md와 .claude/skills/ 아래의 플레이북을 읽을 수 있습니다. 이 지침에는 소프트웨어 설정, 브레드보드 조립, 멀티미터를 사용한 커넥터 캐비티 식별, 첫 번째 측정 수행 방법이 포함되어 있습니다. 지침이 명확하지 않으면 진행하기 전에 에이전트에게 더 쉬운 말로 설명해 달라고 요청하십시오.
옵션 2: xj-scanner 수동 설치 및 실행
1. Python 환경 만들기
저장소 루트에서 가상 환경을 만들고 스캐너의 종속 항목을 설치합니다:
python3 -m venv .venv && .venv/bin/pip install -r pc/requirements.txt2. 데모 모드에서 노트북 소프트웨어 테스트하기
Jeep에 연결하기 전에 시뮬레이션 차량을 대상으로 스캐너를 실행합니다:
.venv/bin/python pc/xj_scan.py --cli DEMO이렇게 하면 Arduino나 엔진 컴퓨터 없이 Python 측이 작동하는지 확인할 수 있습니다. 데모 모드가 실패하면 차량 배선으로 넘어가기 전에 노트북 측 문제를 해결하십시오.
3. Arduino CLI 및 AVR 코어 설치하기
README에는 Homebrew를 사용하는 macOS용 다음 명령이 제공됩니다:
brew install arduino-cli
arduino-cli core install arduino:avr다른 운영 체제를 사용하는 경우 해당 플랫폼에 맞는 방법으로 arduino-cli를 설치한 다음 arduino:avr 코어를 설치하십시오.
4. Nano 연결 및 식별하기
USB를 통해 Arduino Nano를 노트북에 연결합니다. 직렬 포트를 확인한 다음 업로드 명령의 /dev/cu.usbserial-XXXX를 실제 포트로 바꿉니다.
이 예제에서는 여러 Nano 클론에서 사용하는 구형 부트로더 구성을 선택하는 보드 식별자 arduino:avr:nano:cpu=atmega328old를 사용합니다.
5. 브리지 펌웨어 컴파일 및 업로드하기
arduino-cli compile --upload -p /dev/cu.usbserial-XXXX --fqbn arduino:avr:nano:cpu=atmega328old arduino/xj_bridgexj_bridge 스케치는 Nano를 노트북 스캐너와 Jeep 엔진 컴퓨터 사이의 통신 브리지로 전환합니다.
6. 배선 확인 및 조립하기
차량 배선을 Nano에서 분리한 상태에서 멀티미터를 사용해 진단 커넥터 캐비티를 식별합니다. 커넥터 측정값, 브레드보드 배치 및 배선 세부 정보는 저장소의 docs/ 디렉터리를 참조하십시오.
테스트한 차량의 세 신호 연결은 다음과 같습니다:
- Nano
D10에서 진단 커넥터 캐비티4로 연결. - Nano
D11에서 진단 커넥터 캐비티3으로 연결. - Nano
GND에서 진단 커넥터 캐비티2로 연결.
이 목록만을 근거로 진행하지 마세요. 차량의 각 커넥터 캐비티를 확인하고 모든 전선이 캐비티 6에서 떨어져 있도록 하세요.
7. 오류 코드 및 실시간 데이터 읽기
펌웨어와 확인된 배선이 준비되면 점화 키를 ON으로 돌리고 다음을 실행하세요.
.venv/bin/python pc/xj_scan.py --cli auto자동 모드에서 스캐너는 오류 코드를 읽은 다음 실시간 데이터를 수집합니다. 로그는 pc/logs/ 아래에 기록됩니다.
저장소 구조 이해하기
arduino/: 기본xj_bridgeNano 스케치와 배선 디버깅용xj_sniff스케치를 포함합니다.pc/: 오류 코드, 실시간 데이터, 로깅 및 액추에이터 테스트를 처리하는xj_scan.py를 포함합니다.tools/: 로그 요약, 모든 파라미터 검색, 엔진 컴퓨터 부품 번호 확인을 위한 유틸리티를 포함합니다.docs/: 커넥터, 배선, 통신 프로토콜, 파라미터, 스케일링 공식 및 문제 해결 절차를 문서화합니다..claude/skills/: AI 에이전트가 사용자와 함께 따를 수 있는 단계별 플레이북을 포함합니다.
기본 작업 흐름
처음에는 신중하게 다음 순서로 진행해야 합니다.
DEMO모드를 실행하여 Python과 종속 항목을 검증합니다.- Nano에
xj_bridge를 업로드합니다. - 차량 측 배선을 분리하고 모든 커넥터 캐비티를 측정합니다.
- 문서를 참고하여 접지 및 통신 캐비티를 확인합니다.
- 브레드보드 회로를 구성하고 모든 연결을 다시 확인합니다.
- 엔진을 시동하지 않은 상태에서 키를 ON으로 돌립니다.
--cli auto로 스캐너를 실행합니다.- 보고된 오류 코드를 검토하고
pc/logs/에 로그가 생성되었는지 확인합니다.
고급 팁
통신에 실패하면 디버그 스케치 사용
arduino/xj_sniff 스케치는 배선 진단을 위해 포함되어 있습니다. 브리지가 엔진 컴퓨터와 통신하지 못하면 docs/의 문제 해결 자료와 함께 사용하세요. 전원이 공급되는 동안 배선을 변경하지 마세요.
주행 로그 요약
실시간 데이터를 기록한 후 tools/ 아래의 도우미를 확인하세요. 이 저장소에는 긴 기록을 더 쉽게 검토할 수 있도록 로그를 요약하는 유틸리티가 포함되어 있습니다. 원본 데이터를 변경하지 않고 보존하려면 복사한 로그를 사용하세요.
사용 가능한 파라미터를 신중하게 검색
도우미 도구를 사용하면 프로젝트에서 인식하는 모든 파라미터를 검색할 수 있습니다. 사용하기 전에 프로토콜 및 파라미터 문서를 확인하여 어떤 요청이 전송되는지와 각 원시 값이 어떻게 스케일링되는지 이해하세요.
엔진 컴퓨터 부품 번호 확인
이 프로젝트는 엔진 컴퓨터 56030117에서 검증되었으므로, 다른 차량을 조사할 때는 제공된 부품 번호 도우미를 사용하세요. 다른 SBEC/OBD1 컴퓨터도 유사하게 작동할 수 있지만, README는 지원을 보장하지 않습니다.
액추에이터 테스트 주의
PC 스캐너는 기본 액추에이터 테스트를 지원합니다. 이 테스트는 차량 하드웨어를 작동시킬 수 있으므로, 해당 테스트를 정확히 이해하고 차량이 안전한 위치에 있으며 움직이거나 전원이 공급되는 부품으로 인해 부상이나 손상이 발생하지 않는 경우에만 실행하세요.
상세 스케일링 문서 사용
docs/ 디렉터리에는 사용 가능한 파라미터와 스케일링 공식이 설명되어 있습니다. 원시 판독값을 해석할 때, 특히 연료 트림을 분석하거나 다른 스캔 도구의 값과 비교할 때 참고하세요.
문제 해결 체크리스트
- 차량 연결을 진단하기 전에
--cli DEMO가 작동하는지 확인합니다. - Nano가 예상한 USB 직렬 포트에 표시되는지 확인합니다.
- 올바른 Nano 부트로더가 선택된 상태로 펌웨어가 업로드되었는지 확인합니다.
- 전선 색상에 의존하지 말고 진단 커넥터를 측정합니다.
- 어떤 전선도 캐비티 6에 연결되지 않았는지 확인합니다.
- 배선 문서와 비교하여 D10, D11 및 GND 브레드보드 경로를 확인합니다.
- 전기적 구성이 올바른 것으로 보이지만 통신이 계속 실패하면
xj_sniff와 문제 해결 가이드를 사용합니다. - 테스트하지 않은 Chrysler 또는 Jeep 컴퓨터는 1994 Cherokee 테스트 차량과 다를 수 있다는 점을 기억합니다.
결론
xj-scanner는 노트북과 Arduino Nano를 사용하여 호환되는 Jeep의 OBD1 엔진 컴퓨터를 저렴하게 살펴볼 수 있는 방법을 제공합니다. 데모 모드로 시작하고, 멀티미터로 모든 커넥터 캐비티를 확인하며, 저장소 문서를 주의 깊게 따르세요. 이 프로젝트는 차량 전자 장치와 통신하는 GPLv3 취미용 소프트웨어이므로 사용에 따른 책임은 사용자에게 있으며, 전기 안전을 최우선으로 하세요.
이 프로젝트는 ChryslerScanner의 프로토콜, 파라미터, 스케일링 및 오류 코드 작업을 기반으로 하며, 연료 트림 스케일링은 분해된 SBEC 코드를 참고했습니다.
