Rozdział 3: Deployment Tool, WHEP WebRTC i Protokoły Sieciowe
Ten rozdział opisuje automatyczne wdrażanie oprogramowania pokładowego oraz protokoły transmisji wideo FPV i telemetrii.
🚀 1. Automatyczne Wdrażanie (Deployment Tool)
Narzędzie wdrożeniowe znajdujące się w repozytorium pozwala na skonfigurowanie czystego mikrokomputera RPi 5 z poziomu PC za pomocą pojedynczej komendy SSH.
Skrypt wdrożeniowy automatycznie instaluje:
- Usługę MediaMTX (serwer WHEP WebRTC dla wideo FPV z kamery CSI/USB).
- Usługę pokładową RCSIM RPi Daemon (Python asyncio + aiortc).
- Biblioteki mapowania LiDAR SLAM (BreezySLAM C-extensions).
- Usługi automatycznego restartu (systemd services).

📺 2. Protokół Wideo WebRTC & STUN Server (Gotcha VPN)
Do transmisji wideo o ultra-niskim opóźnieniu (<50ms) wykorzystywany jest protokół WebRTC WHEP z kodowaniem H.264.
[!IMPORTANT] WebRTC Routing over VPN Gotcha (STUN Config): Podczas korzystania z połączenia VPN (np. Tailscale), usługa MediaMTX na RPi bez skonfigurowanego zewnętrznego serwera STUN w pliku
mediamtx.ymlwysyła do klienta niekompatybilne lokalne adresy IP (np. klastra Docker). W efekcie uzgadnianie DTLS kończy się sukcesem, ale pakiety wideo UDP są gubione. W plikumediamtx.ymlnależy bezwzględnie ustawić publiczny serwer STUN:webrtcICEServers: [stun:stun.l.google.com:19302]
📦 3. Transmisja Danych i MTU Chunking (UDP Limit)
Pakiety telemetrii, chmury punktów LiDAR oraz mapy SLAM przesyłane po protokole UDP/WebRTC przekraczające fizyczny limit MTU (1100 bajtów) ulegają fragmentacji IP, co prowadzi do odrzucania ramek.
System RCSIM implementuje dedykowany moduł Chunking (np. chunking.py), dodający nagłówek kontrolny __c: 1 i dzielący duże mapy SLAM na pod-pakiety ułatwiające bezbłędne ponowne złożenie po stronie GCS.