!n5u Story

[테슬라] TeslaMate.. 차량 분석 TOOL?! 본문

Stuff Story

[테슬라] TeslaMate.. 차량 분석 TOOL?!

insparrow 2020. 4. 30. 12:13

모델3 관련 이것저것 찾아보다가...

차량 운행 데이터로 통계/분석하는 듯한 걸 발견!

 

서드파티로 TeslaFi, TeslaMeta 등등등이 있는데.. 유료 서비스인듯 하고..

개인 서버로 돌릴수 있는게 TelasMate~

https://github.com/adriankumpf/teslamate

 

adriankumpf/teslamate

A self-hosted data logger for your Tesla 🚘. Contribute to adriankumpf/teslamate development by creating an account on GitHub.

github.com

NAS를 쓰든 라즈베리파이를 쓰든.. 해서 Docker를 이용한다는데....

Google CloudPlatform 사용하는게 있어서 도저언~!!
* API를 정리한 비공식 문서.. 이걸 응용한건가?
https://tesla-api.timdorr.com/

구글클라우드로 만들어볼까요~

www.console.cloud.google.com/?hl=ko

 

이래저래 헤매다가 아래 내용보고 겨우 설치 완료..

참고: 라즈베리파이에 설치하는 법 링크

       https://coran.co.kr/m/753

       구글 클라우드 플랫폼에 설치하는 법 링크: 가격정책이 나와있는데.. f1-micro는 쭉 무료 아닌가??? 확인 필요...

       www.coran.co.kr/756 -> 여기 상세하게 정리해줌. 참고!!

 

 

나름 정리해본다면.....

 

1단계: Google CloudPlatform 생성..

Compute Engine을 무료생성해야하는데.. 요걸 참조해보자~ (무료인지는 지켜보겠어...)

https://thinkground.studio/gcpgoogle-cloud-platform-%EB%AC%B4%EB%A3%8C%EC%9A%A9-vm-instance-%EB%A7%8C%EB%93%A4%EA%B8%B0/

 

GCP(Google Cloud Platform) 무료용 VM Instance 만들기 | ThinkGround

우선 이 과정을 진행하기 이전에 아래의 절차들이 선행되어야 한다.. GCP 계정 생성 (Credit 카드로 본인 인증 필요)– 그렇다고 인증에 사용된 카드가 결제 수단이 되지는 않으니 걱정할 필요는 없다.. Project 생성

thinkground.studio

결제계정을 생성하고.. 프로젝트를 만든 후..

VM인스턴스 만들기..

핵심은 '무료 설정 기준' 이거인듯..

. 이름 : 자유롭게 설정
. 리전 : 오리건, 아이오와, 사우스캐롤라이나
. 영역 : 리전 선택 후 자유
. 머신 유형 : 초소형 (f1-micro)
. 부팅디스크 : OS는 자유 / 부팅디스크 유형 : 표준 영구 디스크 / 30GB

 

OS는 debian이나 ubuntu로 하면 될듯 하고...

생성 후에 SSH로 접속하여 진행..

(월 $0.22 나오는데 무료 맞는건가?!)

 

* 오래전에 가입해놔서 처음 시작 부분은 여기 링크(www.coran.co.kr/756)에서 확인...

 

2단계: 네트워크 설정 및 SSH 접속..

나중에 접속을 위해 외부IP는 고정으로

VM인스턴스에서 네트워크 세부 정보 보기

외부IP주소에서 유형을 고정으로 변경.. (메뉴 왜이렇게 어려워...)

방화벽규칙으로 3000, 4000 port도 열어두어야 함..

  규칙만들기로 접근 허용할 IP 지정이랑 포트 맞쳐서 생성..

  IP 범위로 소스 IP 범위를 0.0.0.0/0 으로 하면 어디서든 접근 가능이고..

  특정 IP만 허용하려면... 30.140.27.101이라고 가정했을때

  30.140.0.0/16 으로 쓰면 30.140.0.0~30.140.255.255까지의 IP에서 접근 가능...

  30.140.27.0/8 으로 쓰면 30.140.27.0~30.140.27.255까지의 IP에서 접근 가능...

 

SSH로 연결해서 이것저것 설치해야하는데...

www.kjun.kr/406?category=850826

Putty에서 생성된 Key 를 SSH Key로 등록하고 하면 되나 봄..

 

모르겠으니.. 그냥 브라우져에서 SSH열기로 시작..

3단계: Docker, Docker Compose 설치..

SSH 연결하고 설치 명령 하나하나 복붙 때려서 진행

 

설치 가이드...

www.dev.to/rohansawant/installing-docker-and-docker-compose-on-the-raspberry-pi-in-5-simple-steps-3mgl

 

Installing Docker and Docker Compose on the Raspberry Pi in 5 Simple Steps

Installing Docker on the Raspberry Pi sometimes can get messy, let me help you with that!

