@startuml
skinparam backgroundColor transparent
skinparam DefaultFontName Helvetica
skinparam ParticipantPadding 20
skinparam BoxPadding 10
title Cudy TR3000 ↔ Ground Unit ↔ Air Unit ↔ RPi4B
box "Ground Station (192.168.10.x)" #LightBlue
participant "Laptop\n192.168.10.3" as Laptop
participant "Cudy TR3000\n192.168.10.1" as Router
participant "Herelink Ground Unit\n192.168.10.4 | 192.168.144.11" as GCS
end box
box "Remote Vehicle (192.168.144.x)" #LightGreen
participant "Herelink Air Unit\n192.168.144.10" as AirUnit
participant "Raspberry Pi 4B\n192.168.144.9" as Pi4
end box
Laptop -> Router : Request to 192.168.144.9
Note right of Router
**Static Route Check:**
Send 192.168.144.x → 192.168.10.4
end Note
Router -> GCS : Forward Packet
Note over GCS
**NAT / IP Forwarding Needed**
(Bridges .10.x to .144.x)
end Note
GCS -> AirUnit: Transmit via 2.4GHz RF Link
AirUnit -> Pi4 : Ethernet/JST-GH Link
Pi4 -> AirUnit: Response Data
AirUnit -> GCS : RF Backlink
GCS -> Router : Forward Packet
Router -> Laptop : Final Data Delivery
@enduml