feat: replace SSE client with direct TCP/WiFi connection

- Remove SseClientService and ConnectionMode.sseClient
- Add ConnectionMode.tcp with MeshCoreTcpService (port 5000)
- NetworkScannerService: scan TCP port 5000 via raw Socket.connect
- mDNS service type changed to _meshcore._tcp
- connection_dialog: connect via connectTcp() instead of connectToSseServer()
- home_screen: show WiFi icon and label for TCP mode
- Bump meshcore_client to pick up TCP transport support
This commit is contained in:
Janez T
2026-03-04 19:11:16 +01:00
parent c6b3b86c2f
commit 84a6f81c26
7 changed files with 349 additions and 1475 deletions

View File

@@ -17,8 +17,8 @@ enum ConnectionMode {
/// Act as SSE server - share BLE device with multiple clients
sseServer,
/// Connect to remote SSE server - no direct BLE connection
sseClient,
/// Direct TCP/WiFi connection to MeshCore device (port 5000)
tcp,
}
extension ConnectionModeExtension on ConnectionMode {
@@ -28,8 +28,8 @@ extension ConnectionModeExtension on ConnectionMode {
return 'Direct (BLE)';
case ConnectionMode.sseServer:
return 'Share Device (Server)';
case ConnectionMode.sseClient:
return 'Connect to Server';
case ConnectionMode.tcp:
return 'Direct (WiFi)';
}
}
@@ -39,8 +39,8 @@ extension ConnectionModeExtension on ConnectionMode {
return 'Direct BLE connection to MeshCore device';
case ConnectionMode.sseServer:
return 'Share BLE device with multiple clients over network';
case ConnectionMode.sseClient:
return 'Connect to remote server without BLE';
case ConnectionMode.tcp:
return 'Direct WiFi/TCP connection to MeshCore device';
}
}
}