1.2 KiB
1.2 KiB
id
| id |
|---|
| 421a4a02-025a-4ab5-8ae3-fd52e2c738f0 |
flowchart LR subgraph Vehicle["Автомобиль"] OBD["OBD-II"] CANBUS["HS-CAN\n500 kbps"] OBD --> CANBUS end
subgraph CANBoard["CAN-плата"]
PHY0["CAN PHY"]
PHY1["CAN PHY"]
MCP0["MCP2515\ncan0"]
MCP1["MCP2515\ncan1"]
ISO["Isolation"]
CANBUS --> PHY0
CANBUS --> PHY1
PHY0 --> MCP0
PHY1 --> MCP1
MCP0 --> ISO
MCP1 --> ISO
end
subgraph Edge["Raspberry Pi 5 (Edge)"]
SPI["SPI"]
SocketCAN["SocketCAN\nlisten-only"]
EdgeApp["Edge CAN Logger"]
LocalStore["SQLite WAL\nOffline Buffer"]
Forwarder["Store-and-Forward"]
ISO --> SPI
SPI --> SocketCAN
SocketCAN --> EdgeApp
EdgeApp --> LocalStore
LocalStore --> Forwarder
end
subgraph BackendHost["Backend Host"]
Influx["InfluxDB"]
Flask["Flask Backend"]
WS["WebSocket Server"]
end
subgraph UI["Web UI"]
Browser["Browser"]
Charts["Real-time Charts"]
end
Forwarder --> Influx
Influx --> Flask
Flask --> WS
WS --> Browser
Browser --> Charts