能点进来的大概率都是特斯拉车友~~

本篇记录一下使用极空间Z4家庭NAS搭建TeslaMate的全过程,使用极空间最近更新的虚拟机功能,在虚拟机中安装Ubuntu部署Docker。当然大家用PC虚拟机搭建也可以啦! 至于为什么不用极空间自带的Docker功能,emmm并不好用。 要是想要使用自带的docker来搭建,可以参照这个https://post.smzdm.com/p/az59px95/ 本人自学小白,纯纯百度自学有什么写错的地方欢迎大家指正,共同进步!

前言

TeslaMate是一款备受特斯拉车主欢迎的开源解决方案,它为特斯拉车主提供了一系列强大的功能,包括数据分析、监控、统计通知等。作为开源项目,TeslaMate的代码完全开放,有一个活跃的社区在不断更新和改进它。 本文将介绍TeslaMate是什么以及如何简单搭建。

Teslamate官方文档: 【原版】:https://docs.teslamate.org/docs/installation/docker 【中文】:https://docs.teslamate.com.cn/docs/introduction

提示:以下是本篇文章正文内容,下面案例可供参考

一、准备工作

此处演示使用极空间Z4虚拟机搭建

1、准备Ubuntu镜像文件和Z4虚拟机

百度一下“我告诉你”或者直接点这个链接:https://next.itellyou.cn/Original/Index 这是一个下载工具和镜像的网站,很好用,反正我很多的镜像就是从他们这里下载的。 选择Ubuntu的图标,点【详细信息】跳转,这次演示的是用服务器版本的20.04,复制BT链接,用下载工具就能下载了。 推荐直接在极空间里面下载,可以直接保存在Z4的M.2高速硬盘中,方面后面虚拟机使用。(Z4使用虚拟机好像必须插一条m.2固态) 下载完成后初始化Z4的虚拟机功能,

2、初始化虚拟机

点击新建虚拟机——勾选Linux——下一步 虚拟机名字随意,镜像文件选择刚刚下载的镜像.img,开机策略按需选择,远程端口我还没用到我就随便写了一个。 ——下一步 存放目录就选高速硬盘,我这边给它分了20GB空间,后面可以修改,无所谓 网卡模式选择桥接,这里可能需要设置一下网口的配置,按照极空间的指引就行~ 没什么问题就可以创建了~ 等待几秒后,创建的虚拟机状态变成【运行中】,就能点访问打开虚拟机了。

3、安装Ubuntu&获取root

没有中文,就选英文咯 这里不需要安装更新,直接安装就行了 键盘配置就按照默认就行了 如果前面网卡选择桥接,这里会识别到IP地址,无脑Done 无脑Done 这里可以改镜像地址,我没有改,我用的是默认的,可能默认需要梯子哦~ 这里按默认就行,无脑Done 这里随意输入,用户名和密码后面要用 这里需要勾选安装SSH,后面大部分都是用SSH连接,很方便 我这里什么都没选择,剩下就等待安装就行。 左上角提示安装成功后可以选择跳过更新安装,剩下就是等待。。。。 如果长时间卡在这里,可以手动在虚拟机管理器中进行重启,再次登录 按回车后输入自己的用户名和密码,可以登录代表Ubuntu安装成功了。 接下来就是获取root权限,我们自己建立的账号权限比较,所以要解锁root权限 输入以下指令,回车,输入新的root密码

sudo passwd root

运行指令后分别输入自己用户的密码和两遍root的密码(是创建密码),这样就完成了root权限用户的创建激活。 然后运行以下指令,切换为root,输入刚才创建的root密码登录root。

su root

出现“root@ubuntu:/home/XXX#”就完成了ROOT权限账户的激活。

4、修改配置&启动SSH

运行以下指令,修改配置信息

vi /etc/ssh/sshd_config

键盘按“i”可以进行修改,如下图。 修改完成后按esc,输入命令“:wq!”,保存并退出

wq!

完成修改配置后运行重启SSH命令。

service ssh restart

最后一步在虚拟机操作的就是确定ip地址,后面用SSH工具连接要用到,用ip address show命令可以查看当前的IP地址。比我当前就是192.168.11.186 OK!到这一步我们之后的操作可以转到SSH工具端了。 有很多这类型的工具都可以用,我用的是Aechoterm好像对个人用户是免费的,界面挺好看。 【官网】https://ec.nantian.com.cn/#/home

二、部署Docker&TeslaMate

1、SSH连接&部署Docker

打开SSH工具,创建SSH会话,配置信息按照自己实际填写,ip地址是刚才察查看的ubuntu的ip,端口号默认是22,用户名是root,密码是之前创建的,测试连接通过后就能保存连接了。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6b0670765bed431593965d5af6835b8a.png 出现下面这个画面就是SSH连接成功了

ok,开始第一步,卸载残留docker,运行:

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

