====== Jak na to: Přístup ke vzdáleným TCP serverům pomocí CloudAccess Adapteru ======
**Mervis CloudAccess Adapter** je klientská aplikace pro Windows, která vytváří zabezpečený tunel k vašemu vzdálenému PLC. Umožňuje přistupovat ke službám TCP běžícím na PLC (například **SSH**, **webové servery** nebo **Modbus TCP**) tak, jako by bylo zařízení ve vaší lokální síti.
Tento návod ukazuje, jak nakonfigurovat Adapter pro přístup k **SSH serveru** na vzdáleném PLC.
===== Předpoklady =====
Než budete pokračovat, ujistěte se, že máte k dispozici:
* **CloudAccess Adapter Binaries**: Klientský software pro Windows (obvykle soubor `.zip`).
* **CloudAccess přihlašovací údaje**:
* **Uživatelské jméno** a **Heslo** (specifické pro projekt CloudAccess).
* **Channel ID**: Jedinečný řetězec (např. `iiiii`) identifikující konkrétní službu (např. SSH) na PLC.
* **SSH klienta**: Například PuTTY, MobaXterm nebo Windows Terminal.
Software CloudAccess Adapter ani přihlašovací údaje nejsou veřejně ke stažení. Pro získání instalačních souborů Adapteru a projektových přihlašovacích údajů prosím **kontaktujte [[en:help:support|technickou podporu Mervis]]**.
===== Krok 1: Konfigurace appsettings.json =====
Adapter je plně řízen konfiguračním souborem ve formátu JSON. Je nutné namapovat vzdálené **Channel ID** na **lokální port** ve vašem počítači.
- Rozbalte soubor `.zip` s Adapterem do složky (např. `C:\Mervis\CloudAccess\`).
- Otevřete soubor `appsettings.json` v textovém editoru (např. Notepad nebo VS Code).
- Vyhledejte sekci ``"Forwarding"`` uvnitř ``"AdapterEngine"``.
Upravte konfiguraci podle příkladu níže. Zvláštní pozornost věnujte **zvýrazněným položkám**. Tento úryvek si můžete stáhnout pomocí odkazu nad blokem kódu.
{
"urls": "http://*:25011",
"AdapterEngine": {
"Forwarding": [
{
"ChannelId": "YOUR_CHANNEL_ID_HERE",
"Credentials": {
"User": "YOUR_CA_USERNAME",
"Password": "YOUR_CA_PASSWORD"
},
"Protocol": "Tcp",
"AdapterClientEndpoint": {
"Port": 8082,
"Ssl": false,
"Timeout": "00:01:00"
},
"DsServerEndpoint": {
"Host": "cloudaccess.mervis.info",
"Port": 23000,
"Ssl": true,
"ValidateCertificate": false,
"Timeout": "00:02:30"
}
}
]
},
"Logging": {
"Console": { "Disabled": false },
"File": { "Disabled": true },
"Levels": { "Default": "Trace", "Microsoft": "Warning" }
},
"AllowedHosts": "*"
}
=== Klíčové konfigurační parametry ===
^ Parametr ^ Popis ^
| **ChannelId** | Konkrétní ID poskytnuté podporou, které odpovídá SSH službě na PLC. |
| **Credentials** | Vaše uživatelské jméno/heslo pro CloudAccess (odlišné od přihlášení do PLC). |
| **AdapterClientEndpoint / Port** | **Lokální port.** Port, na který se budete připojovat na svém PC (např. `8082`). Lze změnit na libovolný volný port. |
| **DsServerEndpoint** | Definuje připojení ke cloudu Mervis. Obvykle ``cloudaccess.mervis.info`` na portu ``23000``. |
===== Pokročilé: Mapování více kanálů =====
Můžete definovat více kanálů a používat je paralelně. Například můžete současně namapovat **SSH připojení** (na lokální port 8082) a **webový server PLC** (na lokální port 8083).
Pro tento účel přidejte druhý blok do pole ``"Forwarding": [ ... ]``. Ujistěte se, že každý blok má své unikátní ``ChannelId`` a unikátní lokální ``Port``.
"Forwarding": [
{
"ChannelId": "SSH_CHANNEL_ID",
"Credentials": { "User": "...", "Password": "..." },
"AdapterClientEndpoint": { "Port": 8082 ... },
"DsServerEndpoint": { ... }
},
{
"ChannelId": "WEB_SERVER_CHANNEL_ID",
"Credentials": { "User": "...", "Password": "..." },
"AdapterClientEndpoint": { "Port": 8083 ... },
"DsServerEndpoint": { ... }
}
]
===== Krok 2: Spuštění Adapteru =====
Pro otestování připojení můžete Adapter dočasně spustit v konzoli.
- Otevřete **Příkazový řádek** nebo **PowerShell**.
- Přejděte do složky obsahující Adapter.
- Spusťte spustitelný soubor s odkazem na váš konfigurační soubor:
.\ESG.NetCore.DataSpy.Client.Host.exe --runAsConsole -configFile "appsettings.json"
**Úspěch:** V logu byste měli vidět, že se Adapter spustil a naslouchá na lokálním portu (např. `127.0.0.1:8082`). **Toto okno ponechte otevřené.**
===== Krok 3: Připojení pomocí SSH klienta =====
Nyní, když je tunel aktivní, připojte se pomocí SSH klienta na **localhost**.
- **Host Name (nebo IP adresa)**: ``127.0.0.1``
- **Port**: ``8082`` (nebo hodnota nastavená v ``AdapterClientEndpoint`` -> ``Port``).
- **Typ připojení**: SSH
Po kliknutí na **Open** budete vyzváni k zadání přihlašovacích údajů.
**Poznámka k přihlášení:** V této fázi se přihlašujete do **operačního systému PLC**. Zadejte uživatele root a heslo pro daný PLC hardware (např. Unipi / root), **nikoli** přihlašovací údaje CloudAccess.
**Příklad pro Windows Terminal:**
ssh unipi@localhost -p 8082 -o ServerAliveInterval=10
===== Řešení problémů =====
* **Connection Refused**: Ujistěte se, že je konzole Adapteru stále otevřená a běží. Zkontrolujte, že se připojujete na `127.0.0.1` a na přesný port definovaný ve vašem JSON souboru.
* **Authentication Failed (Adapter)**: Zkontrolujte logy v konzoli. Pokud vidíte chybu „Unauthorized“ nebo problém s přihlašovacími údaji, ověřte `ChannelId`, `User` a `Password` v `appsettings.json`.
* **Konflikt portu**: Pokud se Adapter ihned ukončí, může být port `8082` již používán. Změňte `"Port": 8082` v JSON na jiné číslo (např. `22222`).