Skip to content
VectorCANoePublic

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

1 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

English Version

🚀 CANoe MCP Advanced: CANoe MCP Advanced - Master Control Program

목차


프로젝트 소개

CANoe MCP Advanced 프로젝트에 오신 것을 환영합니다. 이 프로젝트는 마스터 제어 프로그램(MCP)의 정신을 담아, 고급 AI 기능을 통해 복잡한 시스템을 지능적으로 감독, 관리 및 최적화하도록 설계되었습니다. 데이터 처리, 자율적인 의사 결정, 다양한 통합 구성 요소 전반의 작업을 조정하여 탁월한 효율성과 정확성으로 사전 정의된 목표를 달성하는 중앙 신경계 역할을 합니다.

이 AI 제어 시스템은 다음을 제공하도록 설계되었습니다:

  • 지능형 자동화: 적응형 알고리즘으로 일상적이고 복잡한 작업을 자동화합니다.
  • 실시간 모니터링: 시스템 상태를 지속적으로 감시하고 분석합니다.
  • 예측 분석: 잠재적 문제를 예측하고 리소스 할당을 최적화합니다.
  • 적응형 제어: 환경 피드백 및 성능 지표에 따라 시스템 매개변수를 동적으로 조정합니다.
  • 보안 및 복원력 있는 운영: 중요한 인프라에 대한 강력하고 내결함성 있는 제어를 보장합니다.

핵심 기능

📊 32개 도구 (27개 테스트 완료)

Connection & Configuration (4)

  • CANoe 연결 (Configuration 없이도 가능)
  • Configuration 로드/저장
  • CAPL 컴파일

Measurement Control (4)

  • Measurement 시작/중지/리셋
  • 상태 확인

Signal Operations (2) ⭐

  • CAN 신호 읽기/쓰기
  • Raw value 지원

Status & Info (4)

  • CAN Bus 통계
  • Database/Node 정보
  • Logging blocks

Variables (4)

  • Environment 변수 읽기/쓰기
  • System 변수 읽기/쓰기

Test Execution (5)

  • Test environment/module 조회
  • Test 실행

Logging & Replay (4)

  • Logging block 관리
  • Replay block 제어

Diagnostics (5)

  • 진단 요청 전송
  • CAPL 함수 호출
  • Symbols/Messages 조회

개발 기술

이 프로젝트는 고급 기능을 제공하기 위해 강력한 기술 스택을 활용합니다.

  • Python
  • FastMCP - MCP 서버 프레임워크
  • py-canoe - CANoe COM API 래퍼
  • asyncio - 비동기 처리
  • pydantic - 데이터 검증
  • pywin32 - Windows COM 인터페이스

시작하기

CANoe MCP Advanced의 로컬 복사본을 설정하고 실행하려면 다음의 간단한 단계를 따르십시오.

전제 조건

시스템에 다음 소프트웨어가 설치되어 있는지 확인하십시오:

  • Python 3.8+
  • pip
  • Vector CANoe 19.4+
  • py-canoe 라이브러리
  • Windows 10/11
  • Claude Code (MCP 클라이언트)

설치

  1. 저장소 클론:
    git clone https://github.com/VectorCANoe/CANoe-mcp.git
    cd CANoe-mcp
  2. 개발 모드 설치:
    pip install -e .
  3. Claude Code에 MCP 서버 등록: ~/.mcp.json에 다음을 추가하십시오:
    {
      "mcpServers": {
        "canoe-advanced": {
          "command": "python",
          "args": ["-m", "canoe_mcp_advanced"],
          "env": {"PYTHONIOENCODING": "utf-8"}
        }
      }
    }
  4. Claude Code 재시작.

사용법

설치되면 CANoe MCP Advanced를 활성화하고 시스템을 관리하도록 구성할 수 있습니다.

Signal 읽기/쓰기 예제

# CANoe 연결
attach_canoe(allow_no_config=True)

# Configuration 로드
open_configuration("path/to/config.cfg")

# Measurement 시작
start_measurement()

# Signal 읽기
get_signal_value(
    bus="CAN",
    channel=1,
    message="EngineState",
    signal="EngineSpeed"
)

# Signal 쓰기
set_signal_value(
    bus="CAN",
    channel=1,
    message="EngineState",
    signal="EngineSpeed",
    value=3000.0
)

# Measurement 중지
stop_measurement()

전주기 자동화 워크플로우 예제

# 1. CANoe 연결
attach_canoe()

