본문 바로가기
Study/ETC & TIP

odb2 개발을 위한 ECUsim2000 사용하기 3(Terminal)

by Answer Choi 2018. 5. 17.
반응형

앞서 2번의 포스팅에서 안드로이드 앱과


PC용 전용프로그램을 가지고 테스트 했었습니다.


odb2 개발을 위한 ECUsim2000 사용하기 1(Torque)

odb2 개발을 위한 ECUsim2000 사용하기 2(Scan Master)

이번에는 Terminal에서 프로토콜을 가지고 테스트 해 보겠습니다.


저는 ELM327 블루투스를 가지고 있어 PC용 블루투스 동글을 가지고 연결을 하였습니다.


그래서 PC에서 블루투스용 터미널이 필요합니다.



다행히도 Microsoft Store에 보면 Bluetooth Serial Terminal이 있습니다.



터미널을 실행하고 OBDII라는 기기를 연결합니다.


그리고 주의할 점이 있는데 


오른쪽 표시해놓은 것처럼 세팅하셔야 됩니다.


끝문자는 Carriage Return으로


transmit Format은 String으로


그래야 정상적으로 데이터가 전송됩니다.


receive Format은 String으로 하시는게 보기에 편합니다.


이제 테스트를 하기위해 데이터 포맷을 알아야 하는데 OBDII-Wiki에 가면 정보가 나와있습니다.


먼저 데이터를 가져오는 것을 Query라고 하는데 아래와 같습니다.


주소비트 11bit또는 29bit와 데이터는 8byte로 구성되어 있습니다.


11bit는 07 DF이고,


29bit는 18 DB 33 F1입니다.


여기서는 보드에서 29bit로 설정을 하여 29bit를 사용합니다.


그리고 Query하였을때 Response하는 데이터의 포맷은 아래와 같습니다.


역시 주소비트 11bit또는 29bit와 데이터 8바이트로 되어있습니다.


주소비트는 Module에 따라 07 E8, 07 E9, 07 EA이고


29bit는 18 DA F1 10, 18 DA F1 18, 18 DA F1 28 입니다.


데이터바이트의 첫바이트는 첫바이트를 뺀 유효바이트 수이고,


두번째 바이트는 4X가 됩니다.(0100 XXXX)


하지만 터미널로 테스트시 주소값을 안써야 정상적으로 통신이 됩니다.



주소값을 적어서 Query하니 Response가 안됩니다.


(주소를 쓰면 안됨)


이것과 String으로 통신하는건 다음에 ELM327말고 다른 걸로 확인해 봐야할듯 합니다.




이제 테스트 시작입니다.


먼저 앞의 포스팅에서와 같이 PIDs Supported 01~20을 보내보겠습니다.



Query와 Response 모두 정상적으로 됩니다.


속도값 Query



속도값 요청인데, 응답값 앞에 8이 끼여있긴하지만 정상적으로 들어옵니다.


속도응답 데이터가 5A 이므로 변환하면 90km/h이 됩니다.


RPM값 Query



RPM값 역시 정상응답이 옵니다.


RPM은 2byte이므로 3B 23을 변환하면 3784rpm이 됩니다.


PID문서를 보고 다양하게 테스트 하면됩니다.^^


반응형

인기글