dev.to

아예 권한 바꾸려면 sudo -i 쳐서 root 계정으로 전환

(관리자 권한 아니면 명령어 앞에 sudo 붙여서 진행..)

 

- Docker 설치

curl -sSL https://get.docker.com | sh

실행 확인은..

docker run hello-world

- Docker Compose 설치

apt-get install -y libffi-dev libssl-dev

apt-get install -y python3 python3-pip

apt-get remove python-configparser

pip3 install docker-compose

  마지막 줄 실행하니 처음에

  You are using pip version 8.1.1, however version 20.1 is available.

  You should consider upgrading via the 'pip install --upgrade pip' command.

  요래 뜨길래 pip3 install --upgrade pip 이거 한번 먹이고 다시하니

  ERROR: Package 'zipp' requires a different Python: 3.5.2 not in '>=3.6'

  이거 떠서  Pip install zipp==1.0.0 이걸 해주고 다시 하니 먹음.. 뭐지;;

 

4단계: TeslaMate 설치..

https://docs.teslamate.org/docs/installation/docker

 

Docker install | TeslaMate

This document provides the necessary steps for installation of TeslaMate on a any system that runs Docker. For a walkthrough that provides the necessary steps for manual installation see [Manual Install](debian).

docs.teslamate.org

Docker Compose에 먹일 스크립트 넣는듯..

docker-compose.yml 파일을 생성하는데..

여기 링크(www.coran.co.kr/756)에 'cat > docker-compose.yml  << EOF' 이 부분 갖다 붙이면 편함;;

더보기

nano docker-compose.yml 해서 아래 내용 저장해도 되나....?

version: "3"

 

services:

teslamate:

image: teslamate/teslamate:latest

restart: always

environment:

- DATABASE_USER=teslamate

- DATABASE_PASS=secret

- DATABASE_NAME=teslamate

- DATABASE_HOST=database

- MQTT_HOST=mosquitto

ports:

- 4000:4000

volumes:

- ./import:/opt/app/import

cap_drop:

- all

 

database:

image: postgres:12

restart: always

environment:

- POSTGRES_USER=teslamate

- POSTGRES_PASSWORD=secret

- POSTGRES_DB=teslamate

volumes:

- teslamate-db:/var/lib/postgresql/data

 

grafana:

image: teslamate/grafana:latest

restart: always

environment:

- DATABASE_USER=teslamate

- DATABASE_PASS=secret

- DATABASE_NAME=teslamate

- DATABASE_HOST=database

ports:

- 3000:3000

volumes:

- teslamate-grafana-data:/var/lib/grafana

 

mosquitto:

image: eclipse-mosquitto:1.6

restart: always

ports:

- 1883:1883

volumes:

- mosquitto-conf:/mosquitto/config

- mosquitto-data:/mosquitto/data

 

volumes:

teslamate-db:

teslamate-grafana-data:

mosquitto-conf:

mosquitto-data:

생성 후 아래 명령치면 쭉~ 설치되는 듯..

docker-compose pull : 이거 해야하는건가.. 설명마다 다른데.. 싹다 해봄;;;

docker-compose up -d

 

  한방에 못하고 이것저것 설치해보다 보니 이미 port 사용 중이라... 에러뜸;;;

  address already in use 에러 뜨면

  netstat -lntp 이걸로 사용중인 port 확인해서 죽여버리기

  이렇게 뜨면 해당 PID를 지정해서

  kill -9 PID번호

  하고 다시 진행

 

아래는 Manual 설치 내용인데.. 이런게 쓰이나봄...

. Postgres (v12+) : DB인듯 SQL쓸라공?!

. Elixir (v1.10+) : 가상 머신에서 구동되는 프로그램?!

. Grafana (v6.6+) & Plugins : 데이터를 시각화 시켜주는건가?

. An MQTT Broker (e.g. Mosquitto) : 메세지 기반으로 데이터 주고 받는 프로토콜...?

. Node.js (v12+) : 이건 웹애플리케이션 뿌려주는건가..

 

5단계: TeslaMate 로그인 & 사용..

구글클라우드 플랫폼 고정IP로 접속

브라우져에서 xx.xx.xx.xx:4000으로 접속하면 로그인 화면이 나옴

테슬라 계정과 동일하게 로그인하면

요래 나오기 시작하고...

xx.xx.xx.xx:3000에 접속하면 GRAFANA 화면으로 통계 볼 수 있댐..

xx.xx.xx.xx:4000에서도 설정에서 주소 적어두면 '대시보드' 링크 생김

이렇게 메뉴 목록이 있는데... 데이터 좀 쌓이면 살펴보기로....

 

데이터 축적하느라 네트워크 쓰면서 배터리 소모가 있을꺼라는데...

좀 보다가 필요없음 지워야지....

반응형
Comments