본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 시스템·유틸리티 · 윈도우즈 유틸

CANtact can application

0

CANtact-app은 Controller Area Network(CAN) 시스템과 데스크톱에서 통신하기 위한 오픈소스 소프트웨어 도구입니다.

CAN 버스Java 애플리케이션시리얼 통신오픈소스자동차 네트워크진단 도구하드웨어 인터페이스

소개

CANtact-app은 Controller Area Network(CAN) 시스템과 데스크톱에서 통신하기 위한 오픈소스 소프트웨어 도구입니다. 주로 CANtact 하드웨어와 함께 사용되도록 설계되었지만, LAWICEL 프로토콜을 사용하는 다른 장치에서도 작동할 수 있습니다. Java로 개발되었으며, CAN 버스 트레이스 표시, 실시간 프레임 데이터 표시, 간단한 CAN 프레임 전송, JavaScript 스크립팅 인터페이스, ISOTP 전송 및 수신, candump 형식으로 CAN 트레이스 저장 등의 기능을 제공합니다.

상세정보

CAN 버스 트레이스 표시 및 실시간 모니터링

CANtact-app은 수신된 CAN 프레임을 실시간으로 표시하여 사용자가 버스 트래픽을 시각적으로 확인할 수 있도록 합니다. ‘Live Window’ 탭에서는 ID, DLC, 데이터 열이 있는 테이블에 최신 프레임이 표시되며, ‘Clear’ 버튼을 눕 표시를 초기화할 수 있습니다.

간단한 CAN 프레임 전송 기능

‘Transmit Window’ 탭을 통해 사용자는 CAN ID, DLC, 데이터 바이트를 입력하여 수동으로 CAN 프레임을 전송할 수 있습니다. 데이터 입력란은 여섯 개의 16진수 필드로 구성되어 있으며, 각 필드에 값을 입력한 후 ‘Transmit’ 버튼을 클릭하면 프레임이 전송됩니다.

JavaScript 스크립팅 인터페이스

CANtact-app은 JavaScript를 통해 사용자 정의 로직을 구현할 수 있는 스크립팅 인터페이스를 제공합니다. 이를 통해 자동화된 테스트, 사용자 정의 프로토콜 처리, 또는 복잡한 버스 시나리오 시뮬레이션이 가능합니다.

ISOTP 전송 및 수신 지원

이 소프트웨어는 ISO-TP(ISOTP) 프로토콜을 지원하여 다프레임 메시지의 전송과 수신을 처리할 수 있습니다. 이는 진단 통신(UDS) 및 기타 고급 CAN 애플리케이션에 필수적인 기능입니다.

CAN 트레이스 저장 (candump 형식)

수신된 CAN 트레이스는 candump 형식으로 저장할 수 있어, 이후 분석이나 디버깅을 위해 로그를 보존할 수 있습니다. 이 형식은 표준 CAN 도구들과 호환되어 외부 분석 도구와의 연동이 용이합니다.

다운로드·설치 방법

CANtact-app은 소스 코드 형태로 제공되며, 설치를 위해 먼저 Git 저장소를 클론해야 합니다. 공식 저장소에서 소스 코드를 다운로드한 후, ant와 netbeans가 설치된 환경에서 빌드를 진행할 수 있습니다.

설치 전 준비 사항

빌드를 위해서는 ant와 netbeans 패키지가 시스템에 설치되어 있어야 합니다. 이 도구들은 Java 기반 프로젝트의 컴파일 및 관리에 사용됩니다.

빌드 및 실행 절차

  1. 터미널 또는 명령 프롬프트를 열고 다음 명령을 실행하여 저장소를 클론합니다: git clone https://github.com/linklayer/cantact-app
  2. 클론한 디렉터리로 이동합니다: cd cantact-app
  3. ant를 사용하여 프로젝트를 빌드합니다: ant build

    이 과정에서 적절한 CLASSPATH가 설정되어 있어야 하며, 설정 방법을 모르는 경우 netbeans IDE를 실행하여 IDE 로그 출력을 확인할 수 있습니다.

  4. 빌드가 성공적으로 완료되면, 생성된 실행 파일을 통해 애플리케이션을 시작할 수 있습니다.

기본 사용법/명령어

애플리케이션을 실행한 후, 먼저 ‘Config Window’ 탭에서 사용할 시리얼 포트와 비트레이트를 설정해야 합니다. 포트 이름은 시스템에 연결된 CANtact 하드웨어 또는 LAWICEL 호환 장치에 따라 달라지며, 일반적인 예로는 ‘/dev/tty.usbmodem1451’ 또는 ‘COM3’ 등이 있습니다. 비트레이트는 500 Kbps와 같이 표준 CAN 속도로 설정하는 것이 일반적입니다.

