
michaelwoods/onstar2mqtt该镜像提供一个轻量级服务,用于将OnStar API(通用汽车车联网服务)的车辆数据转发至MQTT broker,实现车辆状态、位置、诊断等数据的实时传输与集成。通过该服务,用户可将OnStar平台的车辆数据便捷地接入自定义系统,满足监控、分析或自动化需求。
bashdocker run -d \ --name onstar-mqtt-forwarder \ -e ONSTAR_API_KEY="your_onstar_api_key" \ -e ONSTAR_CLIENT_ID="your_client_id" \ -e ONSTAR_VIN="your_vehicle_vin" \ -e MQTT_BROKER="mqtt.example.com" \ -e MQTT_PORT=8883 \ -e MQTT_TOPIC="vehicles/onstar/vin_${VIN}" \ -e MQTT_USER="mqtt_username" \ -e MQTT_PASSWORD="mqtt_password" \ -e MQTT_PROTOCOL="mqtts" \ -e POLL_INTERVAL=30 \ --restart unless-stopped \ [镜像名称]
yamlversion: '3.8' services: onstar-mqtt-forwarder: image: [镜像名称] container_name: onstar-mqtt-forwarder environment: # OnStar API 配置 - ONSTAR_API_KEY=your_onstar_api_key - ONSTAR_CLIENT_ID=your_client_id - ONSTAR_CLIENT_SECRET=your_client_secret - ONSTAR_VIN=your_vehicle_vin - ONSTAR_REGION=north_america # 可选,支持north_america/europe/asia # MQTT 配置 - MQTT_BROKER=mqtt.example.com - MQTT_PORT=8883 - MQTT_TOPIC=vehicles/onstar/${ONSTAR_VIN} - MQTT_USER=mqtt_username - MQTT_PASSWORD=mqtt_password - MQTT_PROTOCOL=mqtts # 可选,支持mqtt/mqtts/ws/wss - MQTT_QOS=1 # 可选,消息服务质量(0/1/2),默认1 # 服务配置 - POLL_INTERVAL=30 # 数据拉取间隔(秒),默认60 - LOG_LEVEL=info # 可选,日志级别(debug/info/warn/error),默认info restart: unless-stopped
| 环境变量 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
| ONSTAR_API_KEY | OnStar API访问密钥 | 是 | - |
| ONSTAR_CLIENT_ID | OnStar OAuth客户端ID | 是 | - |
| ONSTAR_CLIENT_SECRET | OnStar OAuth客户端密钥 | 否 | - |
| ONSTAR_VIN | 目标车辆识别号(VIN) | 是 | - |
| ONSTAR_REGION | OnStar服务区域 | 否 | north_america |
| ONSTAR_API_ENDPOINT | 自定义OnStar API端点 | 否 | 根据region自动选择 |
| MQTT_BROKER | MQTT broker地址(IP或域名) | 是 | - |
| MQTT_PORT | MQTT broker端口 | 否 | 1883(mqtt)/8883(mqtts) |
| MQTT_TOPIC | MQTT消息发布主题 | 否 | onstar/data/${VIN} |
| MQTT_USER | MQTT连接用户名(如需认证) | 否 | - |
| MQTT_PASSWORD | MQTT连接密码(如需认证) | 否 | - |
| MQTT_PROTOCOL | MQTT协议(mqtt/mqtts/ws/wss) | 否 | mqtt |
| MQTT_QOS | MQTT消息服务质量(0/1/2) | 否 | 1 |
| POLL_INTERVAL | 数据拉取间隔(秒,最小值10) | 否 | 60 |
| LOG_LEVEL | 日志输出级别 | 否 | info |
转发至MQTT的消息为JSON格式,示例如下:
json{ "vin": "1HGCM82633A***", "timestamp": "2024-05-20T15:30:45Z", "vehicleStatus": { "ignition": "on", "speed": 65, "fuelLevel": 78, "range": 420, "tirePressure": {"frontLeft": 32, "frontRight": 33, "rearLeft": 31, "rearRight": 32} }, "location": { "latitude": 40.7128, "longitude": -74.0060, "timestamp": "2024-05-20T15:30:40Z" }, "diagnostics": { "dtcCount": 0, "lastUpdated": "2024-05-20T14:00:00Z" } }
docker logs onstar-mqtt-forwarder查看详细日志,建议开启debug级别定位问题manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务