Linux本地部署TeslaMate结合内网穿透实现公网访问内网车辆信息

文章目录

    • 1. Docker部署TeslaMate
    • 2. 本地访问TeslaMate
    • 3. Linux安装Cpolar
    • 4. 配置TeslaMate公网地址
    • 5. 远程访问TeslaMate
    • 6. 固定TeslaMate公网地址
    • 7. 固定地址访问TeslaMate

TeslaMate是一个开源软件,可以通过连接特斯拉账号,记录行驶历史,统计能耗、里程、充电次数等数据。用户可以通过web界面查看车辆状态、行程报告、充电记录等信息,并生成漂亮的图表和统计报告。

另外,TeslaMate也可以记录车子所有的位置、轨迹、速度、温度、海拔、续航、充电等等非常详细的信息。和其他第三方软件数据库都放在别人那里不同,TeslaMate是架设在自己的虚拟或实体服务器(比如支持docker的NAS)里的,所有的数据都在自己控制之下,安全性相对其他第三方软件要好不少

cpolar是一个安全的内网穿透云服务,可以将内网下的本地服务器通过安全隧道暴露至公网,使得公网用户可以正常访问内网服务。

下面介绍使用Docker中部署TeslaMate并结合cpolar内网穿透软件实现无公网无云服务器也可以远程访问TeslaMate,何时何地查看自己的车辆数据!

1. Docker部署TeslaMate

在Linux中任意目录下创建一个docker-compose.yml文件

vim docker-compose.yml

然后把以下内容复制进去,其中注释的地方需要自行修改一下

version: "3"services:teslamate:image: teslamate/teslamate:latestrestart: alwaysenvironment:- ENCRYPTION_KEY=secretkey #自定义设置一个加密的kay- DATABASE_USER=teslamate- DATABASE_PASS=password #自定义设置一个密码!- DATABASE_NAME=teslamate- DATABASE_HOST=database- MQTT_HOST=mosquittoports:- 4000:4000volumes:- ./import:/opt/app/importcap_drop:- alldatabase:image: postgres:latestrestart: alwaysenvironment:- POSTGRES_USER=teslamate- POSTGRES_PASSWORD=password #自定义设置一个密码!- POSTGRES_DB=teslamatevolumes:- teslamate-db:/var/lib/postgresql/datagrafana:image: teslamate/grafana:latestrestart: alwaysenvironment:- DATABASE_USER=teslamate- DATABASE_PASS=password #自定义设置一个密码!- DATABASE_NAME=teslamate- DATABASE_HOST=databaseports:- 3000:3000volumes:- teslamate-grafana-data:/var/lib/grafanamosquitto:image: eclipse-mosquitto:2restart: alwayscommand: mosquitto -c /mosquitto-no-auth.confvolumes:- mosquitto-conf:/mosquitto/config- mosquitto-data:/mosquitto/datavolumes:teslamate-db:teslamate-grafana-data:mosquitto-conf:mosquitto-data:

然后保存文件,执行下面命令部署启动

docker compose up -d

启动部署完成后,界面正常可以看到每个镜像容器都已经正常安装和创建运行,执行docker ps 可以看到成功运行了teslamate容器,接下来进行本地访问

image-20240104105132740

2. 本地访问TeslaMate

上面成功运行teslamate后,通过访问挂载的3000端口即可看到我们teslamate登录界面,输入默认账号和密码:admin即可登录,本地部署运行启动就完成了,接下来我们安装

image-20240104105859061

3. Linux安装Cpolar

上面在本地Docker中成功部署了teslamate服务,并局域网访问成功,下面我们在Linux安装Cpolar内网穿透工具,通过Cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

cpolar安装成功后,在外部浏览器上访问Linux 的9200端口 即:【http://局域网ip:9200】,使用cpolar账号登录(如没有账号,可以点击下面免费注册),登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

image-20231016143741228

4. 配置TeslaMate公网地址

