55 lines
1.2 KiB
Markdown
55 lines
1.2 KiB
Markdown
---
|
|
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 |