WeConnect-MQTT:将大众汽车WeConnect服务数据发布至MQTT客户端

WeConnect-MQTT:将大众汽车WeConnect服务数据发布至MQTT客户端缩略图
本文目录
  1. 1. 1. 简介
  2. 2. 2. 硬件和软件要求
  3. 3. 3. 安装
  4. 4. 4. 升级
  5. 5. 5. Docker支持
  6. 6. 6. 使用说明
  7. 7. 7. S-PIN
  8. 8. 8. 凭据
  9. 9. 9. 充电站数据
  10. 10. 10. 主题
  11. 11. 11. 禁用功能
  12. 12. 12. 图像
  13. 13. 13. PNG车辆图片
  14. 14. 14. 时间设置
  15. 15. 15. 原始JSON数据
  16. 16. 16. 已测试车型
  17. 17. 17. 相关项目

1. 简介

WeConnect-MQTT是一个用于将大众汽车WeConnect服务数据发布到MQTT协议的客户端。MQTT(Message Queuing Telemetry Transport)是一种标准协议,用于集成来自WeConnect启用的汽车的数据。该客户端允许您将数据集成到您选择的MQTT代理中,例如家庭自动化解决方案(如ioBroker、FHEM或Home Assistant)。

2. 硬件和软件要求

在您的系统上安装Python 3是必需的,最低要求的Python版本为3.8。如果您的车型使用新的WeConnect API,您可能需要同意新的WeConnect接口的条款和条件。最简单的方式是在智能手机上安装大众汽车应用程序并在那里登录。

3. 安装

要使用WeConnect-MQTT,最简单的方式是从PyPI获取它。只需运行以下命令进行安装:

pip3 install weconnect-mqtt

4. 升级

如果您希望升级WeConnect-MQTT,最简单的方式是运行以下命令:

pip3 install weconnect-mqtt --upgrade

5. Docker支持

还提供了一个Docker镜像,以轻松托管WeConnect-MQTT,您可以在Dockerhub上找到它。

6. 使用说明

您可以通过命令行启动WeConnect-MQTT客户端:

weconnect-mqtt

您可以使用"--help"命令来获取所有使用说明:

weconnect-mqtt --help

以下是一个连接到MQTT代理地址为192.168.0.1,使用用户名test和密码test123的示例:

weconnect-mqtt --username test@test.de --password test123 --mqttbroker 192.168.0.1 --mqtt-username test --mqtt-password test123 --prefix weconnect

在此示例中,客户端使用用户名test@test.de和密码test123连接到WeConnect。

7. S-PIN

对于某些命令(例如,某些车型支持的锁定/解锁功能),除了登录,您还需要提供S-PIN(安全个人识别码),您可以使用"--spin"选项来提供:

weconnect-mqtt --username test@test.de --password test123  --spin 1234 --mqttbroker 192.168.0.1 --mqtt-username test --mqtt-password test123 --prefix weconnect

8. 凭据

如果您不想每次都提供用户名和密码,您可以在适当的位置(通常是主文件夹)创建一个".netrc"文件:

# 对于WeConnect
machine volkswagen.de
login test@test.de
password testpassword123

# 对于MQTT代理
machine 192.168.0.1
login test
password testpassword123

您还可以使用"--netrc"选项来指定".netrc"文件的位置。

9. 充电站数据

您还可以通过添加位置和半径信息来获取充电站的数据,例如"--chargingLocation 52.437132 10.796628 --chargingLocationRadius=500"。充电站的数据主要是静态的,但您可以查看当前的可用性。

10. 主题

如果您的MQTT代理不允许您观察所有可用主题,您可以传递参数"--list-topics"以在命令行上显示所有主题。带有"(writeable)"标记的主题可以进行操作。还有两个主题,用于以逗号分隔的列表形式接收所有可用主题:"weconnect/0/mqtt/topics"和"weconnect/0/mqtt/writeableTopics"。

11. 禁用功能

您可以使用"--no-capabilities"选项来禁用车辆功能数据。如果只需要数据的子集,您可以使用"--selective"选项。例如,"--selective climatisation"。

12. 图像

您可以使用"--pictures"选项来启用汽车的ASCII Art图片。

13. PNG车辆图片

如果您的MQTT客户端可以处理通过MQTT接收的PNG图片,您可以使用"--picture-format png"选项。

14. 时间设置

默认情况下,车辆传来的时间是UTC isoformat。您可以通过添加"--convert-times"选项将时间转换为本地时区。要将时间设置为特定的时区,可以使用"--convert-times Europe/Berlin"。您还可以通过"--timeformat"将时间格式化为本地时间格式,例如"--timeformat '%a %d %b %Y %T'"。如果要使用不同于系统默认语言的日期格式,可以使用"--locale"选项。

15. 原始JSON数据

如果您想继续处理完整的数据,您还可以使用"--with-raw-json-topic"选项启用原始JSON数据主题。该主题在JSON字符串发生更改时发布。

16. 已测试车型

  • 大众ID.3(2021年车型)
  • 大众Passat GTE(2021年车型)

17. 相关项目

  • WeConnect-cli:用于与大众汽车WeConnect服务进行交互的命令行界面
  • WeConnect-python:连接到大众汽车WeConnect服务的Python API
  • VWsFriend:VWsFriend是一款可视化记录汽车统计数据并允许通过HomeKit进行控制的软件。

通过WeConnect-MQTT,您可以轻松将大众汽车WeConnect服务的数据发布到MQTT,并将其集成到您的自动化解决方案中。这个客户端提供了丰富的功能和选项,使其非常灵活,适用于多种应用场景。

技术术语(共 4 个)—— 点击展开
MQTT轻量级物联网消息传输协议,基于发布/订阅模式,适合低带宽不稳定网络
BrokerMQTT 代理服务器,负责接收发布消息并分发给订阅者
TopicMQTT 主题,消息路由的层级字符串,支持通配符 + 与 #
发布客户端向指定主题发送消息
来源/工具信息 —— 点击展开
来源 MQTT中文网(mqtt.cn) —— 国内领先的MQTT通信协议技术社区 分类 MQTT 实例 / MQTT 编程 / 学习 字数 2419 字 · 阅读约 7 分钟 更新 2024-04-15 永久链接 https://www.mqtt.cn/1009.html
推荐工具:MQTT调试助手 微信小程序
MQTT中文网官方推出的MQTT调试工具,支持 MQTT 3.1.1/5.0 实时连接调试、主题订阅、消息收发监控与报文分析。 无需安装,微信搜索「MQTT调试助手」即可使用。 电脑端入口:https://www.mqtt.cn/mqtttool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 mqtt.cn
相关标签
📝 作者声明
本文由 MQTT中文网技术团队 原创撰写,内容基于实际项目案例与技术文档,力求为读者提供准确、实用的参考信息。
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

工程师会员

把这篇文章变成可执行的调试资料

开通后可使用高级报文解析、资料包下载、代码示例、工程案例和优先技术支持,适合真实项目交付。

高级工具不限次
资料包与代码包
完整工程案例库
优先技术支持入口

发表回复