点击左侧仪表盘的隧道管理——创建隧道,创建一个teslamate的公网http地址隧道!

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:3000 (本地访问的地址)
  • 域名类型:免费选择随机域名
  • 地区:选择China VIP

点击创建

image-20240104110406333

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

image-20240104110459327

5. 远程访问TeslaMate

使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到我们TeslaMate界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问 !

image-20240104110606567

小结

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:teslamate.cpolar.cn),这样更显正式,便于流交协作。

6. 固定TeslaMate公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20240104111619808

保留成功后复制保留成功的二级子域名的名称

image-20240104111639474

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20240104111712119

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20240104111740140

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

image-20240104111757850

7. 固定地址访问TeslaMate

最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问本地TeslaMate,无需公网IP,无需云服务器,随时随地查看车辆数据!

image-20240104111912104

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/760701.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编程参考 - stdint.h头文件的使用

在嵌入式系统软件开发上,对不同的平台,其每个机器字长都可能不同。在这个硬件平台上使用int,可能是4个字节,你做一个很大整数的运算也没问题。 但换个硬件平台,int可能变成了2个字节,那你运行一个大整数运…

代码随想录算法训练营第30天|332.重新安排行程 |51. N皇后 |37. 解数独

代码随想录算法训练营第30天|332.重新安排行程 |51. N皇后 |37. 解数独 今天这三道题都非常难,那么这么难的题,为啥一天做三道? 因为 一刷 也不求大家能把这么难的问题解决,所以 大家一刷的时候,就了解一下题目的要求…

【Flask开发实战】学习web和url开发基础

Web(World Wide Web)是一种全球性的信息系统,它通过互联网连接了世界各地的计算机和网络,使用户能够访问和共享各种资源,如网页、图像、视频等。URL(Uniform Resource Locator)则是一种用于标识…

YOLOv3学习

YOLOv3仅使用卷积层,使其成为一个全卷积网络(FCN)。文章中,作者提出一个新的特征提取网络,Darknet-53。正如其名,它包含53个卷积层,每个后面跟随着batch normalization层和leaky ReLU层。没有池…

【网络原理】HTTP 请求 (Request)详解

文章目录 🎍请求格式🎄认识URL🌸query string🌸关于 URL encode 🍀认识 “方法” (method)🌸GET方法🌸POST 方法🌸GET 和 POST 的区别 🌲认识请求 “报头” (header)&…

权限管理系统-0.5.0

六、审批管理模块 审批管理模块包括审批类型和审批模板&#xff0c;审批类型如&#xff1a;出勤、人事、财务等&#xff0c;审批模板如&#xff1a;加班、请假等具体业务。 6.1 引入依赖 在项目中引入activiti7的相关依赖&#xff1a; <!--引入activiti的springboot启动器…

Git进阶命令-reset

一、reset命令使用场景 有时候我们提交了一些错误的或者不完善的代码&#xff0c;需要回退到之前的某个稳定的版本,面对这种情况有两种解决方法: 解决方法1&#xff1a;修改错误内容&#xff0c;再次commit一次 解决方法2&#xff1a;使用git reset 命令撤销这一次错误的com…

为wordpress后台添加一个自定义页面

非插件线代码方式实现为wordpress后台添加一个自定义页面 参数如下&#xff1a; $page_title (string) – The text to be displayed in the title tags of the page when the menu is selected. $menu_title (string) – The text to be used for the menu. $capability (st…

汽车KL15、KL30、ACC的区别

文章目录 前言一、KL30是什么&#xff1f;二、KL15是什么&#xff1f;KL15信号的演变 三、为啥用KL15、KL30呢&#xff1f; 前言 相信刚接触汽车电子的伙伴都会有一个疑惑&#xff0c;什么是KL15?什么是KL30? 内心一脸懵逼…… KL是德语Klemme的缩写&#xff0c;指的是ECU的…

RCE漏洞

