PoBD

푸조/시트로앵 디젤 OBD 스캐너 앱 개발 이야기

Peugeot 차량 DIY CAN 통신 해보자!(508기준) 14

(12) Python-CAN : 드디어 푸조 엔진 ECU에 명령 보내고 받다..!!!

Python-OBD에 비해 Python-CAN이 훨씬 복잡하고 어려워보입니다. 다행인 것은 Python-OBD로 대략적인 개념도 잡고.. CAN data를 어떻게 주고 받는지 알게 되었으므로 전보다는 접근하기가 쉬워졌습니다. 처음엔 엄두가 안났지만, 지금은 도전해 볼 가치가 있어서 시도했고, 설치시 참조한 내용은 다음과 같습니다. https://python-can.readthedocs.io/en/stable/installation.html https://python-can.readthedocs.io/en/master/_modules/index.html https://python-can.readthedocs.io/en/master/api.html https://github.com/hardbyte/pytho..

(11) Python-OBD로 푸조 엔진 ECU에 연결 실패...(좌절..)

"아무런 반응이 없습니다.! ㅠㅜ" CAN 분석기는 잘 동작하는데, 오픈 소스인 Python-OBD로 명령을 보내거나 수신이 안됩니다. 설명에 앞서 지금까지 준비한 것을 간단하게 정리하면, 1) 오픈 소스 Software와 Hardware에 대해서 조사하고 2) 엔진 ECU 시뮬레이터 구매 및 사용방법 숙지 3) 각종 케이블 구매후 4) CAN 신호 분석기도 구입하고 사용방법도 모두 학습했습니다. 특히, 오픈 소스인 Python-OBD 코드 분석도 다하고, 예제도 많이 돌려보고 엔진 ECU 시뮬레이터에 연결해서 CAN 분석기로 Raw data 수집되는것 까지 확인했습니다. 차량에 연결하고 원하는 CAN 송,수신이 되는지 확인하는 것만 남았는데..... 알리에서 구매한 엔진 ECU 시뮬레이터에서 잘 동작했..

(10)-2 ELM327 사용기(Tera term으로 ECU 명령 보내고 받기 )

잠시 옆길로 빠진김에... ELM327 chip 활용해서 직접 명령을 주고 받는 것에 도전해 봤습니다. 푸조 208에서 작업한 프랑스분이 글 올려 놓아서 참조했습니다. (링크) 결론 부터 말하면, 무료 터미널인 Tera Term이나 Putty 설치해서 둘다 해봤는데 다 잘됩니다. (참고) windows에서만 가능합니다. 맥OS에서 여러 차례 시도했는데, 성공한 적은 없군요.. ㅠㅜ (결과) 즉, 무료 터미널 설치하고... 먼저 알리에서 구매한 엔진 ECU 시뮬레이터에 연결후 AT 명령 입력합니다. 1) atz 명령 : 현재 가지고 있는 ELM327칩에 대한 버전 확인 하는것 부터 시작했습니다.. ELM327 버전 v2.2라고 나옵니다. (터미널 설정 방법은 아래 우측 그림 참조) 2) "atdp" 명령은..

(10)-1 OBD용 ELM327에 대하여...

다음 단계로 넘어가기 전에.... 이전 글에서 계속 언급했던 내용중 다루지 않았던 "ELM327"에 대해서 간단히 정리하려고 합니다. OBD2 wifi / bluetooth 동글, 또는 USB 케이블이든.. 대부분 ELM327이라는 명칭이 붙습니다. 도데체 ELM327은 무엇이기에 모든 OBD 제품에 사용될까? 호기심에 자료를 한번 찾아 봤습니다. OBD가 되었든, ISO-TP(푸조에서 사용하는 J2534 ??), UDS, SAE J1939가 되었든 중요한 것은 CAN 통신이 기본으로 이루어진 기술(이전글)이라는 겁니다. 아래 글은 구글링해서 찾은 자료를 요약해본 것입니다. (정확하지 않을 수 있습니다.) 즉, 승용차든 상용차든 OBD 규정에 맞게 CAN 통신을 다루기 위해서 만들어진 마이크로 콘트롤러 ..

(9) 드디어, 푸조 엔진 ECU에 연결 시도하다!!!

푸조 508 차량의 OBD 콘넥터는 찾기가 쉽습니다. 시거젝 위치에 있는 재떨이(??)를 들어내면 바로 아래에 있습니다. 신기하게도 OBD 콘넥터의 이빨이 여기저기 빠져있습니다.!!! 오류 방지 차원(??)에서 사용하지 않는 핀은(즉 불필요한 핀) 제거해 버린것 같습니다. (원가 절감에도 도움이 될듯 하네요.) 각 핀에 대한 설명을 푸조 Service box에서 찾았고.... 1.특이점) OBD용 CAN 통신과 별개로 진단용 CAN 통신선이 별도로 있습니다. --> (3,8핀) 2.일반적인 OBD 통신의 경우 6, 14번 핀이 CAN 통신선입니다. 3.없는 핀(연결 안됨) --> unused 표기 아래 회로도에서도 없는 핀은 표기 되지 않습니다. 이제 연결을 시도할텐데, 진단기와 CAN 분석기를 동시 연..

