掌握TeslaMate MQTT主题:从车辆监控到智能控制的完整指南

【免费下载链接】teslamate A self-hosted data logger for your Tesla 🚘 [main maintainer=@JakobLichterfeld] 【免费下载链接】teslamate 项目地址: https://gitcode.com/GitHub_Trending/te/teslamate

MQTT(消息队列遥测传输)是TeslaMate实现车辆状态监控与远程控制的核心通信协议。本文将系统梳理TeslaMate的MQTT主题体系,帮助用户快速定位所需的车辆数据与控制接口,构建个性化的特斯拉车辆管理系统。

MQTT主题基础结构

TeslaMate采用层级化主题设计,核心命名空间为teslamate,基础主题格式遵循:

teslamate/<namespace>/cars/<car_id>/<property>
  • namespace:默认使用车辆VIN(车辆识别码)
  • car_id:数据库中的车辆唯一标识符
  • property:具体监控参数或控制指令

主题定义逻辑可参考源码实现:lib/teslamate/mqtt/pubsub/vehicle_subscriber.ex

核心状态监控主题

车辆基本信息

主题 数据类型 说明
display_name 字符串 车辆名称
trim_badging 字符串 车型标识(如"Model 3 Performance")
exterior_color 字符串 车身颜色
odometer 数值 总里程(km)

电池与充电状态

充电状态监控

关键监控主题:

  • battery_level:当前电量百分比
  • charge_energy_added:本次充电增加电量(kWh)
  • charger_power:充电功率(kW)
  • time_to_full_charge:预计充满时间(分钟)
  • scheduled_charging_start_time:计划充电开始时间

充电状态数据来源于车辆实时推送,相关处理逻辑见:lib/teslamate/mqtt/pubsub/vehicle_subscriber.ex

位置与地理围栏

主题 数据类型 说明
latitude/longitude 数值 经纬度坐标
location JSON 包含经纬度的地理位置对象
geofence 字符串 当前所在地理围栏名称

地理围栏判断逻辑实现于:lib/teslamate/mqtt/pubsub/vehicle_subscriber.ex

驾驶状态

驾驶数据统计

核心驾驶主题:

  • speed:当前速度(km/h)
  • shift_state:挡位状态(P/R/N/D)
  • power:实时功率(kW,正值为耗电,负值为能量回收)
  • ideal_battery_range_km:理想续航里程

高级控制指令主题

TeslaMate支持通过MQTT发布控制指令,实现远程车辆操作:

充电控制

主题 指令值 说明
command/charge_start true 开始充电
command/charge_stop true 停止充电
command/set_charge_limit 百分比数值 设置充电限制(如"80")

空调控制

  • command/climate_on:开启空调(支持参数:temp=<温度>&fan=<风速>
  • command/climate_off:关闭空调

安全控制

  • command/lock:车辆上锁
  • command/unlock:车辆解锁
  • command/sentry_mode:切换哨兵模式(on/off

控制指令处理模块:lib/teslamate/mqtt/handler.ex

主题订阅示例

使用MQTTX客户端订阅车辆状态的示例配置:

# 订阅特定车辆所有状态
mqttx sub -t "teslamate/+/cars/1/#" -h localhost -p 1883

# 仅订阅电池相关状态
mqttx sub -t "teslamate/+/cars/1/battery_#" -h localhost -p 1883

数据持久化与历史分析

TeslaMate采集的MQTT数据会同时存储至PostgreSQL数据库,可通过Grafana面板进行历史数据分析:

电池健康监控

主要数据存储模块:lib/teslamate/log/

常见问题排查

  1. 主题无数据输出

  2. 控制指令失效

    • 验证指令格式:确保使用正确的JSON格式
    • 检查车辆状态:部分指令需在特定状态下执行(如充电指令需车辆已插枪)
  3. 数据延迟

通过本文档提供的主题列表与实现参考,用户可快速构建基于MQTT的特斯拉车辆监控与自动化系统,实现从简单状态查看 to 复杂场景联动的全流程应用开发。

【免费下载链接】teslamate A self-hosted data logger for your Tesla 🚘 [main maintainer=@JakobLichterfeld] 【免费下载链接】teslamate 项目地址: https://gitcode.com/GitHub_Trending/te/teslamate

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