ThingWorx Erweiterbarkeit > Erweiterungen > Remote-Zugriff > ThingWorx Remote Access Client (RAC)
ThingWorx Remote Access Client (RAC)
Der Remote Access Client (RAC) wird als Mechanismus zur Verwendung der ThingWorx Remotezugriffsfunktionen aus einem benutzerdefinierten Mashup oder aus dem Modul Remote Access and Control von ThingWorx Asset Advisor bereitgestellt. Möchte ein Endbenutzer eine Verbindung zu einem Remote-Gerät herstellen, so muss der Benutzer einen Tunnel vom lokalen Rechner zum Remote-Gerät erstellen. Der RAC ermöglicht diesen Tunnel. Sie können den RAC auf der Seite ThingWorx Remote Access Client Downloads herunterladen.
Dieses Thema enthält die folgenden Abschnitte:
Quickstart
1. Richten Sie in ThingWorx Composer ein Ding ein, und verbinden Sie dieses anschließend mit ThingWorx Platform. Stellen Sie beim Einrichten eines Dings sicher, dass es die folgenden Kriterien für den Remotezugriff erfüllt:
a. Die Dingform RemoteAccessible muss auf das Ding angewendet sein. Diese Form wird automatisch auf Axeda eMessage Agent Dinge angewendet.
b. Für das Ding muss der entsprechende RemoteAccessProvider in der Eigenschaft RemoteAccessProvider konfiguriert sein.
c. Das Ding muss Bericht erstatten. Dies bedeutet, der Wert der isReporting-Eigenschaft muss wahr sein (angegeben durch ein Häkchen). Ein Ding für die Berichterstattung ist in der Regel ein Remote-Gerät, das an ThingWorx Platform gebunden ist.
d. Es muss ein Tunnel-Endpunkt für das Ding definiert sein. Gute Kandidaten für Tests sind Protokolle wie:
SSH – Für einen Rechner ohne Desktop-Komponenten, TCP-Port 22
VNC – Für einen Rechner mit Desktop, TCP-Port 5900
* 
Gemäß Entwurf bleibt der vom RAC erstellte Tunnel aktiv, solange keine Seite die Verbindung abbricht. Aus diesem Grund unterstützt ThingWorx Edge Tunneling keine Protokolle, die mehrere Verbindungen zu und Trennungen vom Edge herstellen, wie die Verwendung eines Browsers für den Zugriff auf einen HTTP-Server. Beispielsweise löst RDP Trennungen aus, wenn Sie die falschen Anmeldeinformationen verwenden und wenn Sie sich mit einem RDP-Server verbinden, dem Ihr Rechner nicht vertraut. Für möglichst effektives Arbeiten stellen Sie sicher, dass Sie das Verbindungs- und Trennverhalten des Protokolls verstehen, das Sie weiterleiten möchten.
2. Laden Sie den ThingWorx Remote Access Client (RAC) auf der Seite ThingWorx Remote Access Client Downloads herunter.
3. Navigieren Sie zum Speicherort, an dem Sie das Paket gespeichert haben, und führen Sie es aus, um den RAC zu installieren. Führen Sie beispielsweise unter Windows die Datei .exe aus. Installieren Sie unter Linux und OS X das Paket.
4. Fügen Sie das Widget RAClientLinker zu einem Mashup hinzu. Details finden Sie unter Widget zu einem Mashup hinzufügen .
5. Verwenden Sie Ihr Mashup, und starten Sie eine Remote-Sitzung mit dem Edge-Ding, das Sie in Schritt 1 eingerichtet und verbunden haben. Es findet Folgendes in dieser Reihenfolge statt:
a. Durch Aufrufen des Dienstes StartSession auf dem Ding wird eine Remotesitzung für das ausgewählte Ding in ThingWorx Platform angefordert.
b. Der RAC (tw-ra-client) wird gestartet.
c. Der RAC stellt eine Verbindung zum Remote Access Server her und zeigt die Sitzungsinformationen an.
* 
Die RAC-Anwendung stellt standardmäßig eine Verbindung zu WebSocket Secure (WSS) her. Wenn Sie über einen HTTP-Endpunkt mit Klartext (nicht empfohlen) auf das Mashup zugreifen müssen, muss der RAC-Client so konfiguriert werden, dass eine Verbindung zu einem nicht verschlüsselten WebSocket (WS) hergestellt werden kann. Ändern Sie dazu die Datei config.json so, dass Sie das { "secure": false }-Element enthält. In der Liste mit Aufzählungen in Schritt 10 im Thema "Vom Administrator auszuführende Setup-Aufgaben für den Remote-Zugriff" finden Sie den Speicherort der Datei auf Ihrem Betriebssystem. Das Deaktivieren der Verschlüsselung ist nicht sicher und unvorteilhaft. Tun Sie dies nur, wenn es unbedingt erforderlich ist. Beachten Sie, dass die RAC-Anwendung eine Verbindung zu WSS- oder WS-Endpunkten herstellen kann, jedoch nicht zu beiden gleichzeitig.
6. Verbinden Sie Ihre Client-Anwendung mit dem lokalen Port. Der RAC leitet die Client-Daten an den Remote Access Server weiter (und dann an das Remote-Gerät) und umgekehrt.
Informationen zum ThingWorx Remote Access Client (RAC)
Der Client, der gestartet werden kann, ist der ThingWorx Remote Access Client (RAC). Dieser Client wird gestartet, wenn Sie den LaunchClient-Dienst auf dem Widget RAClientLinker aufrufen. Im restlichen Abschnitt wird die Benutzeroberfläche dieses Clients erklärt.
Beim Starten über ein Mashup kann die RAC Benutzeroberfläche beim Starten der Sitzung wie folgt aussehen:
Das Ding, zu dem der RAC im vorstehenden Screenshot eine Verbindung herstellt, ist ra-test-agent. Im Mitteilungsfenster wird der aktuelle Status angezeigt, der im obigen Beispiel Server ready: connect client to <localhost:38367 ist. Die Symbole rechts oben im Meldungsfenster werden wie folgt beschrieben:
– Ein Indikator für den Verbindungsstatus. Die Farbe gelb bedeutet, dass versucht wird, eine Verbindung herzustellen. Der Indikator ist animiert, um anzugeben, dass der Client etwas ausführt.
Zu den Parametern unterhalb der Statusmeldung zählen:
Remote Entity – Der Name des Dings, welches das Remote-Gerät in ThingWorx repräsentiert. Im Beispiel oben ist der Dingname ra-test-agent.
Remote Server – Der Name des RemoteAccessProvider, der zum Herstellen der Remotesitzung verwendet wird. Im obigen Beispiel ist der Remoteserver ein Axeda Global Access Server (GAS), mit dem Namen gas.ptciot.io.
Remote Endpoint – Der Remoteschnittstellen-Typ für diese Remotesitzung. Im Beispiel oben ist dies TERMINAL, was sich auf SSH- oder Telnet-Schnittstellen bezieht.
Created By – Der Name des Benutzers, der die Remotesitzung gestartet hat. Im Beispiel oben ist der Benutzername Administrator.
Startzeit – Der Wochentag, das Datum, die Zeit und die Zeitzone, an dem, zu der oder in der die Remotesitzung vom Remoteserver gestartet wurde. Im Beispiel oben wurde die Sitzung am Montag, den 5. November 5 2018 um 17:13:14 in der Zeitzone GMT gestartet.
Duration – Die Anzahl der Stunden, Minuten und Sekunden, die eine Remotesitzung von ihrer Initialisierung bis zum Trennen der Verbindung gedauert hat. Im Beispiel oben dauerte die Sitzung 6 Sekunden.
Übertragene Bytes – Die Anzahl der Byte, die zwischen dem Remotegerät und dem Computer, von dem der RAC gestartet wurde, ausgetauscht wurden. Für ThingWorxInternal-Tunnel ist der Wert zunächst nicht Null, wenn der Server auf Geräteseite bereit ist. Im obigen Beispiel wird auf dem Remote-Gerät ein Axeda eMessage Agent ausgeführt. Die Sitzung ist bereit, aber nicht vollständig mit dem Axeda eMessage Agent eingerichtet, sodass diese Zahl 0 ist.
Wenn die Sitzung bereit ist, ändert sich der Indikator. Die verwendete Portnummer wird grün hinterlegt und ist eine Meldung vorhanden, dass der Remote Access Server bereit ist, eine Verbindung zum Gerät herzustellen:
* 
Sie können auf die Portnummer klicken, um sie zu kopieren und in Ihre Client-Anwendung einzufügen.
– Klicken Sie auf das schwarze Quadrat, wenn Sie die aktuelle Sitzung beenden möchten.
– Klicken Sie auf dieses Symbol, um die Sitzung aus dem Bildschirm zu entfernen. Sollten Sie die Sitzung nicht bereits beendet haben, wird die Sitzung durch Klicken auf dieses Symbol beendet und anschließend aus dem Bildschirm entfernt.
Rechts oben im Bildschirm befinden sich die folgenden Symbole:
– Dieses Symbol zeigt den Status Ihrer Verbindung zu ThingWorx Platform an. Wenn sich ein Häkchen in der grünen Wolke befindet, besteht eine Verbindung.
– Klicken Sie auf dieses Symbol, um das Menü für den RAC anzuzeigen:
Wählen Sie die Option Stop All Sessions aus dem Menü aus, um alle Sitzungen zu beenden. Die Informationen für jede Sitzung bleiben so lange sichtbar, bis Sie auf klicken, um sie zu entfernen.
Falls Sie einen Proxy-Server zwischen Ihrem Computer und dem Remotegerät verwenden müssen, können Sie den zu verwendenden Hostnamen und die zu verwendende Portnummer angeben, indem Sie die Option Proxy Settings aus dem Menü auswählen:
* 
Es ist wichtig zu beachten, dass der RAC ohne Argumente gestartet werden kann, um die Proxy-Einstellungen einzurichten. Nachdem die Einstellungen gespeichert wurden, verwendet der RAC weiterhin die Proxy-Einstellungen, die beim Starten durch ein ThingWorx Mashup konfiguriert wurden.
Wählen Sie die Option Info im Menü aus, um die Versionsinformationen für den RAC anzuzeigen:
Wenn Sie den Client schließen möchten, wählen Sie die Option Exit aus dem Menü aus. Beim Beenden werden Sie aufgefordert, alle aktiven Sitzungen zu beenden, sofern vorhanden.
Proxy-Einstellungen über die Benutzeroberfläche konfigurieren
Der ThingWorx Remote Access Client (RAC) unterstützt das Ändern und Speichern der Proxy-Einstellungen, wenn die Proxy-Konfiguration nicht als Abfrageparameter angegeben wird.
* 
Der RAC unterstützt zu diesem Zeitpunkt keine authentifizierten Proxies.
Sie können die Einstellungen über die RAC Benutzeroberfläche wie folgt konfigurieren:
1. Starten Sie den RAC lokal oder über ThingWorx.
* 
Wenn er lokal gestartet wird, stellt er keine Verbindung mit ThingWorx her. Sie können jedoch weiterhin Proxy-Einstellungen konfigurieren und speichern.
2. Wählen Sie das Menüsymbol (drei Punkte) aus:
3. Wählen Sie Proxy Settings aus dem Menü aus.
4. Geben Sie den zu verwendenden Hostnamen und die zu verwendende Portnummer an, wenn das Fenster für die Einstellungen angezeigt wird:
5. Klicken Sie auf Save.
Verbindungen mit dem RAC als Proxy
Wenn die Proxy-Konfiguration im RAC angegeben ist, werden die folgenden ausgehenden Verbindungen durch den Proxy-Server getunnelt:
ThingWorx Platform unter Verwendung des AlwaysOn-Protokolls.
Axeda Global Access Server (GAS), unter Verwendung von TCP.
ThingWorx Internal Remote Access Provider, unter Verwendung des AlwaysOn-Protokolls.
Status der Remote-Sitzungen
Der Remote Access Client (RAC) kann eine Änderung an CLOSE_REQUESTED im Status einer Remote-Sitzung erkennen. Diese Änderung tritt auf, wenn das RemoteAccessSubsystem feststellt, dass eine Remote-Sitzung die maximale Dauer überschritten hat, die sie aktiv bleiben kann.
Um die lastActivityTime für eine Remote-Sitzung zu aktualisieren, aktualisiert der RAC regelmäßig (alle 20 Sekunden) die Sitzung, um die bytesTransferred für alle Sitzungen zu aktualisieren, die die folgenden Bedingungen erfüllen:
Die vom RAC nachverfolgten übertragenen Byte liegen über 0.
Die vom RAC nachverfolgten übertragenen Byte wurden seit der letzten Aktualisierung für die Sitzung geändert.
Der Sitzungsstatus ist nicht TERMINATED.
Wenn die Sitzungsaktualisierung fehlschlägt, weil die Sitzung nicht mehr vorhanden ist, wird der TERMINATED-Zustand als Sitzungsstatus erzwungen. Diese Änderung beendet effektiv die Verarbeitung der Aktualisierungsbyte.
* 
Dieser Zeitgeber ist nur für die Clients des ThingWorxInternalRemoteAccessProvider aktiviert/erforderlich. Da der Axeda Global Access Server (GAS) eine regelmäßige Statusaktualisierung an den ThingWorx eMessage Connector sendet, ist dieser Zeitgeber nicht für einen Client eines GASRemoteAccessProvider erforderlich. Die lastActivityTime für GAS-Client-Sitzungen wird automatisch aktualisiert.