Set up remote client to integrate your IoT network - TeamViewer Support
<main>
<article class="userContent">
<p><br></p><p>The <strong>TeamViewer IoT Agent</strong> acts as a centralized hub bringing the TeamViewer IoT solution to your IoT network. To securely integrate your IoT devices and sensors, you must create trusted Clients (see <a href="https://community.teamviewer.com/English/kb/articles/109884-teamviewer-iot-agent-mqtt-api" rel="nofollow noreferrer ugc">TeamViewer IoT Agent MQTT API</a>) which can communicate with the TeamViewer IoT Agent.</p><p><strong>Remote Clients</strong> allows you to extend your clients to trusted remote devices rather than being limited to the <strong>localhost</strong> (the device hosting the agent). The following procedure will illustrate how to enable Remote Clients and how to use the <strong>TeamViewer IoT Agent MQTT API</strong> to remotely create clients and send your sensor data for monitoring and visualization.</p><p><strong>⚠Caution:</strong> Enabling Remote Clients will allow any device on your local area network to initiate Client certificate generation. It is strongly encouraged to Disable Remote Client Provisioning & Remote Client Data connections when not in use.</p><p><br></p><h3></h3><h2 data-id="what-you-will-need">What you will need</h2><p>Make sure that you have prepared the following points:</p><ul><li><a href="https://community.teamviewer.com/English/kb/articles/109829-access-the-edge-device-via-remote-terminal" rel="nofollow noreferrer ugc">Access the Edge Device via Remote Terminal</a>.</li></ul><p><br></p><h3 data-id="-1"></h3><h2 data-id="setup">Setup</h2><p>1. Access the edge device remotely (<a href="https://community.teamviewer.com/English/kb/articles/109829-access-the-edge-device-via-remote-terminal" rel="nofollow noreferrer ugc">Access the Edge Device via Remote Terminal</a>).</p><p>2. Enable <strong>Remote Connections</strong>. In the terminal type in the following command and press return.</p><pre class="code codeBlock" spellcheck="false" tabindex="0">teamviewer-iot-agent enable remoteClientProvision
</pre><p>3. From your <strong>Edge Device</strong>, create a client by generating a trusted certificate.</p><ul><li>For more information see <a href="https://community.teamviewer.com/English/kb/articles/109884-teamviewer-iot-agent-mqtt-api" rel="nofollow noreferrer ugc">TeamViewer IoT Agent MQTT API</a>.</li><li>Replace <code class="code codeInline" spellcheck="false" tabindex="0">localhost</code> with the <code class="code codeInline" spellcheck="false" tabindex="0">hostname</code> of the device running the TeamViewer IoT Agent in the <strong>publish/subscribe</strong> examples.</li><li>Copy the Trusted CA Cert <code class="code codeInline" spellcheck="false" tabindex="0">TeamViewerAuthority.crt</code>, referenced in the <strong>publish/subscribe</strong> examples, to the <strong>Edge Device</strong>.</li></ul><p>4. Once your Client has been created, disable the <strong>Remote Client Provisioning</strong> access to prevent unauthorized access from other hosts on the network. Disabling Remote Client Provisioning only allows certificate-based secure access from remote hosts. In the terminal type in the following command and press return.</p><pre class="code codeBlock" spellcheck="false" tabindex="0">teamviewer-iot-agent disable remoteClientProvision
</pre><p>5. Enable remote data for clients to securely connect to the <strong>TeamViewer IoT Agent</strong> to send data. In the terminal type in the following command and press return.</p><pre class="code codeBlock" spellcheck="false" tabindex="0">teamviewer-iot-agent enable remoteData
</pre><p>6. From your <strong>Edge Device</strong>, securely register metrics and push data to the <strong>TeamViewer IoT Agent</strong>.</p><ul><li>For more information see <a href="https://community.teamviewer.com/English/kb/articles/109884-teamviewer-iot-agent-mqtt-api" rel="nofollow noreferrer ugc">TeamViewer IoT Agent MQTT API</a>.</li><li>Replace <code class="code codeInline" spellcheck="false" tabindex="0">localhost</code> with the <code class="code codeInline" spellcheck="false" tabindex="0">hostname</code> of the device running the TeamViewer IoT Agent in the <strong>publish/subscribe</strong> examples.</li></ul><p>7. To provision additional remote clients enable the <strong>Remote Client Provisioning</strong>. In the terminal type in the following command and press return.</p><p><code class="code codeInline" spellcheck="false" tabindex="0">teamviewer-iot-agent enable remoteClientProvision</code></p><p><br></p><h2 data-id="disable-remote-client-provisioning">Disable remote client provisioning</h2><p>For security purposes, disable the <strong>Remote Client Provisioning</strong> access to prevent unauthorized access from other hosts on the network. Disabling Remote Client Provisioning only allows certificate-based secure access from remote hosts.</p><ol><li>Access the edge device remotely (<a href="https://community.teamviewer.com/English/kb/articles/109829-access-the-edge-device-via-remote-terminal" rel="nofollow noreferrer ugc">Access the Edge Device via Remote Terminal</a>).</li><li>In the terminal type in the following command and press return.</li></ol><pre class="code codeBlock" spellcheck="false" tabindex="0">teamviewer-iot-agent disable remoteClientProvision
</pre><p><br></p><h2 data-id="disable-remote-data">Disable remote data</h2><p>For security purposes, when remote connections are no longer needed for Clients to send data, disable <strong>Remote Data</strong>.</p><ol><li>Access the edge device remotely (<a href="https://community.teamviewer.com/English/kb/articles/109829-access-the-edge-device-via-remote-terminal" rel="nofollow noreferrer ugc">Access the Edge Device via Remote Terminal</a>).</li><li>In the terminal type in the following command and press return.</li></ol><pre class="code codeBlock" spellcheck="false" tabindex="0">teamviewer-iot-agent disable remoteData
</pre><p><br></p><h3 data-id="-2"></h3><h2 data-id="disable-remote-clients">Disable remote clients</h2><p>For security purposes, when remote connections are no longer needed for client provisioning or sending data, disable <strong>all Remote Connections</strong>.</p><ol><li>Access the edge device remotely (<a href="https://community.teamviewer.com/English/kb/articles/109829-access-the-edge-device-via-remote-terminal" rel="nofollow noreferrer ugc">Access the Edge Device via Remote Terminal</a>).</li><li>In the terminal type in the following command and press return.</li></ol><pre class="code codeBlock" spellcheck="false" tabindex="0">teamviewer-iot-agent disable remoteClients
</pre><p><br></p><h3 data-id="-3"></h3>
</article>
</main>