전체 글 105

<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으..

<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)..

<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..

<2단계> Flutter : 푸조 전용 OBD앱 제작- 새로운 언어에 막히다(1)

우선 서둘러 Flutter 설치하고 예제 돌려보기로 합니다. (참고) Mac에 flutter 설치해 보자 (참고) Mac에서-Flutter-설치하기 (참고) 공식 사이트 → mac os : https://docs.flutter.dev/get-started/install/macos 위의 내용을 참고하여 mac mini(M1)에 설치했습니다. 워낙 설명이 잘되어 있어서 여기서는 다루지 않겠습니다. 추가로 Flutter_blue_plus 라이브러리 설치하고 소스 코드 분석하려는.... 순간.....(침묵) 거의 맨붕 상태에 빠집니다. 무식해서 허들이 뭔지도 모르고 여기까지 왔는데, 소스 코드를 들여다 보니, 숨이 턱 막힙니다. ㅠㅜ https://pub.dev/packages/flutter_blue_plus#..

<2단계> Flutter로 푸조 전용 OBD ELM327앱 만들기

(이전글)에서 정리했던 완료되었습니다. (총11편 작성) 기본 기술 학습 (완료) 1) C 나 C++로 만들어진 오픈 소스 코드 분석 (3가지 사례) 2) 임베디드 소형 PC에 올려서 동작 확인( Arduino or ESP32 ) 다음으로, 이제 2단계 절차 진행했던 내용 정리해보겠습니다. 안드로이드, iOS, 윈도우, Mac OS에서 사용 가능한 앱 제작 가능할까? 1) C++ 또는 dart 혼합형 Flutter앱 개발 가능성 확인 2) "dart" + "Flutter" 언어 이해 3) OBDII 프로토콜 : peugeot 디젤 차량에 맞게 "C++ 라이브러리 수정" 사용하는 스마트폰은 아이폰입니다. 그러나 푸조 차량에 사용하는 OBDII앱은 FAP citroen/peugeot elm32..

(1단계 최종)Arduino-psa-diag C++ 활용 ELM327 명령 송수신(2)-5

마지막으로 검토했던 오픈 소스코드입니다. (세번째) Arduino-psa-diag ← (hw) arduino 사용 ; Peugeot 엔지니어 출신이 만든것으로 추정됩니다. 찾아본 자료중에 가장 전문적인 오픈 소스입니다. -mac mini (M1) -arduino IDE -Arduino (uno 사용했습니다) -MCP2515 SPI CAN 버스 모듈 (Arduino와 함께 MCP2515 SPI CAN 버스 모듈을 사용하는 방법) 1) 소스 코드 다운로드하고.. git clone https://github.com/ludwig-v/arduino-psa-diag.git ← 다운로드시 내부에 libraries가 있음 2) Arduino IDE에서 MCP2515 사용할 수 있도록 Custom 헤더 ..

(1단계)오픈 소스 :OBD2 C++ 활용 ELM327 명령 보내고 받기(2)-4

(참고) https://github.com/jjuiddong/OBD2 ← 윈도우 실행(한국분이 작성후 공유한 것으로 추정 : 주석문이 한글입니다.) (참조) https://github.com/stanleyhuangyc/ArduinoOBD ← 이것이 원본 두번째로 참고한 소스 코드는 OBD2라는 C++ 코드입니다. 특이하게, arduino, esp32등을 사용하지 않고 PC 자원만 그대로 사용합니다. (별도 디버거나, 미니 PC 불필요) - windows 10 - Visual studio - 맥북 프로(부트캠프) ;제약 조건때문에 아쉽게도 Mac mini에서 돌려보지 못했습니다. 1) 가장 먼저해야 할 것은 VS가 설치된 PC에서 대상 OBD2 동글과 -블루투스가 인식되는지 확인 -Putt..

(1단계) 오픈 소스 분석 : ELMduino- ELM327 명령 송수신(2)-3

ELMduion 라이브러리 이해 하는 가장 빠른 방법은, ELM327 명령을 보내고 응답 받는 간단한 터미널 활용하고, ESP-PRG 연결해서 코드가 실행되는 것을 하나씩 따라 가는 것입니다. 간단한 터미널 예제는 이미 있고, 부분 수정하면 즉시 사용 가능합니다. (참고예제) https://github.com/PowerBroker2/ELMduino/blob/master/examples/ESP8266_test/ESP8266_test.ino 이제 OBD 명령어(ELM327칩) 전달하고 어떻게 실행되는지 학습할 수 있는 도구가 하나 생겼습니다. 주석문에 나와있는 명령을 하나씩 실행해 보면 엔진 Data 잘 불러오는 것을 확인할 수 있습니다. 이제 코드 학습할 준비가 모두되었습니다. ELMduino 라이브러리 ..

(1단계)OBDII open 소스 코드 분석 : ELMduino BT/WiFi 통신 문제(2)-2

OBDII 동글과 ESP32 Bluetooth/wifi 통신 활용한 ELMduino 라이브러리 실행시 경험한 문제점 2가지 정리합니다. 1) OBD 동글과 BT 통신시 문제점 “ESP32_test.ino”로 돌려보면 이상한 경고 문이 나오긴 하지만 정상 동작함. → ELM327 명령 TEST는 성공함 (문제점) "ASSERT_WARN(1 8), in lc_task.c at line 1408" → 메시지가 지속 나옵니다. 왜 발생하는지 이유를 모릅니다 (스마트폰에서 상용 OBD앱으로 통신하면 아무런 문제가 없는 것으로 봐서, ESP32 문제로 추정됩니다.) (참고자료1) https://github.com/PowerBroker2/ELMduino/issues/43 : 유사한 문제가 언급되어 있습니다. (참고자..

(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에서 동작시켜봤습니다. (참고자료) 프로그래밍 가이드 : ..