正常得到下图反馈结果(之前未安装,所以也没有可以删除的) 接着运行:

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/ubuntu/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/ubuntu \

$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \

sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

反馈结果如下 安装最新版本的Docker,运行:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose docker-compose-plugin

反馈如下,输入【Y】回车继续,等待进度走完 结果如下 运行一个HelloWord,测试一下Docker

sudo docker run hello-world

可能会出现这样情况 可以先把Docker重启一下,运行:

sudo service docker restart

然后再运行:

sudo docker run hello-world

反馈如下,代表Docker已经安装可以运行 到此已经完成了Docker的部署,接下来就是安装TeslaMate。

2、TeslaMate安装&登录启用

使用SSH客户端软件的SFTP功能,如下 在root/data/docker-data/teslamate/路径下新建一个文件命名为【docker-compose.yml】,路径中没有文件夹可以自己补充,如下 双击打开此文件,将下面信息复制进去,注意需要按实际情况修改四处内容

注意注意!此处我使用汉化的TeslaMate作为演示! 非汉化版本附在下方,使用方法相同! 注意注意!此处我使用汉化的TeslaMate作为演示! 非汉化版本附在下方,使用方法相同! 注意注意!此处我使用汉化的TeslaMate作为演示! 非汉化版本附在下方,使用方法相同!

#这是汉化版本!这是汉化版本!这是汉化版本!这是汉化版本!

version: "3"

services:

teslamate:

image: dhuar/teslamate:latest

restart: always

environment:

- ENCRYPTION_KEY=#输入一个Key,用于加密Tesla API Token,随便输入就行

- DATABASE_USER=teslamate

- DATABASE_PASS=#输入一个数据库密码,随便输入就行

- 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=#输入一个数据库密码,随便输入就行

- POSTGRES_DB=teslamate

volumes:

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

grafana:

image: dhuar/grafana:latest

restart: always

environment:

- DATABASE_USER=teslamate

- DATABASE_PASS=#输入一个数据库密码,随便输入就行

- 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:

注意注意!此处为官方原版! 注意注意!此处为官方原版! 注意注意!此处为官方原版!

#这是官方原版!这是官方原版!这是官方原版!这是官方原版!

version: "3"

services:

teslamate:

image: teslamate/teslamate:latest

restart: always

environment:

- ENCRYPTION_KEY=secretkey #replace with a secure key to encrypt your Tesla API tokens

- DATABASE_USER=teslamate

- DATABASE_PASS=password #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=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=password #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:

以下四处自行补充,填入=之后,注意=后不要留空格(建议16位以上) ENCRYPTION_KEY= DATABASE_PASS= POSTGRES_PASSWORD= DATABASE_PASS= 后三者可以使用相同的KEY,可以使用在线工具随机生成https://tools.fun/password.html 如下图,修改完成后右下角保存即可。 回到SSH界面,依次运行:

cd /root/data/docker_data/teslamate

docker-compose up -d

等待docker拉去镜像文件进行安装,反馈如下 ok,到这里服务器端搭建完成,后面就需要登录设置了

现在开始设置TeslaMate 用同一局域网下的设备打开TeslaMate后台,地址为http://ip:4000 IP是Ubuntu的IP地址,如下 需要我们填写两个Key,这个和自己的Tesla账号有关

使用苹果设备的同学可以下载Auth for Tesla这个app,登录自己的Tesla账号后就会显示 安卓同学可以下载这个Tesla Tokens,登录获取(鸿蒙不清楚,可以尝试一下) PC或者MAC端可以访问https://github.com/adriankumpf/tesla_auth

以下我用iPhone做演示,按照箭头指示复制进去 复制后,点击登录即可 点击右上角设置,拉到页面最下,填写Grafana后台地址,地址为http://ip:3000,IP为Ubuntu地址,如下

接下来转到【Grafana】 用同一局域网下的设备打开Grafana后台,地址为http://ip:3000 IP是Ubuntu的IP地址,如下 默认用户和密码均为admin,首次登录后创建新密码,进入后界面如下 首次创建后部分信息需要行驶一段时间后才能及时更新,各位慢慢自己摸索~

总结

OKK 以上完成了TeslaMate的搭建,当然目前肯定功能还不完善,比如没有设置端口转发,外网没办法访问之类的,有机会之后一步步再完善,非常欢迎与我讨论。 我一个小白前前后后花了3天重新搭建了TeslaMate,借鉴了很多CSDN大神们的经验,非常感谢! https://blog.csdn.net/RRiddle/article/details/135362281 https://blog.csdn.net/oakley0/article/details/118863847 https://blog.csdn.net/iijik55/article/details/124090308

关于TeslaMate其他的内容我后面会慢慢再补充~

本次经验分享有很多的不足之处,欢迎各位指出,我们共同进步~

文章来源

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。