6a7de03773
obd-poller asks 0x7DF for the nine obd2 signals, only while the bus is alive, and publishes envelopes stamped with the reply's kernel time. The recorder subscribes to yukart/vehicle/* and writes vehicle.ndjson beside the frames. Tested against a fake ECU on vcan0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DDwfd6Ki8UfG4hK6W5YpJz
40 lines
2.1 KiB
Markdown
40 lines
2.1 KiB
Markdown
---
|
|
type: reference
|
|
---
|
|
# Core services
|
|
|
|
Part of **Project Yukart**, making an old 2008 Mitsubishi Z27AG a bit smarter with modern technologies.
|
|
This file serves as the minimalist portal to other docs
|
|
|
|
|
|
## What this repo is about
|
|
|
|
The acquisition and processing cluster on the Orin, developed and deployed as one
|
|
unit: `recorder`, `orin-status` and `obd-poller` now; `can-bridge`, `gnss` and `decoder` as they are
|
|
needed.
|
|
|
|
| Binary | Installed as | Does |
|
|
|---|---|---|
|
|
| `recorder` | `yukart-recorder.service` | Raw CAN + GNSS to disk, in sessions, under a storage bound; OBD-II values from the bus beside them |
|
|
| `bus-bench` | not installed: a test tool | Raw CAN and decoded-signal load over MQTT, measured: loss, latency, broker CPU ([report](docs/impl/reports/BUS-BENCH.md)) |
|
|
| `obd-poller` | `yukart-obd-poller.service` | OBD-II mode 01 polling, the single CAN writer: rpm, speed, throttle, load, MAP, MAF ~10 Hz; temperatures and fuel 1 Hz (`yukart/vehicle/*`) |
|
|
| `orin-status` | `yukart-orin-status.service` | The Orin's health on the bus, once a second: temperatures, CPU/GPU load, memory, power, fan, WiFi/LTE/tablet links, UPS battery (`yukart/host/*`) |
|
|
|
|
```bash
|
|
scripts/deploy-recorder.sh # build, glibc check, install on the car Orin
|
|
scripts/deploy-orin-status.sh # build on the development Orin, glibc check, install
|
|
scripts/deploy-obd-poller.sh # build, glibc check, install on the car Orin
|
|
yukart-obd-poller --once # on the Orin, service stopped: what the ECU answers
|
|
yukart-orin-status --once # on an Orin: one reading as JSON, no broker
|
|
yukart-recorder ctl status # on the Orin
|
|
yukart-recorder ctl start "cold start" # manual session, ends only on stop
|
|
yukart-recorder ctl mark "indicator left on"
|
|
yukart-recorder ctl stop
|
|
```
|
|
|
|
Recordings live in `/var/lib/yukart/recordings/`, one directory per session —
|
|
layout in [the initial plan](docs/impl/plans/INITIAL.md#session-layout).
|
|
|
|
- For implementation practice guidelines, refer to the [guidelines](docs/GUIDELINES.md);
|
|
- For implementation plans and history, refer to [them](docs/impl/);
|