# 2. CAPL 컴파일
compile_capl_nodes()

# 3. Measurement 시작
start_measurement()

# 4. 신호 모니터링 & 제어
while running:
    speed = get_signal_value(...)
    if speed > threshold:
        set_signal_value(...)

# 5. Test 실행
execute_test_module(test_env="TestEnv", test_module="TestModule")

# 6. 통계 확인
stats = get_can_bus_statistics(channel=1)

# 7. Measurement 중지
stop_measurement()

테스트 결과

✅ 27개 도구 작동 확인

  • CANBasic 샘플 Configuration으로 검증
  • 핵심 워크플로우 완벽 작동
  • Signal 읽기/쓰기 성공 (0 → 3000 rpm)

아키텍처

CANoe MCP Advanced는 다양한 제어 요구 사항을 처리하도록 모듈식 및 확장 가능한 아키텍처로 설계되었습니다.

canoe-mcp-advanced/
├── canoe_mcp_advanced/
│   ├── server.py              # FastMCP 서버 (32 tools)
│   ├── canoe_controller.py    # CANoe 제어 로직 (31 methods)
│   ├── tools/                 # 11개 도구 모듈
│   │   ├── connection.py
│   │   ├── configuration.py
│   │   ├── measurement.py
│   │   ├── signals.py         # ⭐ 핵심
│   │   ├── tests.py
│   │   ├── environment.py
│   │   ├── status.py
│   │   ├── logging.py
│   │   ├── replay.py
│   │   ├── diagnostics.py
│   │   └── database.py
│   └── utils/
│       └── error_handler.py   # 에러 처리
└── pyproject.toml

설정

CANoe MCP Advanced의 동작은 특정 운영 환경에 맞게 광범위하게 구성할 수 있습니다.

모든 기본 설정은 config.yaml (또는 config.json, .env 파일 등)을 통해 관리됩니다.

# Example config.yaml
system:
  name: "CanoeAlphaControlUnit"
  log_level: "INFO"
  environment: "development"

ai_engine:
  model_path: "models/mcp_model.pkl"
  decision_threshold: 0.7
  learning_rate: 0.001

data_sources:
  sensor_feed:
    type: "local_file"
    path: "data/sensor_logs.csv"
  database:
    type: "sqlite"
    path: "data/mcp_database.db"
  • 환경 변수: API 키 및 데이터베이스 비밀번호와 같은 민감한 정보는 환경 변수를 통해 관리해야 합니다.
  • 모듈별 설정: 각 AI 모듈 또는 구성 요소는 기본 구성 내에 자체 구성 파일 또는 섹션을 가질 수 있습니다.
  • 참고: 일부 도구 및 기능은 특정 CANoe Configuration 설정에 따라 달라집니다.

로드맵

제안된 기능 및 알려진 문제 목록은 이슈를 참조하십시오.

  • API 문서 (예정)
  • 예제 (예정)
  • [더 자세한 기능 로드맵 항목 추가 고려]

알려진 제약사항

  1. Windows 전용: COM API 사용으로 Windows에서만 작동
  2. CANoe 라이선스: Vector CANoe 정식 라이선스 필요
  3. Configuration 의존성: 일부 도구는 CANoe Configuration이 필요합니다 (Configuration 섹션에서 언급)

기여하기

기여는 오픈 소스 커뮤니티를 배우고, 영감을 주고, 창조하는 놀라운 공간으로 만듭니다. 귀하의 모든 기여는 매우 감사합니다.

더 나은 제안이 있다면, 리포지토리를 포크하고 풀 리퀘스트를 생성하십시오. 또는 단순히 "enhancement" 태그로 이슈를 열 수도 있습니다. 프로젝트에 별을 주는 것을 잊지 마십시오! 다시 한번 감사합니다!

  1. 프로젝트 포크
  2. 기능 브랜치 생성 (git checkout -b feature/AmazingFeature)
  3. 변경 사항 커밋 (git commit -m 'Add some AmazingFeature')
  4. 브랜치에 푸시 (git push origin feature/AmazingFeature)
  5. 풀 리퀘스트 열기

라이선스

MIT 라이선스에 따라 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.


연락처

Juns - junexi0828@gmail.com GitHub: @junexi0828 프로젝트 링크: https://github.com/VectorCANoe/CANoe-mcp


감사의 글


v1.0.0 - Production Ready 🎉

About

No description, website, or topics provided.

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages