Files
can_sniffer/chart.md
2025-12-30 14:05:39 +03:00

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