2016년 6월 26일 일요일

OBD-II (On-Board Diagnostics) 로 자동차 정보 보기 - 9편 (Rear Camera 추가)

이제 어느정도 그럴싸한 모양새를 갖추고 성능 최적화도 거쳐서 쓸만해 졌는데, 뜬금없이 후방 카메라 기능을 추가 하고 싶어졌다. 사실 이런 기능 추가 보다는 안정화와 Canvas animation 을 추가해야 하는데 갑자기 꽂힌 거라서 마음이 움직이는 대로 했다.

후방 카메라를 보려면 어떻게 해야 할까?
내 차에는 후방을 보여주는 2개의 카메라가 있다. 하나는 블랙박스에 달려 있는 후방 카메라 이고, 또 하나는 후진 기어를 넣으면 빌트인 네비게이션에서 보여주는 후방 카메라 이다. 둘 중에 어느 것이라도 상관 없을 것 같았는데 일단 쉬워 보이는 것으로 블랙박스 후방 카메라를 선택 했다.
블랙박스
요렇게 생긴 녀석인데, 후방 카메라가 어떻게 연결 되어 있는지 살펴 봤더니 4극 2.5파이 케이블로 본체와 연결 하는 방식 이었다. 4극 중에 본체에서 후방카메라로 전원을 공급하는 극과 카메라에서 비디오를 받아오는 극이 포함되어 있는 것 같은데, 이걸 raspberry pi 에서 잡아채서 보려면 중간에 선을 끊어서 video capture 에 넣어줘야 할 것 같았다. 후방 카메라 케이블을 자르기에는 좀 위험해 보여서 4극 2.5파이 연장선이나 Y자 분배 젠더가 있는지 찾아 봤는데 의외로 쉽게 구할 수 없었다. 일단 연장 케이블 하나 주문 해 뒀다.
4극 2.5 파이 케이블 연장선
그런데 이 케이블을 받았다고 치고 선을 따서 video 라인을 뽑아 냈다고 해도 raspberry pi 에서 보려면 video capture 가 필요 했다. 예전에는 usb TV 구하기가 쉬웠는데 요즘은 찾기 힘든 제품이 되어 버렸으니... 일단 인터넷을 뒤지다 그나마 제일 저렴한 것으로 구입을 했다.
video capture 장치
4극 2.5파이 케이블 보다 video capture 가 먼저 도착하는 바람에 블랙박스 후방 카메라로 하기에는 어려움이 있었다. 차에 앉아 있으려니 급한 성격 탓인지 빨리 video capture 로 후방 카메라가 보고 싶어졌다. 에라 모르겠다~ 걍 네비게이션으로 들어오는 후방 카메라를 사용해 보자!

일단 네비게이션에 연결된 후방카메라가 RCA 케이블이라고 가정하고 (ㅡ,ㅡ 이런건 가정하면 안되는데, 너무 무모한가...) 센터페시아를 뜯어 보기로 마음을 먹었다. 네비게이션 DIY 카페를 찾아 다니면서 '베라크루즈 차량 센터페시아 탈거' 에 대해 공부를 시작했다.

카페 글을 읽다보니 필수 장비가 '헤라' 라는 플라스틱 조각인듯 했는데, 이걸 또 언제 주문하고 택배를 기다리고 하나 싶어서 집을 뒤져 보니 비슷한 것을 찾을 수 있었다.

딸래미 주방 장난감에 있는 플라스틱 접시
이 접시로 센터페시아 환풍구 틈에 밀어 넣어서 아래위로 흔들다 보니 딸깍 하면서 빠졌다. 사실 쉽지 않은 작업이었다. 이런 것을 해 본적도 없고, 차에 상처라도 날까봐서 조심조심하다 보니 다 빼고 나서 몸살이 날 지경이었다.
좌/우 환풍구 탈거
 그래도 보고 있으니 뿌듯했다. 자 이제 필요한 것은 십자 드라이버, 8개의 나사를 풀어서 네비게이션을 분리해서 배선을 살펴봤다. 급하게 작업 하다보니 배선 사진을 찍어 두지 못했다. 여하튼 배선중에 Rear Camera 라벨이 적힌 RCA 케이블이 있었다. (다행이다... 4극이었다면, 정말 눈물을 흘렸을지도...). 집에 굴러다니던 RCA 분배기를 사용해서 원래 네비게이션에도 input 을 넣어주고 다른 하나는 video capture 에 연결을 해 줬다.

RCA 분배 젠더
그랬더니 요렇게 구성이 됐다. 조립은 분해의 반대.... 이기 때문에 선을 운전석 아래쪽으로 깔끔하게 빼 주고 다시 원상태로 돌렸다.

video capture 는 추가 작업 없이 linux 에서 사용가능 하기 때문에 raspberry pi 에서도 바로 동작 했다. 간단하게 테스트 할 수 있는 방법은 gstreamer 를 사용하는 것인데,

$ gst-launch-1.0 v4l2src ! videoconvert ! ximagesink

라고 하면 video 화면을 확인 할 수 있다.

난 web 기반의 solution 이기 때문에 HTML5 의 WebRTC 인 getUserMedia 를 사용해야 했다. 항상 그렇지만 github 에는 찾는 것이 모두 있다.
https://github.com/samdutton/simpl/blob/master/getusermedia/sources/index.html

링크의 example 을 html 에 추가 해 주니 video capture 의 화면이 browser 에 바로 나왔다.
주문했던 4극 2.5파이가 도착하면 블랙 박스 후방 카메라도 해 봐야하지만. 일단 퀄리티가 너무 좋아서 할까 말까 고민이 된다 ^^. 영상을 보면 눈치 챌 수 있는데 빌트인 네비게이션 보다 더 빠릿하게 동작한다.

그럼 시연 영상을 ~


댓글 없음: