PoBD

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

Peugeot OBD app 만들기 도전 77

(1단계)OBD open 소스 분석(Mac mini): esp32-S3 디버깅 후기(2)-1

ESP32-S3로 하면, ESP-PROG 없이 디버깅 가능함. ← 처음부터 이것으로 하면 좋을듯 합니다. (설치 방법 참고) https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/resources.html 비용면에서도 훨~~씬 유리합니다. ESP-WROOM-32 old model도 국내에서 사면 아무리 싸도 배송비 포함해서 1만원 이상이고, ESP-Prog 2만원( Debugging 용) 합치면 3~4만원이 듭니다. 하지만 알리익스프레스에서 구매하면 ESP-32-S3가 6천원 정도이니 가성비 최고의 선택이라고 할 수 있습니다. 2주정도 기다려서 배송 도착했고, (1)먼저 Arduino IDE에서 동작시켜봤습니다. (참고자료) 프로그래밍 가이드 : ..

(1단계)OBDII open 소스 코드 분석 : ELMduino 사례(2)

"ELMduino" 는 최근(2023.12.30일 기준)에도 활발하게 update되고 있어서 선택했습니다.  어떤 방식으로 동작하는지 궁금해서, Arduino IDE와 PlatformIO로 upload해서 실행부터 해봤습니다. (1) Arduino IDE로 upload 시도 라이브러리 메니저로 ELMduino 설치하면 예제 불러 올수 있도록 메뉴가 생성됩니다. 깃허브 소스코드 기준으로 보면, example 디렉토리에 "ESP32_WIFI"라는 파일입니다. 소유하고 있는 wifi에 맞게 2줄만 수정했습니다. (Mac mini(M1)) 환경에서 진행함. Bluetooth의 경우 examples/ESP32_Bluetooth_Serial/ESP32_Bluetooth_Serial.ino 선택하면 되며, BLE는..

(1단계)OBDII open 소스 코드 분석 (Mac mini): esp-prog 사용후기(1)-4

esp-prog 적용하면서 어려웠던 점은.... OS, PC, IDE와 확장팩에 따라 상당한 어려움을 격게 된다는 것입니다. 1) OS 선택 (윈도우즈 or Mac OS에서 할것인가?) 2) 코드 편집툴 (Visual studio or Visual studio code) 3) 확장팩 (PlatformIO 또는 ESP IDF) 결론부터 말하면, Mac OS + Visual studio code + PlatformIO 조합이 가장 좋았습니다. PlatformIO의 최고 장점은... 알아서 척척 설정해줍니다. (정말 기특합니다.) 초보인 제가 복잡한 설정 없이도 사용했으니 말입니다. 1) VSCode용 PlatformIO IDE 사용법 ← 정리 잘되어 있..

(1단계)OBDII open 소스 코드 분석 위한 준비물 : esp-prog(1)-3

HW가 준비되고, 소스코드 올려서 동작하는것 확인되었고 다음 단계는 디버깅 모드 진입하는 것입니다. ESP-WROOM-32의 경우 외부 디버깅툴이 필요합니다. (동영상 참조) https://www.youtube.com/watch?v=uq93H7T7cOQ (ESP32 - DEBUGGING your ESP-IDF code using JTAG [VS CODE]) (공식 사이트) https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/jtag-debugging/index.html (JTAG 디버깅) 1)윈도우즈에서 사용 -ftdi 드라이버를 설치해야 합니다. : (참조) https://www.visualmicro.com/page/Zadig-..

(1단계)OBDII open 소스 코드 분석 위한 준비물 : esp32(1)-2

초기 생산된 Arduino 사용해서 OBDII 동글과 연결 시도시 단점이 있는데, wifi / bluetooth를 별도로 연결해야 한다는 것입니다. 따라서, wifi / bluetooth 모듈이 있는 ESP32 계열 사용하기로 했습니다. 나중에 알게된 사실이지만, wifi / bluetooth가 불안정하다는게 문제가 있어서 고생많이 했습니다. (최근 버전인 ESP-32 S3도 문제가 있더군요.) 일단, Arduino 예제도 돌려볼수 있는 장점이 있어서 ESP-32 바로 구매했습니다. 아마도 별도의 디버깅 모듈 불필요한 ESP-32-S3-WROOM-1(또는 U)가 가장 좋은 대안이라고 생각하고 알리에 주문했고 도착 기다리는 동안, ESP-WROOM-32(구형) 버전을 주로 사용했습니다. 추가로 주문한 ES..

(다시 시작된 허들) OBDII open 소스 코드 분석 위한 준비물(1)-1

가장 빠른 방법이라면, 스마트폰에서 Bluetooth나 wifi로 OBDII 동글에 연결해서 엔진 정보 읽어오는 것입니다. 그러자니, "기본으로 알아야 할것들"이 그야말로 "산더미"입니다. 안드로이드폰으로 할까? 아이폰으로..? JAVA, Android studio, C++, iOS, Xcode,Visual studio(or Visual studio code), .... (그냥 시작하는 않는 것이... ㅠㅜ) 마음을 다잡고..어차피 잘 모르는거... 그냥 하나씩 알아보기로 했습니다. 진행하다가 모르는것은 그때 그때 배우기로 하고.. 우선 남들은 어떻게 구현하고 학습했을까? 궁금해서 조사한 결과 분석 대상 open소스 아래와 같이 3가지으로 압축했습니다. (정보가 많았지만...) (1) (sw)ELMdui..

어떻게 만들어야 할까? ( peugeot 전용 OBD ELM327 app ) (1)

Peugeot 진단용 앱을 만들기 위한 infra는 어느 정도 구성되었고, 어떻게 만들까? 고민하다가 여러가지 시도했던 과정 정리했습니다. 멘땅에 헤딩하는 방식이였지만 Python-OBD와 python-CAN은 이해 했으니, 다음 단계로 C 언어 계열로 작성된 OBD(ELM327칩 명령어 사용) 통신 SW 이해 하는것입니다. ( 지금까지 공부했던 Python으로 앱을 만들수는 없으니 말입니다... ㅠㅜ ) 전반적인 제작 방향은 아래와 같이 정했습니다. 기본 기술 학습 1) C 나 C++로 만들어진 오픈 소스 코드 분석 2) 임베디드 소형 PC에 올려서 동작 확인( Arduino or ESP32 ) 안드로이드, iOS, 윈도우 OS에서 사용 가능한 앱 제작 가능성 확인 1) C++ 또는 da..