在树莓派上部署Teslamate
Tesla官方app内容比较简单,没有行程数据、电量消耗等数据,车主其实都很在意这些数据,我平时就用TezLab应用了解这些数据,感觉还不错。这两天了解到还有个TeslaMate应用可以呈现这些数据,刚好手上有台刷了RetroPie当怀旧游戏机但一直吃灰很多年的Raspberry Pi 3 Model B,于是打算折腾下,在树莓派上部署TeslaMate。
3B的内存是1G,刚好达到了TeslaMate的要求,所以接下去就是在树莓派上安装Docker就行了。网上搜了一些教程,都是两三年前的方法,有些代码已经过时没用了,所以我就跟着官方的方法走下去。
第一步:下载Raspberry Pi Imager
官网下载地址:https://www.raspberrypi.com/software/,给树莓派SD卡刷系统用的。
第二步:给树莓派SD卡刷系统
把SD卡链接电脑,用Raspberry Pi Imager给树莓派SD卡刷系统。
因为我是3B,所以选的系统是64位更适配。
在高级设置中开启SSH服务,username和密码自己设,设置完后点烧录。
第三步:给树莓派安装Docker
把烧录完后的SD卡插到树莓派上,通电通网,树莓派和电脑要在同一局域网内。可以在路由器后台找到树莓派的IP地址,也可以通过软件找,Windows用Advanced IP Scanner,Mac用LanScan。然后通过SSH链接树莓派,Windows用putty,Mac用terminal,以Mac为例,终端中输入:
ssh 你的树莓派用户名@树莓派的IP地址
树莓派用户名就是上面的Username。
这里如果遇到这类提示:
ECDSA host key for 树莓派IP地址 has changed and you have requested strict checking
输入ssh-keygen -R 树莓派IP地址
解决。
进入树莓派后台,接下去就是按照Teslamate要求安装Docker和Docker Compose。
在Docker树莓派的OS requirements
页面中:
This installation instruction refers to the 32-bit (armhf) version of Raspberry Pi OS. If you’re using the 64-bit (arm64) version, follow the instructions for Debian.
由于上面的树莓派系统安装的是64位,所以要按照Debian的流程操作。
Set up Docker’s Apt repository
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Install the Docker packages
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin`
安装确认
sudo docker run hello-world
安装成功的话,会有这么一段话:
Hello from Docker!
This message shows that your installation appears to be working correctly.
第四步:安装Docker Compose
其实实测第三步做完之后已经有compose了,不过还是按照官方再来一次。
sudo apt-get update
sudo apt-get install docker-compose-plugin
验证安装 sudo docker compose version
,会显示 Docker Compose version v2.21.0
,这样就显示compose也安装完成了。
第五步:编写docker-compose.yml文件
安装TeslaMate要求,编写docker-compose.yml
文件。在terminal中输入nano docker-compose.yml
就能新建一个yml文件了,然后填入以下内容。
version: "3"
services:
teslamate:
image: teslamate/teslamate:latest
restart: always
environment:
- ENCRYPTION_KEY=#insert a secure key to encrypt your Tesla API tokens
- DATABASE_USER=teslamate
- DATABASE_PASS=#insert your secure database password!
- DATABASE_NAME=teslamate
- DATABASE_HOST=database
- MQTT_HOST=mosquitto
ports:
- 4000:4000
volumes:
- ./import:/opt/app/import
cap_drop:
- all
database:
image: postgres:15
restart: always
environment:
- POSTGRES_USER=teslamate
- POSTGRES_PASSWORD=#insert your secure database password!
- POSTGRES_DB=teslamate
volumes:
- teslamate-db:/var/lib/postgresql/data
grafana:
image: teslamate/grafana:latest
restart: always
environment:
- DATABASE_USER=teslamate
- DATABASE_PASS=#insert your secure database password!
- DATABASE_NAME=teslamate
- DATABASE_HOST=database
ports:
- 3000:3000
volumes:
- teslamate-grafana-data:/var/lib/grafana
mosquitto:
image: eclipse-mosquitto:2
restart: always
command: mosquitto -c /mosquitto-no-auth.conf
# ports:
# - 1883:1883
volumes:
- mosquitto-conf:/mosquitto/config
- mosquitto-data:/mosquitto/data
volumes:
teslamate-db:
teslamate-grafana-data:
mosquitto-conf:
mosquitto-data:
有四个#insert
的字段,设置成你要的密码,另外注意这里等号后面有个空格,把空格删除。填入完成后键盘按 ctrl+字母O,然后按ctrl+x退出编辑界面。
最后docker compose up -d
启动docker
第六步:登录TeslaMate
1、打开网页:http://树莓派的IP地址:4000
2、用你的tesla账号登录,然后还要用到tesla token,可以用这几个app获得。
3、Grafana面板网址:http://树莓派的IP地址:3000,默认用户名和密码都是admin。
到此为止,TeslaMate已经搭建完成并成功访问。树莓派要一直通电运行才能收取记录数据。
参考:
1、Instalar TESLAMATE en Raspberry Pi 3 o 4. Actualizado Dic. 2022
2、TeslaMate Docs
3、Docker Docs
4、Installing Docker and Docker Compose on the Raspberry Pi in 5 Simple Steps(有些不适用了)