Ten dokument zawiera krok po kroku instrukcje testowania dostępu do Bridge z innego komputera w sieci lokalnej.
- Komputer Master: Komputer z zainstalowanym i uruchomionym ScaleIT Bridge
- Komputer Client: Inny komputer w tej samej sieci lokalnej
- Oba komputery muszą być w tej samej sieci (np. 192.168.1.x)
# Na komputerze Master (zainstalowany Bridge)
sc query ScaleCmdBridge
# Powinieneś zobaczyć: STATE: 4 RUNNING# Na komputerze Master
ipconfig
# Szukaj sekcji "Ethernet adapter" lub "Wireless LAN adapter"
# Znajdź "IPv4 Address", np.: 192.168.1.100
# Zapisz ten adres IP - będziesz go potrzebował!# Na komputerze Master
netstat -ano | findstr :8080
# Powinieneś zobaczyć: TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING
# Jeśli widzisz tylko 127.0.0.1:8080 - Bridge nie przyjmuje połączeń z sieci!# Na komputerze Master
netsh advfirewall firewall show rule name="ScaleIT Bridge - TCP Port 8080"
# Jeśli reguła nie istnieje, dodaj ją:
netsh advfirewall firewall add rule name="ScaleIT Bridge - TCP Port 8080" ^
dir=in action=allow protocol=TCP localport=8080 profile=Private ^
description="Allows access to ScaleIT Bridge service from local network"# Na komputerze Master - sprawdź czy Bridge odpowiada
Invoke-WebRequest http://localhost:8080/health
# Powinieneś otrzymać JSON:
# {
# "status": "OK",
# "service": "ScaleIT Bridge",
# "version": "0.1.5"
# }Wynik: Jeśli wszystko działa, przejdź do Kroku 2.
# Na komputerze Client
ipconfig
# Sprawdź czy IP zaczyna się od tego samego prefiksu co Master
# Np. jeśli Master: 192.168.1.100, Client powinien mieć: 192.168.1.xxx# Na komputerze Client
ping <IP_MASTER>
# Przykład: ping 192.168.1.100
# Powinieneś zobaczyć odpowiedzi (Reply from 192.168.1.100)
# Jeśli nie ma odpowiedzi - sprawdź połączenie sieciowe!# Na komputerze Client
Test-NetConnection -ComputerName <IP_MASTER> -Port 8080
# Przykład: Test-NetConnection -ComputerName 192.168.1.100 -Port 8080
# Powinieneś zobaczyć: TcpTestSucceeded : True
# Jeśli False - sprawdź firewall na Master!-
Otwórz przeglądarkę na komputerze Client
-
Wpisz w pasku adresu:
http://<IP_MASTER>:8080/healthPrzykład:
http://192.168.1.100:8080/health -
Powinieneś zobaczyć JSON:
{ "status": "OK", "service": "ScaleIT Bridge", "version": "0.1.5" } -
Sprawdź informacje o serwerze:
http://<IP_MASTER>:8080/api/server/infoPrzykład:
http://192.168.1.100:8080/api/server/infoPowinieneś zobaczyć:
{ "hostname": "COMPUTER-NAME", "ip_addresses": ["192.168.1.100", "127.0.0.1"], "port": 8080, "network_mode": "lan", "version": "0.1.5" }
-
Otwórz przeglądarkę na komputerze Client
-
Wpisz w pasku adresu:
http://<IP_MASTER>:8080Przykład:
http://192.168.1.100:8080 -
Powinieneś zobaczyć:
- Interfejs Bridge UI
- Listę urządzeń (jeśli skonfigurowane)
- Możliwość wykonania komend na wadze
Wynik: Jeśli widzisz UI, przejdź do Kroku 3 aby przetestować odczyt masy.
Jeśli chcesz przetestować z lokalnym frontendem na komputerze Client:
# Na komputerze Client (jeśli masz zainstalowany Node.js)
cd <sciezka_do_projektu>
npm install # tylko pierwszy raz
npm run devFrontend uruchomi się na http://localhost:5173
-
Otwórz Bridge UI na komputerze Client
- Jeśli używasz lokalnego frontendu:
http://localhost:5173 - Jeśli używasz frontendu z Master:
http://<IP_MASTER>:8080
- Jeśli używasz lokalnego frontendu:
-
Przejdź do Configuration
- Kliknij "Configuration" w menu bocznym
-
Znajdź sekcję "Master Server Configuration"
-
Auto-Detection:
- Kliknij przycisk "Auto-Detect Master Server"
- Poczekaj na zakończenie skanowania (może zająć kilka minut)
- Postęp będzie widoczny na pasku postępu
- Jeśli master zostanie znaleziony, IP zostanie automatycznie skonfigurowany
-
Lub Manual Configuration:
- Wprowadź IP Master serwera (np.
192.168.1.100) - Wprowadź port (domyślnie
8080) - Kliknij "Save Configuration"
- Wprowadź IP Master serwera (np.
-
Test Connection:
- Kliknij "Test Connection"
- Powinieneś zobaczyć:
- Status: Connected (zielony badge)
- Hostname: Nazwa komputera Master
- Version: Wersja Bridge
- Network Mode: "lan"
- Available IPs: Lista dostępnych IP Master serwera
Wynik: Jeśli test połączenia zakończył się sukcesem, przejdź do Kroku 4.
-
Na komputerze Master, sprawdź czy waga jest skonfigurowana:
# Otwórz plik konfiguracji notepad "C:\ProgramData\ScaleCmdBridge\config\devices.json"
-
Lub przez UI:
- Otwórz
http://<IP_MASTER>:8080(z Master lub Client) - Przejdź do Configuration
- Sprawdź czy są skonfigurowane urządzenia
- Otwórz
Metoda 1: Przez UI na komputerze Client
-
Otwórz Bridge UI na komputerze Client:
http://<IP_MASTER>:8080- Lub lokalny frontend z skonfigurowanym Master IP:
http://localhost:5173
- Lub lokalny frontend z skonfigurowanym Master IP:
-
Przejdź do głównej strony (Index)
-
Wybierz urządzenie z listy (jeśli masz skonfigurowane)
-
Kliknij przycisk "Read Gross" lub "Read Net"
-
Powinieneś zobaczyć:
- Masę z wagi
- Status połączenia
- Informacje o jednostce
Metoda 2: Przez API z komputera Client
# Na komputerze Client (PowerShell)
$masterIp = "192.168.1.100" # Zmień na IP swojego Master
# Sprawdź listę urządzeń
Invoke-WebRequest -Uri "http://$masterIp:8080/devices" | Select-Object -ExpandProperty Content
# Wykonaj komendę odczytu masy (zamień device_id na prawdziwy)
$body = @{
device_id = "twoj_device_id"
command = "readGross"
} | ConvertTo-Json
Invoke-WebRequest -Uri "http://$masterIp:8080/scalecmd" `
-Method POST `
-ContentType "application/json" `
-Body $body | Select-Object -ExpandProperty ContentMetoda 3: Z przeglądarki (curl w DevTools)
- Otwórz przeglądarkę na komputerze Client
- Otwórz DevTools (F12)
- Przejdź do zakładki "Console"
- Wykonaj:
// Sprawdź health
fetch('http://192.168.1.100:8080/health')
.then(r => r.json())
.then(console.log);
// Sprawdź listę urządzeń
fetch('http://192.168.1.100:8080/devices')
.then(r => r.json())
.then(console.log);
// Wykonaj komendę (zamień device_id!)
fetch('http://192.168.1.100:8080/scalecmd', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
device_id: 'twoj_device_id',
command: 'readGross'
})
})
.then(r => r.json())
.then(console.log);- Bridge service działa (
sc query ScaleCmdBridge→ RUNNING) - Bridge nasłuchuje na
0.0.0.0:8080(nie tylko127.0.0.1) - Firewall pozwala na połączenia z sieci (reguła dla profilu Private)
- Test lokalny działa (
http://localhost:8080/health→ OK)
- Ping do Master działa (
ping <IP_MASTER>→ Reply) - Test portu 8080 działa (
Test-NetConnection→ TcpTestSucceeded: True) - Health check działa (
http://<IP_MASTER>:8080/health→ JSON response) - Server info działa (
http://<IP_MASTER>:8080/api/server/info→ JSON response) - UI jest dostępne (
http://<IP_MASTER>:8080→ Bridge UI) - Auto-detection lub manual config działa
- Test connection w UI pokazuje "Connected"
- Odczyt masy z wagi działa (przez UI lub API)
Przyczyna: Firewall blokuje połączenia
Rozwiązanie:
# Na Master
netsh advfirewall firewall show rule name="ScaleIT Bridge - TCP Port 8080"
# Jeśli nie istnieje, dodaj regułę (patrz Krok 1.4)Przyczyna: Network Mode nie pozwala na origins z sieci
Rozwiązanie:
# Na Master
cd "C:\Program Files\ScaleCmdBridge"
.\nssm.exe get ScaleCmdBridge AppEnvironmentExtra | Select-String "NETWORK_MODE"
# Jeśli NETWORK_MODE nie jest ustawiony lub jest "local", ustaw "lan":
.\nssm.exe set ScaleCmdBridge AppEnvironmentExtra "NETWORK_MODE=lan"
net restart ScaleCmdBridgePrzyczyna: Master IP jest w innym zakresie niż skanowany (np. 192.168.2.x)
Rozwiązanie:
- Użyj manual configuration zamiast auto-detection
- Wprowadź IP Master ręcznie w UI
Przyczyna: Problem z konfiguracją Master IP w localStorage
Rozwiązanie:
- Otwórz DevTools (F12)
- Przejdź do Application → Local Storage
- Usuń klucze:
MASTER_IP,MASTER_IP_AUTO,MASTER_PORT - Odśwież stronę
- Skonfiguruj Master IP ponownie
Przyczyna: AdBlocker lub rozszerzenia przeglądarki blokują połączenia
Rozwiązanie:
- Wyłącz AdBlocker dla
<IP_MASTER>:8080 - Sprawdź inne rozszerzenia przeglądarki
- Spróbuj w trybie incognito/privately
- Master: Komputer z Windows, IP:
192.168.1.100, Bridge zainstalowany jako service - Client: Laptop z Windows, IP:
192.168.1.75
# Na Client
ping 192.168.1.100
Test-NetConnection -ComputerName 192.168.1.100 -Port 8080
Invoke-WebRequest http://192.168.1.100:8080/healthOczekiwany rezultat: Wszystkie komendy działają bez błędów
- Otwórz przeglądarkę na Client
- Wpisz:
http://192.168.1.100:8080 - Oczekiwany rezultat: Bridge UI się ładuje, widać interfejs
- Przejdź do Configuration → Master Server Configuration
- Kliknij "Test Connection"
- Oczekiwany rezultat: Status "Connected", widoczne informacje o serwerze
- Przejdź do głównej strony
- Wybierz urządzenie (jeśli skonfigurowane)
- Kliknij "Read Gross"
- Oczekiwany rezultat: Odczytana masa z wagi wyświetlona w UI
- Jeśli używasz lokalnego frontendu (
npm run devna Client) - Configuration → Master Server Configuration
- Kliknij "Auto-Detect Master Server"
- Oczekiwany rezultat: IP 192.168.1.100 zostaje wykryty po skanowaniu
# Sprawdź logi stdout
Get-Content "C:\ProgramData\ScaleCmdBridge\logs\service-stdout.log" -Tail 50
# Sprawdź logi stderr (błędy)
Get-Content "C:\ProgramData\ScaleCmdBridge\logs\service-stderr.log" -Tail 50
# Sprawdź czy są logi o połączeniach z sieci:
Get-Content "C:\ProgramData\ScaleCmdBridge\logs\service-stdout.log" | Select-String "192.168.1.75"
# (zamień na IP swojego Client)Oczekiwane logi:
Server running on http://0.0.0.0:8080
Server accessible at:
- http://localhost:8080
- http://192.168.1.100:8080
Network mode: Lan
Received health check request
Received scalecmd request for device: ...
- Szczegółowa konfiguracja: LOCAL_NETWORK_ACCESS.md
- Rozwiązywanie problemów: NETWORK_TROUBLESHOOTING.md
- API Documentation: SWAGGER_API_DOCUMENTATION.md
Jeśli napotkasz problemy:
- Sprawdź logi na Master (patrz sekcja "Weryfikacja logów")
- Sprawdź sekcję "Typowe problemy" powyżej
- Sprawdź dokumentację troubleshootingu