설정이 완료되면 ‘Start’ 버튼을 눌러 CAN 버스 모니터링을 시작할 수 있습니다. 실시간으로 수신되는 프레임은 ‘Live Window’ 탭의 테이블에 표시되며, 원할 경우 ‘Clear’ 버튼을 눕 표시를 초기화할 수 있습니다.

프레임을 전송하려면 ‘Transmit Window’ 탭으로 이동하여 전송하고자 하는 CAN ID(예: 0x20F), DLC(예: 8), 그리고 데이터 바이트(예: 0x0F, 0xA1, 0x11, 0xFA, 0x00, 0x00)를 입력한 후 ‘Transmit’ 버튼을 클릭합니다.

이런 경우에 유용합니다

자동차 진단, CAN 버스 기반 장치 개발, 차량 내 네트워크 디버깅, 또는 CAN 프로토콜 학습 및 테스트가 필요한 엔지니어 및 취미가에게 유용합니다. 특히 CANtact 하드웨어와 함께 사용할 때, 차량의 ECU 간 통신을 실시간으로 모니터링하고 진단 메시지를 전송하여 문제를 식별하는 데 효과적입니다.

지원 환경·시스템 요구사항

CANtact-app은 Java가 설치된 모든 운영 체제에서 실행할 수 있습니다. Windows, macOS, Linux 등 주요 플랫폼에서 Java 런타임 환경(JRE)이 제공된다면 추가적인 플랫폼별 의존 없이 실행 가능합니다. 다만 빌드 과정에서는 ant와 netbeans가 필요하므로, 소스 코드로부터 직접 빌드하려는 경우 이러한 개발 도구가 사전에 설치되어 있어야 합니다.

최신 버전·업데이트

현재 버전은 0.3.0이며, 이 버전에서 ISOTP 전송 및 수신 기능이 추가되고, candump 형식으로 CAN 트레이스를 저장할 수 있는 기능이 포함되었습니다. 또한 JavaScript 스크립팅 인터페이스가 제공되어 사용자 확장이 가능합니다. 최신 소스 코드는 공식 GitHub 저장소에서 확인할 수 있으며, 업데이트는 해당 저장소의 커밋 히스토리를 통해 추적할 수 있습니다.

제한 사항·확인 사항

이 소프트웨어는 CANtact 하드웨어 또는 LAWICEL 프로토콜을 지원하는 장치와 함께 사용하도록 설계되었습니다. 호환되지 않는 CAN 어댑터를 사용할 경우 정상적으로 작동하지 않을 수 있습니다. 또한, 빌드를 위해서는 ant와 netbeans가 필수적으로 필요하며, 이들 도구가 설치되지 않은 상태에서는 소스 코드로부터 실행 파일을 생성할 수 없습니다. 실행 환경에서는 Java가 반드시 설치되어 있어야 하며, 버전 호환성은 공식 문서에서 확인하는 것이 권장됩니다.

화면으로 보는 주요 기능

CANtact 애플리케이션 기본 화면

CANtact 애플리케이션 기본 화면

CANtact 애플리케이션 창은 세 개의 주요 영역으로 구성되어 있다. 상단에는 'Config Window' 탭이 있으며, 여기에는 'Port' 입력란에 '/dev/tty.usbmodem1451'이 설정되어 있고, 'Bitrate'는 '500 Kbps'로 설정되어 있다. 'Refresh' 버튼과 'Start', 'Stop' 버튼이 있다. 중앙에는 'Live Window' 탭이 있으며, 'Clear' 버튼이 있고, 'ID', 'DLC', 'Data' 열이 있는 테이블이 있다. 이 테이블에는 세 개의 CAN 메시지가 표시되어 있다: ID 256은 DLC 8과 데이터 01 02 33 44 00 00 00 00, ID 260은 DLC 8과 데이터 00 01 55 23 00 00 00 00, ID 527은 DLC 8과 데이터 0F A1 11 29 FA 00 00 00이다. 하단에는 'Transmit Window' 탭이 있으며, 'CAN ID' 입력란에 '0x20F'가 입력되어 있고, 'DLC'는 '8'로 설정되어 있다. 'Data' 입력란에는 여섯 개의 16진수 필드가 있으며, 각각 '0x0F', '0xA1', '0x11', '0xFA', '0x00', '0x00'이 입력되어 있다. 'Transmit' 버튼이 있다.

시스템 요구사항

ant 및 netbeans 패키지가 필요합니다.