+------------------------------------+
| RaspberryPiRouter |
+------------------------------------+
| - raspberryPi: RaspberryPi |
| - wifiDongle: WifiDongle |
| - vpnService: VpnService |
+------------------------------------+
| + configure(): void |
| + start(): void |
| + connectToWifi(): void |
| + connectToVpn(): void |
| + disconnectFromWifi(): void |
| + disconnectFromVpn(): void |
| + updateFirmware(): void |
| + resetToDefault(): void |
+------------------------------------+
+------------------------------------+
| RaspberryPi |
+------------------------------------+
| - model: string |
| - operatingSystem: string |
+------------------------------------+
| + getModel(): string |
| + getOperatingSystem(): string |
+------------------------------------+
+------------------------------------+
| WifiDongle |
+------------------------------------+
| - model: string |
| - ssid: string |
| - password: string |
+------------------------------------+
| + getModel(): string |
| + getSsid(): string |
| + connect(): void |
| + disconnect(): void |
+------------------------------------+
+------------------------------------+
| VpnService |
+------------------------------------+
| - server: string |
| - username: string |
| - password: string |
+------------------------------------+
| + getServer(): string |
| + getUsername(): string |
| + connect(): void |
| + disconnect(): void |
+------------------------------------+