(Diagbox 활용) TPMS 센서 비활성(차단)/설정 방법 Diagbox에서 TPMS 센서 비활성화 방법에 대해서 정리했습니다. 제 차량에는 TPMS 센서가 없는 모델이라, 최종 검증은 못하였으며, "타이어 공기압 감지 기능의 차단" 메뉴가 있었고 셋팅 가능함을 확인했습니다. 1. Diagbox로 차량에 접속후 "차량의 고객 인도" 메뉴 클릭 2. 액세서리 메뉴 클릭 3. 공기압 부족 감지 메뉴 클릭 4. 타이어 공기압 감지 기능의 차단 5. 키를 OFF --> ON 하여 설정 완료 푸조 진단기 사용 방법 : Diagbox, FAP앱 2024.03.12
<3단계> Peugeot OBD앱 수정 및 메모리 리크 해결(2) ECU 센서 정보는 Diagbox에서 제공하는 항목 참고하여 만들었습니다. Diagbox에서 아래 항목에 접근하는 방법은 네이버 카페에 올려 놓은 글을 링크해 놓겠습니다. 참조 : (508 1세대 2011) 푸조 진단기 사용 후기(5) - ECU 및 파라메터 종류 엔진 ECU 선택 → "STANDRD PARAMETER MEASUREMENTS" 선택 → FUEL CIRCUIT INFORMATION 선택하면 총 15개 파라메터에 대한 정보 확인이 가능합니다.(아래 영상) 아래 동영상을 보면 푸조 공식 서비스 진단기는 0.5초 간격으로 센서 data 가져 오는것으로 추정됩니다. 아마도 ECU에 부담을 적게 주기위한 조치인것 같습니다. 아래 항목은 위에서 확인했던 "Fuel circuit information".. Peugeot OBD app 만들기 도전 2024.03.06
<3단계> iOS, Android 겸용 Peugeot OBD앱 초기 버전 완성(1) "(2023.12.29 작성글) 어떻게 만들어야 할까?"에 정리했듯이.. 짧으면 3개월 길면 6개월 예상하고 시작했는데, 벌써 3개월이 훌쩍 흘러갔습니다. 그간 많은 작업을 했지만, 게으른 탓에 정리하지 못해서.... 3개월치 작업 과정 정리하려니 엄두가 나지 않아 우선 결과만 정리하려고 합니다. 아래 내용처럼 기존에 분석했던 자료를 참조해서 앱을 만들었습니다. FAP OBD2앱(android)CAN data 분석 도전! FAP OBD2앱 분석용 peugeot 508용 "가상 엔진 ECU 만들다!!!" FAP OBD2앱 동작 원리 완벽 분석!! Flutter / Dart로 구현하다! 속도 때문에 C++로 라이브러리 만들어서 사용할까? 하다가, 수정하고 빌드하는게 번거로울것 같아 dart로 구현했습니다. .. Peugeot OBD app 만들기 도전 2024.03.05
<2단계 > Android, Mac OS, iOS: OBDII(ELM327) 동일 코드 실행(8) 안드로이드에서 동작하는 것을 확인했으니, Mac OS에는 어떤 차이가 있는지 비교했습니다. Mac mini (M1)에서 실행하면 안드로이드 폰과 다르게 Service 0xFFF1, 0xFFF1, 0xFFF2만 가능한것으로 나옵니다. 0x1800, 0x1801은 어차피 사용하지 않으므로 상관없지만, 여기서 알 수 있는 것은 안드로이드가 더많은 기능을 제공한다는 것입니다. AT명령은 안드로이드폰과 동일하게 전송되고 수신 되는것을 확인했습니다. iOS에서 실행하면 어떨까요? Mac mini(M1)에서와 동일한 메뉴가 나오고, 완벽하게 동작합니다!!! 하나의 소스 코드로 3개의 OS에서 동작하다니... 정말 대단합니다. VSC에서 ios 빌드 및 디버깅하려면 아래 명령 수행 : xcode가 먼저 실행되어 있어야.. Peugeot OBD app 만들기 도전 2024.01.17
<2단계> Flutter_blue_plus 예제로 OBDII(ELM327) Notify 확인(7) 가장 궁금했던, OBDII ELM327칩이 전송 받은 명령에 대해 응답하는가? (Notify 기능)에 대해 확인했습니다. 이전글에서 진행했던것 처럼 AT 명령을 string으로 보내고 응답 받도록 코드를 수정했습니다. 각각 배열의 값을 변경해서 아래 4가지 서비스 선택후 결과 확인하면, (3) 조건만 응답 확인이 가능합니다. (1) services[0], characteristics[0] = 0x2A00 (2) services[1], characteristics[0] = 0x2A05 (3) services[2], characteristics[0] = 0xFFF1 (4) services[2], characteristics[1] = 0xFFF2 (참고)Visual studio code의 "디버그 콘솔창"에서.. Peugeot OBD app 만들기 도전 2024.01.16
<2단계> Flutter_blue_plus 예제 코드로 OBDII write 명령 실행(6) example 코드 수정해서 OBDII 명령(ELM327 AT 명령) 보내기 위해, 아래와 같이 "device_screen.dart" 코드를 수정하여 전송 버튼 만듭니다. 실행하면 아래 처럼 우측 상단에 작은 버튼 하나 생성됩니다. 위의 버튼을 눌렀을 때 실행될수 있도록 _sendElm327Command() 함수 만들어줍니다. 아래 두줄로 Service UUID = 0x1801의 Characteristic 0x2A05 선택해줍니다. BluetoothService basicObiidiService = services[1]; BluetoothCharacteristic pidCharacteristic = basicObiidiService.characteristics[0]; 원하는 기능을 선택하려면 현재 사용.. Peugeot OBD app 만들기 도전 2024.01.15
<2단계> Flutter_blue_plus 예제 android 실행 결과와 API 정리(5) (참조) flutter_blue_plus: ^1.31.2 (코드) https://github.com/boskokg/flutter_blue_plus (1)VSC에서 example의 main.dart 우클릭후 실행하거나 (2)터미널 창에서 직접 "flutter run" 실행 둘다 가능합니다. 실행하면에서 (1)버튼은 BT 스킨 기능이며, (2)원하는 OBDII 동글과 연결합니다. (3)MTU 사이즈 변경, (4)서비스 종류 검색 기능입니다. 위의 순서대로 진행해서 (4)Get service 누루면 서비스 UUID가 3개 나옵니다. 각각의 내용을 열어보면, 0x1800과 0x1801은 OBD 통신에 사용할 수 없고(이전글 참조) 0xFFF0에 있는 0xFFF1과 0xFFF2중 0XFFF1만 사용 가능합니다. .. Peugeot OBD app 만들기 도전 2024.01.14
<2단계> (사전학습) 스마트폰에서 ELM327 명령 송수신 시도(4) 지금까지는 PC, 또는 ESP32등에서 ELM327 AT 명령 전송/수신에 대한 경험이 있지만 스마트폰에서 진행해 보지 못해서, 안드로이드폰 앱에 있는 "LightBlue"라는 앱을 통해서 어떻게 전달 되는지 먼저 경험했습니다. (참조) https://blog.naver.com/chandong83/222852750573 ← 댓글 (앱) 안드로이드만 있음 → LightBlue (이앱은 BLE만 가능합니다.) 좀더 상세히 설명하면 아래와 같습니다. ELM327 명령 전송 & 수신 성공 사례 → Write와 Notify 기능이 있어야 명령 전송과 수신이 가능함 : (3)참조 위의 사진에서 (3)항목의 UUID만 write 기능과 Notify, 그리고 Subscribe 기능이 있습니다. (4)에서 String으.. Peugeot OBD app 만들기 도전 2024.01.13
<2단계> 미리 학습해야 할것 : Bluetooth Low(BLE) spec(3) 새롭게 등장한 허들.... Flutter_blue_plus 라이브러리 예제를 돌려보면 메뉴에 무슨 의미인지 모르는 값들이 나옵니다. 0x1800, 0x1801, 0xFFF0등등... 이전 ESP32나 Arduino로 BT 접속하여 통신할때는 몰라도 상관없었는데..이것을 모르면 스마트폰에서 콘트롤이 안됩니다. Bluetooth에서 0x1800, 0x1801, 0xFFF0은 다음과 같은 의미를 갖습니다. (참고 자료) Assigned Numbers * 0x1800: Generic Access Service (GAP) * 0x1801: Generic Attribute Service (GATT) * 0xFFF0: Vendor Specific Service GAP은 Bluetooth Low Energy (BLE).. Peugeot OBD app 만들기 도전 2024.01.12
<2단계> Flutter, Dart 예제- dart:ffi 사용한 C 상호 운용 예제(2) Flutter_blue_plus 라이브러리내 example 소스 코드 분석을 바로 하고 싶었는데, 외계어 수준이라 포기하고.. 1)우선 "flutter 어플리케이션 만들어 보기"를 먼저 따라해서 대략 감을 익혔습니다. (참조) https://codelabs.developers.google.com/codelabs/flutter-codelab-first?hl=ko#0 2)다음으로 진행한 것은 Dart 예제를 모두 돌려보는 것입니다. https://dartpad.dev/?id=e75b493dae1287757c5e1d77a0dc73f1 ← DartPad https://dart-ko.dev/codelabs ← dart codelab https://github.com/lkmandy/dart_practice ← da.. Peugeot OBD app 만들기 도전 2024.01.11