(8) 나름 고급형?? CAN 분석기 : CANalyst-II pro

Hardware편에 잠깐 언급했던, 나름 고급형??(구입한 것중 비싸므로...) CAN 분석 장비입니다. 구매후 설치 방법이나 사용법은 아래 링크 참조했습니다. (참조) https://www.cxcan.com/6.html (참조) https://www.cxcan.com/ZLXZ.html ← 여기 파일 하나만 풀면 다 설치됩니다. ;CANpro등은 설명서 참조해서 파일 두개만 교체하면됨. (참조) https://www.waveshare.com/wiki/USB-CAN-B ← 영문 설명입니다. CAN 분석기 사용시 구성 : 1.엔진 ECU 시뮬레이터(알리제품) 2.OBD 블루투스 동글 3.OBD Auto app(안드로이드) 4.CAN 분석기 : CANalyst-II 홈페이지에서 다운로드 받은 "USB-CAN ..

(7)(저렴한 CAN 신호 분석기) Seeed-USB-CAN-Analyzer : ELM327

이전 Hardware편에 잠깐 언급했던 seeed-USB-CAN-ANalyzer (ELM327칩 적용)에 대해 사용 후기를 좀더 상세히 기록으로 남깁니다. 이유는 가격이 매우 저렴하고 오픈소스 python-CAN, python-OBD 라리브러리와 매우 궁합이 잘 맞습니다. 공식판매 사이트 (링크) (참조) https://github.com/iDoka/awesome-canbus#obd-ii-tools (참조) https://github.com/SeeedDocument/USB-CAN-Analyzer/ 설치는 Github 링크를 따러서 하면 간단하게 설치할 수 있고, 아래처럼 포트에 드라이버가 인식되는지 확인만 하면됩니다. 응용 소프트웨어 : USBCAN V8.00을 실행하면 아래와 같티 하나의 창으로 구성된..

(6)CAN 통신 활용해서 푸조 207, 208에 응용한 멋진 사례...

글로 설명하는 것 보다는, 아래 블로그 글을 보면 왜 멋진지 알게됩니다. 사례1) (흥미로운 글..) SW, HW 모두 완벽하게 잘 하는 엔지니어가 DIY로 푸조를 멋지게 개조한 내용입니다. https://medium.com/@alexandreblin/can-bus-reverse-engineering-with-arduino-and-ios-5627f2b1709a (우선 블로그를 읽어보면 엄청 재밌게 잘 정리했습니다.…헐..) 10년 넘은 오래된 푸조 207이 멋지게 변합니다. !!!!! 심지어, SW까지 모두 공개했습니다. (아래 3개의 링크 : github에...) 1)CAN버스 읽기 (아두이노 + CAN버스 쉴드(Seeed studio의 CAN버스 쉴드 라이브러리가 있어야 한다고합니다) → https:..

(5)-2 Open 소스를 이용한 CAN 학습 방법을 찾다...(hardware편)

정말 고민이 많았던 Software (CAN관련 오픈 소스) 해결나니 다음 허들은 Hardware였습니다.(차량에 어떻게 연결??) SW는 있지만, 푸조 차량 ECU와 어떻게 연결할 것인가? 무엇보다, 차량에가서 직접 연결한다고 해도 번거로움이 이루 말할 수 없습니다. 하물며, sw 연습해야 하는데 차량에 직접 연결하고 연습한다?? 아무 코드나 돌리다 고장나면? 다시 열심히 구글링을 합니다. 문제는 역사가 오래된 기술이다보니, 너무 많은 자료가 있고... 가장 힘들게 하는 부분은 오래된 자료가 많다는 것입니다. ㅠㅜ 많은 정보를 요약해 보면, 실제 엔진을 대신할 수 있는 가짜 엔진이 필요하다는 것입니다. 1. 즉, OBD용으로 만들어진 엔진 시뮬레이터가 있어야 한다는 것입니다. (1) DIY로 만드는 ..

(5)-1 Open 소스를 이용한 CAN 학습 방법을 찾다...(software편)

제가 찾은 것은 오픈 소스를 활용하는 것입니다. 개념은 알고 있으니, 복잡한 규정집을 읽을 필요는 없고.. 규정에 따라 구현 놓은 오픈 소스를 활용하려고 시도 했는데... 세번째 허들이 시작됩니다. 오픈 소스가 이렇게나 많은 것일까? 전세계 모든 차량(심지어 오토바이, 농기계...)에 적용되는 기술이다 보니 많은 정보가 있었습니다.(구글링하다가 멀미를.... ㅠㅜ) 우여곡절 끝에 몇 가지로 압축했습니다. (선택 기준 : 최신 업데이트 상황, 인지도) (1)Software (링크 클릭하면 바로 연결됩니다.) 1) python-OBD(ELM327) 2) python-CAN 3) Python-can-Isotp 4) Python-UDS 5) 푸조 Diagbox는 ?? ( --> ISO-TP 또는 python-C..