서버 개발하는 사람이 바라 본 테슬라 전기차

서버 개발하는 사람이 바라 본 테슬라 전기차

테슬라라고 하면 주식, 자동차 리뷰에 대한 내용이 대부분을 차지한다. 이러한 컨텐츠를 생산하는 분들은 테슬라를 두고 기술력을 꼽으며 자동차 생산 기업이 아닌 IT기업으로 보고 있다. 특히 소프트웨어에 대해서는 어느 자동차 메이커도 따라 올 수 없다고 극찬을 하지만 실제 개발하는 사람들의 의견을 들어볼 수 없었다. 그럼 소소하게나마 직접 느껴본 점을 정리해본다.

기능의 끝을 알 수 없는 API

공식적으로는 API의 사용을 지원하지 않고 있지만 구글에 tesla api라고만 검색해봐도 수두룩하게 검색되는 모습을 볼 수 있다. 이는 리버스 엔지니어링을 통해 여러 사용자들이 Rest API를 문서화하는데에 이르렀다. 자칫 대충보면 테슬라에서 지원하는 공식 API 문서로 착각할 수 있다. 테슬라는 자사 앱 외에 API 또는 앱을 사용했을때 해킹이나 다른 동작에 대해 책임을 지지 않는다고 명시를 해두었다. 그럼에도 불구하고 이 API를 중심으로 많은 정보와 앱이 만들어지고 있다.

API는 OAuth 방식을 사용하고 있으며 테슬라 로그인 페이지에서 로그인을 완료 후 얻게 된 인가코드(Grant Code)로 인증 요청을 하면 Access Token과 Refresh Token을 발급 받게 된다. Access Token을 얻게 되면 해당 차의 제어권을 얻게 된다. 이를 통해서 테슬라 앱을 통해 할 수 있는 거의 대부분의 기능을 API를 호출 할 수 있는 모든 기기에서 제어가 가능하다.

직접 내 차를 Postman으로 트렁크를 열고 닫는데 성공했다. 이는 Rest API 콜이라 근거리, 장거리 의미가 없다. 이는 아래 섹션에서 좀 더 자세히 얘기해보면 될 것 같다.

페이팔의 정신을 계승한 슈퍼차저

슈퍼차저의 결제 방식은 미리 서버에 저장된 결제 수단의 정보를 이용해 사용한 만큼 자동 결제를 하는 방식이다. 이는 페이팔의 결제 방식과 동일하다. 페이팔은 머스크형이 x.com을 창립하여 만든 간편 결제 솔루션이고 이것이 현재의 페이팔(Paypal)이 되었다. 이러한 컨셉을 슈퍼차저에서 그대로 사용하고 있으며 타사 전기 충전 솔루션과는 차원이 다른 간편함을 제공하고 있다. 사이버트럭은 Space X에서 사용되는 스테인레스강을 이용해 제작한다고하니 각각의 회사들의 기술이 유기적으로 연관되어 공유되는 모습을 보인다. 그럼 “X 된 파랑새”는 어떻게 활용될지 기대가 되는 대목이다. 이쯤되면 이해안되고 바보같아 보이는게 경쟁자들을 무장해제 시키는 전략으로 보이기까지 한다.

데이터와 통신의 중앙 집중

위 API 이야기를 좀 더 이어서 하면 될 것 같다. 마지막에 근거리, 장거리 의미가 없다는 표현을 했다. 이 뜻은 클라이언트와 전기차가 직접 통신을 하지 않는다는 의미다. 중앙에 서버가 있고 클라이언트(사용자)는 중앙 서버에 요청을 하고 서버는 대상 차량에 명령을 내린다. 명령을 받은 차량은 그렇게 트렁크를 열어준다.. 차는 부산에 있고 나는 서울에 있어도 열어준다..

이는 테슬라의 중앙화된 서버에서 모든 자동차의 원격 제어가 이루어진다는 의미다. 물론 일부 블루투스와 같은 근거리 통신은 차량과 직접 통신을 하기 때문에 상관이 없지만 대부분은 이러한 중앙화된 서버의 API 통신을 하고 있다. 이 API의 기능이 다양해지면 다양해 질 수록 보안에 구멍이 많아진다고 봐도 무방하다.

향후 스마트 서먼 기능이 완벽해지면 내가 자고 일어났을때 차가 주차장에 없어져있을 수도 있겠다는 생각을 한다. 또는 오토파일럿 주행 중인데 자기 멋대로 차선 변경을 하고 좀 더 가서 고속도로 주행 중 NOA가 활성되어 엄한 곳으로 빠져나가는 상상도 하게된다. 그럴리는 없지만 반대로 가능할 수도 있어서 조금 무섭게 느껴진다.

실제 사례로 과거 중앙 서버의 인증 장애로 차 문이 열리지 않거나 주행 모드로 조작이 되지 않는 문제가 있었다.

오픈소스의 사용

인포테인먼트에서 오픈소스 사용을 적극적으로 하는 모습을 보인다. 특히 테슬라에서 사용되는 웹브라우저는 Chromium을 사용한다. 이 말은 오픈소스인 Chromium의 오픈소스 커미터라면 내가 직접 테슬라 브라우저에도 영향을 줄 수 있다는 점이다. 그 전에 Chromium 오픈소스 커미터가 되는 것 자체가 대단한 일이긴하다. 그리고 북미에는 아케이드 앱에 스팀이 추가되어 이제 단순한 앱이나 게임이 아닌 플랫폼을 담고 있다. 심지어 테슬라 앱 스토어까지 썰이 돌고 있다. 그런데 이 썰은 사실 구현 가능하고 만들어지면 이미 쓸 사람은 줄서있으니 시간이 문제(Elon Time)지 만들지 않을 이유가 없다.

참고 링크


여담

2021년 2월 테슬라 모델Y 롱레인지를 예약해서 그 해 5월에 인도받고 지금까지 약 6만 5천km를 주행했다. 지금까지 오면서 타이어가 세 번 펑크났고 두 번의 지렁이, 한 번의 빵꾸 패치를 했으며 최근 트레드가 많이 닳아 타이어를 교체했다. 그리고 인천공항을 오가던 중 트럭에게 스톱칩을 당해 윈드실드 교체가 한번 있었고 전륜 부분 부싱 경화로 인해 교체를 받았다.

커스터마이징 간단 후기

  • 썬팅: 윈드실드, 앞열 좌우만 했다. 루프와 후열, 뒷유리는 이미 틴팅이 되어있어서 할 필요가 없었다.
  • 트렁크 바닥 패드: 차박할때 먼지에서 자유로워 질 수 있었다.
  • 알리발 휠캡: 기본 옵션은 휠캡을 교체할 수 있어서 원하는 디자인의 휠캡으로 부담없이 커스터마이즈가 가능했다.
  • 광각 사이드 미러: 순정 미러로 몇 달 주행해보다가 도저히 시야가 불안해서 교체했다.
  • 안전벨트 클립: 후열 가운데 좌석만 클립을 채웠는데 이유는 큰 짐을 적재할때 시트를 접게 되는데 안전벨트 미착용 결고음이 계속해서 들려 해결하기 위함이었다.
  • 전동 프렁크: 가장 가격이 비싸서 끝까지 고민했지만 하고 나서 왜 고민했지라는 생각을 하게 되었다. 프렁크에 손댈 일이 사라졌고 손바닥 자국도 이제 볼일이 없어졌다.
%d 블로거가 이것을 좋아합니다: