라즈베리파이에 테슬라메이트 설치한 과정

By | 2024-07-18

테슬라 차량 인수가 초읽기에 들어갔다. 차량의 정보를 수집해서 보여주는 이러저러한 앱과 서비스 중에 테슬라메이트를 사용해보기로 했다. 하이브리드차량 8년간 몰면서 매 주유마다 날짜, 주유량, 단가, 연비, 금액, 1만원당 주행거리를 구글스프래드시트에 정리해두긴 했는데, 뭐 굳이 특별한 인사이트를 주는 것도 아니었다. 여태 해왔으니 멈추면 좀 아깝다는 생각이 들어서 계속 해오던 것. 그러니 테슬라의 각종 정보들을 수집해서 보는것은 의미가 있을까 싶긴 했다. 한동안 할까 말까 고민하다가 라즈베리파이에 설치하기로 결정했다. 수집해서 보여주는 데이터의 양이 워낙 방대한 반면 사용자는 특별히 노력하지 않아도 자동 수집되니 해볼만하겠다 싶었다.

클라우드에서 돌려볼까 해서 오라클 클라우드를 테스트 해봤는데 여긴 뭐가 문제인지 로그인이 되지 않았다. 계정은 이미 있다고 하길래 로그인 정보를 보내달라고 했더니 정보가 없다는 메일만 반복해서 온다. 인연이 아닌가보다. 또 하나는 테슬라메이트를 전문적으로 호스팅하는 클라우드 서비스가 몇개 있는데 서비스의 신뢰도를 확인하기가 어려웠다. 갑자기 서비스를 종료해도 문제고, 내 데이타를 어떻게 관리하는지도 확신할 수 없었다.

별도의 앱 형태로 제공하는 서비스들도 있었으나 지속적으로 비용을 지불해야 한다는 점에서 일단 보류. 일회성 구입은 55만원? 뭐 이 금액이면 충전료로 몇년은 쓰겠다. 남은 대안은 NAS 또는 라즈베리파이에 설치하는 것인데, 안타깝게도 시놀로지 NAS가 intel CPU가 아닌 제품이라 설치 불가. 남은 대안은 라즈베리파이다. 말로만 들어봤는데 이렇게 첫 대면을 하게 됐다.

라즈베리파이4 램4기가짜리로 구입했고 정품 케이스와 팬도 함께 구입했다. 저장소로 사용할 메모리카드는 블박에 기본으로 따라와서 방치되어있던 32기가 메모리를 사용하기로 했다. 키보드가 필요한가? 모니터 연결을 위해 케이블이 필요한가? 랜케이블이 필요한가? 싶었는데 다 필요없었다. 본체와 메모리카드만 있으면 충분했다. 본체에 메모리카드를 넣고 부팅한 후 나머지는 모두 원격 ssh 접속으로 설정하는 방식.

맥에서도 가능했겠지만 막쓰는 용도로 사용중인 윈도PC에서 라즈베리파이 설치파일을 다운받아 메모리카드에 넣고 이러저러한 설정값을 만진 후에 설치하면 얼추 OS가 설치된다. 호스트 이름, 로그인 계정 이름, 무선랜 설정 등이 이 과정에서 지정된다. 설치가 완료된 후 이 메모리카드를 뽑아서 라즈베리파이에 넣고 전원을 연결한다. 공유기 설정페이지에서 연결된 장치 목록에 라즈베리파이가 뜨는데 약간 시간이 걸렸다. 2~3분쯤? 안뜨나? 잘못했나? 싶었을 무렵 연결된 장치에 떴다. 여기서 아이피를 확인한 후 putty든 다른 터미널이든 연결하여 sudo apt install rpi-imager 라고 입력하는 것에서 부터 시작하면 된다. 아이피는 나중에 다시 같은걸 받을 수 있도록 공유기의 수동 설정 항목에 추가해두었다.

테슬라메이트 설치 과정은 소나무님 블로그에서 큰 도움을 받았다. 설명한 대로 따라하니 설치에 어려운 점이 별로 없었다. 다만 마우스 긁기를 금지해두셔서 조금 작업이 필요했던 것 빼고는.

nano 에디터를 이용해서 설정값을 넣는 과정이 있었는데 맥에서 작업하다보니 제대로 저장키 (^X)가 먹히지 않았다. 윈도 기준이라 맥에서는 커맨드 키를 눌러야하나 싶었는데 ctrl + shift + x 키로 됐다. 대문자 X여야 하는구나. 별도 앱으로 토큰도 받아서 넣으니 로그인도 잘 됐다. 아직 차량 인수 전이라 내용은 없지만 이제 인수해서 주행을 시작하면 데이타가 잘…..들어 가야겠지? -_-;

정품 케이스 주문하면서 정품 팬도 같이 주문했는데 이건 일반 가정집에서 사용하기엔 다소 소음이 컸다. 쌩~ 하는 작은 날개가 일으키는 높은 회전수의 소음이 꽤 거슬렸다. 일단은 탈거해 두었다.구입시 따라 온 방열판만 프로세서에 붙여두었다. 라즈베리파이3에서도 잘 돌아간다니 4에서는 굳이 팬까지 달지 않아도 될거 같긴하다.

Leave a Reply

Your email address will not be published. Required fields are marked *