RCE漏洞概述 远程命令执行/代码注入漏洞&#xff0c;英文全称为Reote Code/CommandExecute&#xff0c;简称RCE漏洞。PHPJava等Web开发语言包含命令执行和代码执行函数,攻击者可以直接向后台服务器远程执行操作系统命今或者运行注入代码&#xff0c;进而获取系统信息、控制后台…

2023年五级区划省市县乡镇行政村社区边界数据

行政区划数据是重要的基础地理信息数据&#xff0c;根据国家统计局公布的数据&#xff0c;行政区划共分为五级&#xff0c;分别为省级、地级、县级、乡镇/街道级、村/社区级。 该套数据以2020-2023年国家基础地理信息数据中的县区划数据作为矢量基础&#xff0c;辅以高德行政区…

Spring Security源码

WebSecurityConfigurerAdapter已废弃&#xff0c;官方推荐使用HttpSecurity 或WebSecurity。 都继承了SecurityBuilder public interface SecurityBuilder<O> {O build() throws Exception;}亮点&#xff1a;通过这种方式很容易知道知道自己构建的Object HttpSecurit…

Shell脚本学习-if循环

最小化的if语句 无实际用途 if [ ] ;then echo fi 脚本解释 if 判断 [ ] 里面的条件是否成立 后面跟then&#xff0c;代表条件成立 如果在一行则使用分号隔离&#xff08;;&#xff09; 如果不在一行使用则直接在下一行驶入then即可。 如果条件成立则输出echo 后面…

IT管理备考TOGAF10证书有哪些好处?

现今&#xff0c;随着信息技术的快速发展&#xff0c;企业对于高效的IT管理需求日益增长。而TOGAF10证书作为全球公认的企业架构管理标准&#xff0c;成为了IT管理者的必备工具。本文将为您详细介绍TOGAF10证书的好处&#xff0c;以助您更好地了解和利用这一强大的工具。 首先&…

大模型主流微调训练方法总结 LoRA、Adapter、Prefix-tuning、P-tuning、Prompt-tuning 并训练自己的数据集

大模型主流微调训练方法总结 LoRA、Adapter、Prefix-tuning、P-tuning、Prompt-tuning 概述 大模型微调(finetuning)以适应特定任务是一个复杂且计算密集型的过程。本文训练测试主要是基于主流的的微调方法:LoRA、Adapter、Prefix-tuning、P-tuning和Prompt-tuning,并对…

金蝶云星空——单据附件上传

文章目录 概要技术要点代码实现小结 概要 单据附件上传 技术要点 单据附件上传金蝶是有提供标准的上传接口&#xff1a; http://[IP]/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.AttachmentUpLoad.common.kdsvc 参数说明 参数类型必填说明FileName字符是…

Vue3+JS:实现进度条拖拽

一、效果 二、代码实现 <template><div class"bar" ref"bar"><div class"slider" :style"Pos" mousedown"mousedown"></div></div> </template> <script setup lang"ts"…

8.2K star!史上最强Web应用防火墙

&#x1f6a9; 0x01 介绍 长亭雷池SafeLine是长亭科技耗时近 10 年倾情打造的WAF(Web Application Firewall)&#xff0c;一款敢打出口号 “不让黑客越雷池一步” 的 WAF&#xff0c;我愿称之为史上最强的一款Web应用防火墙&#xff0c;足够简单、足够好用、足够强的免费且开源…

无人机拦截

配置yolo CUDA报错 nvcc fatal : Unsupported gpu architecture compute_30.&#xff08;1&#xff09;查看显卡匹配型号&#xff1a;https://blog.csdn.net/u013308762/article/details/121658823 &#xff08;2&#xff09;查看显卡&#xff1a;nvidia-smi -a 》NVIDIA GeF…

60 个深度学习教程:包含论文、实现和注释 | 开源日报 No.202

labmlai/annotated_deep_learning_paper_implementations Stars: 44.0k License: MIT annotated_deep_learning_paper_implementations 是一个包含深度学习论文的 60 个实现/教程&#xff0c;附带并排注释&#xff1b;包括 transformers&#xff08;原始、xl、switch、feedbac…