일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- minifigure
- Study
- Technology
- 피규어
- Riddle
- 71039
- 퇴근의 맛
- Book
- Game
- Programing
- 일드감상
- 작품
- iphone
- Bluelay
- Test
- 사진
- 플래시게임
- 미드
- 건프라
- CF
- 나날
- 개발
- 레고
- bluetooth
- oculus
- 영화감상
- 생각
- Wallpaer
- Reverse Engineering
- marble
- Today
- Total
!n5u Story
[테슬라] TeslaMate.. 차량 분석 TOOL?! 본문
모델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
이래저래 헤매다가 아래 내용보고 겨우 설치 완료..
참고: 라즈베리파이에 설치하는 법 링크
구글 클라우드 플랫폼에 설치하는 법 링크: 가격정책이 나와있는데.. f1-micro는 쭉 무료 아닌가??? 확인 필요...
www.coran.co.kr/756 -> 여기 상세하게 정리해줌. 참고!!
나름 정리해본다면.....
1단계: Google CloudPlatform 생성..
Compute Engine을 무료생성해야하는데.. 요걸 참조해보자~ (무료인지는 지켜보겠어...)
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 연결하고 설치 명령 하나하나 복붙 때려서 진행
설치 가이드...
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에서도 설정에서 주소 적어두면 '대시보드' 링크 생김
이렇게 메뉴 목록이 있는데... 데이터 좀 쌓이면 살펴보기로....
데이터 축적하느라 네트워크 쓰면서 배터리 소모가 있을꺼라는데...
좀 보다가 필요없음 지워야지....