Difference between revisions of "Template:Networking rutos manual data to server"

From Teltonika Networks Wiki
(51 intermediate revisions by 9 users not shown)
Line 1: Line 1:
<!-- Template uses {{{name}}}, {{{series}}}, {{{bluetooth}}}, {{{wifi}}}-->
+
<!-- Template uses {{{name}}}, {{{series}}}, {{{bluetooth}}}-->
{{Template: Networking_device_manual_fw_disclosure
+
{{Template:Networking_rutos_manual_fw_disclosure
| series = {{{series}}}
+
| fw_version = {{{series}}}_R_00.02.03.1
| name  = {{{name}}}
+
| series     = {{{series}}}
| fw_version ={{Template: Networking_device_manual_latest_fw
 
| series = {{{series}}}
 
| name  = {{{name}}}
 
}}
 
 
}}
 
}}
{{#ifeq: {{{series}}} | RUT9 |<br><i><b>Note</b>: <b>[[{{{name}}} Modbus (legacy WebUI)#Modbus_Data_to_Server|click here]]</b> for the old style WebUI (FW version {{Template: Networking_device_manual_latest_fw | series = RUT9XX}} and earlier) user manual page.</i>|}}
+
 
{{#ifeq: {{{series}}} | RUT2 |<br><i><b>Note</b>: <b>[[{{{name}}} Modbus (legacy WebUI)#Modbus_Data_to_Server|click here]]</b> for the old style WebUI (FW version {{Template: Networking_device_manual_latest_fw | series = RUT2XX}} and earlier) user manual page.</i>|}}
 
__TOC__
 
 
==Summary==
 
==Summary==
  
The <b>Data to Server</b> feature provides you with the possibility to set up data senders that collect data from various sources and periodically send it to remote servers.
+
Data to Server function provides you with the possibility to set up senders that transfer data collected from Modbus slaves {{#ifeq:{{{bluetooth}}}|1|or Bluetooth devices|}} to remote servers.
{{#switch: {{{series}}}
 
| RUTX =
 
| RUTM =
 
| TCR1 =
 
| TRB1 =
 
| TRB2 =
 
| TRB2M =
 
| TRB5 =
 
| RUT2M =
 
| RUT2 =
 
| RUT30X =
 
| RUT36X =
 
| RUT9|RUT9M =
 
| RUT14X =
 
| #default =
 
<u><b>
 
 
 
Note:</b> On {{{name}}}, Data to Server is additional software that can be installed from the <b>System → [[{{{name}}} Package Manager|Package Manager]]</b> page.
 
  
</u>}}
 
 
{{Template:Networking_rutos_manual_basic_advanced_webui_disclaimer
 
{{Template:Networking_rutos_manual_basic_advanced_webui_disclaimer
 
| series = {{{series}}}
 
| series = {{{series}}}
 
}}
 
}}
  
==Data Senders==
+
==Data senders==
 
 
A <b>Data Sender</b> is an instance that gathers and periodically sends collected data to a specified server. The Data Senders list is empty by default so, in order to begin configuration you must add a new data sender first. To add a new data sender, click the 'Add' button.
 
  
[[File:Networking_rutos_manual_data_to_server_data_senders_add_button_v3.png|border|class=tlt-border]]
+
To add a new data sender, click the '''Add''' button:
  
After this you should be redirected to the newly added data sender's configuration page.
+
[[File:Networking_rutx_manual_data_to_server_data_senders_v1.png|border|class=tlt-border]]
  
===Sender Settings===
+
===Configure data sender===
 
----
 
----
Refer to the table below for descriptions on data sender configuration fields.
 
  
<b>Note</b>: these tables have coloring schemes to indicate which fields can be seen with different configuration.
+
When you add a new data sender, you will be redirected to its configuration window. The figure below is an example of that window and the table below provides information on the fields that it contains:
  
[[File:Networking rutos manual data to server data configuration.png|border|class=tlt-border]]
+
[[File:Networking_rutx_manual_data_to_server_advanced_sender_settings_v1.png|border|class=tlt-border]]
  
 
====General====
 
====General====
Line 60: Line 32:
 
       <th>Value</th>
 
       <th>Value</th>
 
       <th>Description</th>
 
       <th>Description</th>
 +
    </tr>
 +
    <tr>
 +
      <td>Enabled</td>
 +
      <td>off {{!}} on; default: '''off'''</td>
 +
      <td>Enables or disables data sender.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
Line 65: Line 42:
 
       <td>string; default: <b>none</b></td>
 
       <td>string; default: <b>none</b></td>
 
       <td>Name of the data sender. Used for easier data senders management purposes only (optional).</td>
 
       <td>Name of the data sender. Used for easier data senders management purposes only (optional).</td>
     </tr>  
+
     </tr>
 +
    {{#ifeq:{{{bluetooth}}}|1|
 
     <tr>
 
     <tr>
       <td>Type</td>
+
       <td>Data source</td>
       <td><span>Base | {{#ifeq:{{{bluetooth}}}|1|<span style="color:green">Bluetooth</span> {{!}} |}}{{#ifeq:{{{mobile}}}|1| GSM {{!}} <span style="color:blue">Mobile usage</span> {{!}} |}} MNF info {{!}} <span style="color:red">Modbus</span><span class="asterisk">*</span> {{!}} <span style="color:grey">Modbus Alarms</span> | {{#ifeq:{{{wifi}}}|1|<span style="color:purple">Wifi scanner</span><span class="asterisk">*</span> {{!}} |}} <span style="color:brown">DNP3</span><span class="asterisk">*</span> {{!}} <span style="color:orange">MQTT</span> {{!}} <span style="color:lightblue">OPC UA</span> {{!}} <span style="color:hotpink">DLMS</span><span class="asterisk">*</span>; default: <b>Base</b></span>   
+
       <td>Modbus data {{!}} Bluetooth data; default: '''Bluetooth data'''</td>
        </td>
 
 
       <td>Source of the data to be sent to server.</td>
 
       <td>Source of the data to be sent to server.</td>
 
     </tr>
 
     </tr>
 +
    |}}
 
     <tr>
 
     <tr>
       <td>Format type</td>
+
       <td>Protocol</td>
       <td>Json {{!}} <span style="color:limegreen">Custom</span>; default: <b>Json</b></td>
+
       <td>HTTP(S) {{!}} MQTT; default: '''HTTP(S)'''</td>
        <td>Arranges the format of the sent JSON segment.</td>  
+
      <td>Protocol used for sending the data to server.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td><span style="color:limegreen">Format string</span></td>
+
       <td>JSON format</td>
       <td>string; default: <b>none</b></td>
+
       <td>string; default: '''{"TS": "%t", "D": "%d", "data": %a}'''</td>
         <td>Specifies custom format string.</td>  
+
{{#ifeq:{{{bluetooth}}}|1|
    </tr>
+
         <td>You can fully customize JSON segment.<br>Possible Modbus values:
    <tr>
+
* Date (Linux timestamp) - %t
      <td><span style="color:limegreen">Empty value</span></td>
+
* Date (Day/Month/Year Hour:Minute:Second) - %d
      <td>string; default: <b>N/A</b></td>
+
* Modbus slave ID - %i
         <td>A string which will be placed if any value cannot be received.</td>  
+
* Modbus slave IP - %p
    </tr>
+
* Start register - %s
    <tr>
+
* Register data (JSON object) - %a
      <td><span style="color:limegreen">Delimeter</span></td>
+
Possible Bluetooth values:
      <td>string (Maximum length of value is 1 bytes); default: <b>N/A</b></td>
+
* Date (Linux timestamp) - %t
         <td>Specifies delimiters for multiple data segments.</td>  
+
* Date (Day/Month/Year Hour:Minute:Second) - %d
 +
* MAC address - %m
 +
* Device name - %n
 +
* RSSI - %r
 +
* Device data (JSON object) - %b
 +
         </td>  
 +
| <!-- not bluetooth -->
 +
        <td>You can fully customize JSON segment, possible values:
 +
* Date (Linux timestamp) - %t
 +
* Date (Day/Month/Year Hour:Minute:Second) - %d
 +
* Modbus slave ID - %i
 +
* Modbus slave IP - %p
 +
* Start register - %s
 +
* Register data (JSON object) - %a
 +
         </td>  
 +
}}
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
       <td>Segment count</td>
 
       <td>Segment count</td>
       <td>integer [1..64]; default: <b>1</b></td>
+
       <td>integer [1..10]; default: '''1'''</td>
 
       <td>Max segment count in one JSON string sent to server.</td>
 
       <td>Max segment count in one JSON string sent to server.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>Send as object</td>
+
       <td>URL/Host/Connection string</td>
       <td>off {{!}} on; default: <b>off</b></td>
+
       <td>string; default: <b>none</b></td>
       <td>When turned on, sends JSON segment as object and not as an array element.</td>
+
       <td>URL for HTTP(S); Host for MQTT; Connection string for Azure MQTT.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td><span style="color:grey">Data filtering</span></td>
+
       <td>Period</td>
       <td>All {{!}} <span style="color:grey">Server ID</span> {{!}} <span style="color:grey>Alarm ID</span> {{!}} <span style="color:grey">Register number</span>; default: <b>All</b></td>
+
       <td>integer [1..86400]; default: '''60'''</td>
       <td>If Data type: <span style="color:grey">Modbus alarms data</span>. Choose which data this sender will send to server.</td>
+
       <td>Interval for sending the collected data to server (in seconds, 1-86400)</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td><span style="color:red">Data filtering</span></td>
+
       <td>Data filtering</td>
       <td>All {{!}} <span style="color:red">Server IP address</span> {{!}} <span style="color:red">Server ID</span> {{!}} <span style="color:red">Request name</span> ; default: <b>All</b></td>
+
       <td>All data {{!}} <span style="color:darkred">By slave ID</span> {{!}} <span style="color:blue">By slave IP</span>; default: '''All data'''</td>
       <td>If Data type: <span style="color:red">Modbus data</span>. Choose which data this sender will send to server.</td>
+
       <td>Choose which data this sender will send to server.</td>
 
     </tr>
 
     </tr>
    {{#ifeq:{{{bluetooth}}}|1|
 
    <tr>
 
      <td><span style="color:green">Data filtering</span></td>
 
      <td>All {{!}} <span style="color:green">Device MAC address</span> {{!}} <span style="color:green">Device name</span>; default: <b>All</b></td>
 
      <td>If Data type: <span style="color:green">Bluetooth</span>. Choose which data this sender will send to server.</td>
 
    </tr>|}}
 
   
 
    {{#ifeq:{{{wifi}}}|1|
 
    <tr>
 
      <td><span style="color:purple">Data filtering</span></td>
 
      <td>All {{!}} <span style="color:purple">Name</span> {{!}} <span style="color:purple">MAC address</span> {{!}} <span style="color:purple">Signal strength</span>; default: <b>All</b></td>
 
      <td>If Data type: <span style="color:purple">Wifi scanner</span>. Choose which data this sender will send to server.</td>
 
    </tr>|}}
 
   
 
    {{#ifeq:{{{mobile}}}|1|
 
 
     <tr>
 
     <tr>
       <td><span style="color:blue">Data period</span></td>
+
       <td><span style="color:darkred">By slave ID:</span> Slave ID</td>
       <td><span style="color:blue>Day</span> {{!}} <span style="color:blue>Week</span> {{!}} <span style="color:blue>Month</span>; default: <b>Day</b></td>
+
       <td>integer [1..255]; default: '''none'''</td>
       <td>If Data type: <span style="color:blue">Mobile usage</span>. Choose for which time period to send info from.</td>
+
       <td>Data will be sent to server only from slave device with this modbus ID (1-255).</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td><span style="color:blue">Current</span></td>
+
       <td><span style="color:blue">By slave IP:</span> Slave IP</td>
      <td><span style="color:blue>off</span> {{!}} <span style="color:blue>on</span>; default: <b>off</b></td>
+
       <td>ip; default: '''none'''</td>
       <td>If Data type: <span style="color:blue">Mobile usage</span>.</td>
+
       <td>Data will be sent to server from slave device with this IP address only (Modbus TCP slaves only).</td>
    </tr>|}}
 
    <tr>
 
      <td><span style="color:hotpink">Data filtering</span></td>
 
      <td>All {{!}} <span style="color:hotpink">Name</span>; default: <b>All</b></td>
 
       <td>If Data type: <span style="color:hotpink">DLMS</span>. Choose which data this sender will send to server.</td>
 
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td><span style="color:hotpink">Invert file</span></td>
+
       <td>Retry on fail</td>
       <td><span style="color:hotpink">off</span> {{!}} <span style="color:hotpink">on</span>; default: <b>off</b></td>
+
       <td>off {{!}} on; default: '''off'''</td>
       <td>If Data type: <span style="color:hotpink">DLMS</span>. Inverts filter condition.</td>
+
       <td>In case of a failed attempt, retry to send the same data to server later (Retry until successful).</td>
    </tr>   
 
    <tr>
 
      <td><span style="color:brown">Data filtering</span></td>
 
      <td>All {{!}} <span style="color:brown"> Address </span> {{!}} <span style="color:brown">IP</span>; default: <b>All</b></td>
 
        <td>If Data type: <span style="color:brown">DNP3</span>. Choose which data this sender will send to server.</td>  
 
 
     </tr>
 
     </tr>
 +
</table>
 +
 +
 +
====Protocol HTTP(S)====
 +
<table class="nd-mantable">
 
     <tr>
 
     <tr>
      <td><span style="color:brown">Database</span></td>
+
        <th>Field</th>
       <td>RAM {{!}} Flash; default: <b>RAM</b></td>
+
       <th>Value</th>
        <td>Database location</td>
+
       <th>Description</th>
    </tr>
 
    <tr>
 
      <td><span style="color:lightblue">Data filtering</span></td>
 
       <td>All {{!}} <span style="color:lightblue"> Name </span>; default: <b>All</b></td>
 
        <td>If Data type: <span style="color:lightblue">OPC UA</span>. Choose which data this sender will send to server.</td>  
 
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
        <td><span style="color:orange">Server address</span></td>
+
      <td>Custom Header</td>
        <td>Default: <b>empty</b></td>
+
      <td>string; default: <b>none</b></td>
        <td>Hostname or ip address of the broker to connect to.</td>
+
      <td>Allows to add custom headers to the HTTP requests.</td>
    </tr>
 
    <tr>
 
        <td><span style="color:orange">Port</span></td>
 
        <td>integer [0..65535]; default: <b>1883</b></td>
 
        <td>Port number for connecting to MQTT.</td>
 
    </tr>
 
    <tr>
 
        <td><span style="color:orange">Keepalive</span></td>
 
        <td>integer [1..640]; default: <b>60</b></td>
 
        <td>MQTT Keepalive period in seconds.</td>
 
    </tr>
 
    <tr>
 
        <td><span style="color:orange">Topic</span></td>
 
        <td>string; default: <b>none</b></td>
 
        <td>MQTT topic to be used for publishing the data.</td>
 
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
        <td><span style="color:orange">Client ID</span></td>
+
      <td>Use TLS</td>
        <td>string; default: <b>none</b></td>
+
      <td>off | <span style="color:red">on</span>; default: '''off'''</td>
        <td>Client ID to send with the data. If empty, a random client ID will be generated</td>
+
      <td>Enables the use of TSL certificates.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
        <td><span style="color:orange">QoS</span></td>
+
       <td><span style="color:red">On:</span> TLS type</td>
        <td>integer [0..2]; default: <b>0</b></td>
+
       <td>Certificate based; default: '''Certificate based'''</td>
        <td>MQTT Quality of Service. Allowed values:
 
* 0 - when we prefer that the message will not arrive at all rather than arrive twice,
 
* 1 - when we want the message to arrive at least once but don't care if it arrives twice (or more),
 
* 2 - when we want the message to arrive exactly once. A higher QoS value means a slower transfer.</td>
 
    </tr>
 
        <tr>
 
       <td><span style="color:orange">Enable secure connection</span></td>
 
      <td>off {{!}} <span style="color:blue">on</span>; default: '''off'''</td>
 
      <td>Enables the use of TLS certificates.</td>
 
    </tr>
 
    <tr>
 
      <td><span style="color:blue">On:</span> <span style="color:orange">TLS type</span></td>
 
       <td>Certificate based {{!}} Pre-shared key based; default: '''Certificate based'''</td>
 
 
       <td>Select type of TLS.</td>
 
       <td>Select type of TLS.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td><span style="color:orange">Certificate based: Allow insecure connection</span></td>
+
       <td><span style="color:red">On:</span> A File</td>
      <td>off {{!}} on; default: '''off'''</td>
 
      <td>Allow not verifying server authentication.</td>
 
    </tr>
 
    <tr>
 
      <td><span style="color:orange">Certificate based: Certificate files from device</span></td>
 
      <td>off {{!}} on; default: '''off'''</td>
 
      <td>Specify where the certificates will be used from.</td>
 
    </tr>
 
    <tr>
 
      <td><span style="color:orange">Certificate based: CA File</span></td>
 
 
       <td>.ca file; default: <b>none</b></td>
 
       <td>.ca file; default: <b>none</b></td>
 
       <td>'''Certificate authority''' is an entity that issues digital certificates. A digital certificate certifies the ownership of a public key by the named subject of the certificate.</td>
 
       <td>'''Certificate authority''' is an entity that issues digital certificates. A digital certificate certifies the ownership of a public key by the named subject of the certificate.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td><span style="color:orange">Certificate based: Client certificate</span></td>
+
     <td><span style="color:red">On:</span> Client Certificate</td>
 
         <td>.crt file; default: <b>none</b></td>
 
         <td>.crt file; default: <b>none</b></td>
 
         <td>Certificate file is a type of digital certificate that is used by client systems to make authenticated requests to a remote server. If client certificate is not needed, leave both client certificate and client key fields empty.</td>
 
         <td>Certificate file is a type of digital certificate that is used by client systems to make authenticated requests to a remote server. If client certificate is not needed, leave both client certificate and client key fields empty.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td><span style="color:orange">Certificate based: CLient private Key</span></td>
+
     <td><span style="color:red">On:</span> Private Key</td>
 
         <td>.key file; default: <b>none</b></td>
 
         <td>.key file; default: <b>none</b></td>
 
         <td>File containing private key for this client. This file needs to be not encrypted.</td>
 
         <td>File containing private key for this client. This file needs to be not encrypted.</td>
    </tr>
 
    <tr>
 
      <td><span style="color:orange">Pre-shared key based: Pre-Shared-Key</span></td>
 
      <td>string; default: <b>none</b></td>
 
      <td>The pre-shared-key in hex format with no leading "0x".</td>
 
    </tr>
 
    <tr>
 
      <td><span style="color:orange">Pre-shared key based: Identity</span></td>
 
      <td>string; default: <b>none</b></td>
 
      <td>The identity of this client. May be used as the username depending on the server settings.</td>
 
    </tr>
 
    <tr>
 
      <td><span style="color:orange">Username</span></td>
 
      <td>string; default: <b>none</b></td>
 
      <td>Username used in authentication.</td>
 
    </tr>
 
    <tr>
 
      <td><span style="color:orange">Require password</span></td>
 
      <td>on | off; default: <b>off</b></td>
 
      <td>Enables password for authentication.</td>
 
    </tr>
 
    <tr>
 
      <td><span style="color:orange">Password</span></td>
 
      <td>string; default: <b>none</b></td>
 
      <td>Password used in authentication.</td>
 
    </tr>
 
</table>
 
<br>
 
<span class="asterisk">*</span> This is additional software that can be installed from the <b>System → [[{{{name}}} Package Manager|Package Manager]]</b> page.
 
 
====Collection settings====
 
----
 
 
[[File:Networking rutos manual data to server collection configuration general settings_v1.png|border|class=tlt-border]]
 
 
<table class="nd-mantable">
 
    <tr>
 
        <th>Field</th>
 
      <th>Value</th>
 
      <th>Description</th>
 
    </tr>
 
    <tr>
 
      <td>Enabled</td>
 
      <td>off {{!}} on; default: <b>on</b></td>
 
      <td>Enables data to server collection instance.</td>
 
    </tr>
 
    <tr>
 
      <td>Format type</td>
 
      <td>Json {{!}} <span style="color:red">custom</span>; default: <b>Json</b></td>
 
      <td>Data collection objects formatting.</td>
 
    </tr>
 
    <tr>
 
      <td><span style="color:red">Format string</span></td>
 
      <td>Default: <b>Instance name</b></td>
 
      <td>Specifies custom format string</td>
 
    </tr>
 
    <tr>
 
      <td><span style="color:red">Empty value </span></td>
 
      <td>Default: <b>N/A</b></td>
 
      <td>A string which will be placed if any value cannot be received</td>
 
    </tr>
 
    <tr>
 
      <td>Period</td>
 
      <td>Default: <b>60</b></td>
 
      <td>Interval in seconds for collecting/sending data to destination.</td>
 
    </tr>
 
    <tr>
 
      <td>Retry</td>
 
      <td>off {{!}} <span style="color:blue">on</span>; default: <b>off</b></td>
 
      <td>In case of a failed attempt, retry to send the same data to destination later.</td>
 
    </tr>
 
    <tr>
 
      <td><span style="color:blue">Retry count</span></td>
 
      <td>Default: <b>10</b></td>
 
      <td>Retry to send the same data N times </td>
 
    </tr>
 
    <tr>
 
      <td><span style="color:blue">Timeout</span></td>
 
      <td>Default: <b>1</b></td>
 
      <td>Timeout in second between retry attempts</td>
 
 
     </tr>
 
     </tr>
 
</table>
 
</table>
  
====Server configuration====
 
----
 
 
[[File:Networking rutos manual data to server server configuration.png|border|class=tlt-border]]
 
  
 +
====Protocol MQTT====
 
<table class="nd-mantable">
 
<table class="nd-mantable">
 
     <tr>
 
     <tr>
Line 322: Line 169:
 
       <th>Value</th>
 
       <th>Value</th>
 
       <th>Description</th>
 
       <th>Description</th>
    </tr> 
 
    <tr>
 
      <td>Type</td>
 
      <td>HTTP {{!}} <span style="color:red">MQTT</span>; default: <b>HTTP</b></td>
 
      <td>Interval in seconds for collecting/sending data to destination.</td>
 
    </tr>
 
    <tr>
 
      <td>Server address</td>
 
      <td>Default: <b>empty</b></td>
 
      <td>Hostname or IP address of the broker to connect to.</td>
 
 
     </tr>
 
     </tr>
    <tr>
 
      <td>HTTP headers</td>
 
      <td>Default: <b>empty</b></td>
 
      <td>Allows to add custom headers to the HTTP requests.</td>
 
    </tr>
 
    <tr>
 
      <td>Enable secure connection</td>
 
      <td>on {{!}} off; default: <b>off</b></td>
 
      <td>Enables the use of TLS certificates.</td>
 
    </tr>
 
   
 
 
     <tr>
 
     <tr>
         <td><span style="color:red">Port</span></td>
+
         <td>Port</td>
 
         <td>integer [0..65535]; default: <b>1883</b></td>
 
         <td>integer [0..65535]; default: <b>1883</b></td>
 
         <td>Port number for connecting to MQTT.</td>
 
         <td>Port number for connecting to MQTT.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
         <td><span style="color:red">Keepalive</span></td>
+
         <td>Keepalive</td>
 
         <td>integer [1..640]; default: <b>60</b></td>
 
         <td>integer [1..640]; default: <b>60</b></td>
 
         <td>MQTT Keepalive period in seconds.</td>
 
         <td>MQTT Keepalive period in seconds.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
         <td><span style="color:red">Topic</span></td>
+
         <td>Topic</td>
 
         <td>string; default: <b>none</b></td>
 
         <td>string; default: <b>none</b></td>
 
         <td>MQTT topic to be used for publishing the data.</td>
 
         <td>MQTT topic to be used for publishing the data.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
         <td><span style="color:red">Client ID</span></td>
+
         <td>QoS</td>
        <td>string; default: <b>none</b></td>
 
        <td>Client ID to send with the data. If empty, a random client ID will be generated</td>
 
    </tr>
 
    <tr>
 
        <td><span style="color:red">QoS</span></td>
 
 
         <td>integer [0..2]; default: <b>0</b></td>
 
         <td>integer [0..2]; default: <b>0</b></td>
 
         <td>MQTT Quality of Service. Allowed values:
 
         <td>MQTT Quality of Service. Allowed values:
Line 373: Line 194:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>Enable secure connection</td>
+
       <td>Use TLS</td>
       <td>off {{!}} <span style="color:blue">on</span>; default: '''off'''</td>
+
       <td>off | <span style="color:red">on</span>; default: '''off'''</td>
       <td>Enables the use of TLS certificates.</td>
+
       <td>Enables the use of TSL certificates.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td><span style="color:blue">On:</span> TLS type</td>
+
       <td><span style="color:red">On:</span> TLS type</td>
       <td>Certificate based {{!}} Pre-shared key based; default: '''Certificate based'''</td>
+
       <td><span style="color:chocolate">Certificate based</span> {{!}} <span style="color:darkred">Pre-shared key based</span>; default: '''Certificate based'''</td>
 
       <td>Select type of TLS.</td>
 
       <td>Select type of TLS.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>Certificate based: Allow insecure connection</td>
+
       <td><span style="color:chocolate">Certificate based:</span> CA File</td>
      <td>off {{!}} on; default: '''off'''</td>
 
      <td>Allow not verifying server authentication.</td>
 
    </tr>
 
    <tr>
 
      <td>Certificate based: Certificate files from device</td>
 
      <td>off {{!}} on; default: '''off'''</td>
 
      <td>Specify where the certificates will be used from.</td>
 
    </tr>
 
    <tr>
 
      <td>Certificate based: CA File</td>
 
 
       <td>.ca file; default: <b>none</b></td>
 
       <td>.ca file; default: <b>none</b></td>
 
       <td>'''Certificate authority''' is an entity that issues digital certificates. A digital certificate certifies the ownership of a public key by the named subject of the certificate.</td>
 
       <td>'''Certificate authority''' is an entity that issues digital certificates. A digital certificate certifies the ownership of a public key by the named subject of the certificate.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td>Certificate based: Client Certificate</td>
+
     <td><span style="color:chocolate">Certificate based:</span> Client Certificate</td>
 
         <td>.crt file; default: <b>none</b></td>
 
         <td>.crt file; default: <b>none</b></td>
 
         <td>Certificate file is a type of digital certificate that is used by client systems to make authenticated requests to a remote server. If client certificate is not needed, leave both client certificate and client key fields empty.</td>
 
         <td>Certificate file is a type of digital certificate that is used by client systems to make authenticated requests to a remote server. If client certificate is not needed, leave both client certificate and client key fields empty.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
     <td>Certificate based: Client Private Key</td>
+
     <td><span style="color:chocolate">Certificate based:</span> Private Key</td>
 
         <td>.key file; default: <b>none</b></td>
 
         <td>.key file; default: <b>none</b></td>
 
         <td>File containing private key for this client. This file needs to be not encrypted.</td>
 
         <td>File containing private key for this client. This file needs to be not encrypted.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>Pre-shared key based: Pre-Shared-Key</td>
+
       <td><span style="color:darkred">Pre-shared key based:</span> Pre-Shared-Key</td>
 
       <td>string; default: <b>none</b></td>
 
       <td>string; default: <b>none</b></td>
 
       <td>The pre-shared-key in hex format with no leading "0x".</td>
 
       <td>The pre-shared-key in hex format with no leading "0x".</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>Pre-shared key based: Identity</td>
+
       <td><span style="color:darkred">Pre-shared key based:</span> Identity</td>
 
       <td>string; default: <b>none</b></td>
 
       <td>string; default: <b>none</b></td>
 
       <td>The identity of this client. May be used as the username depending on the server settings.</td>
 
       <td>The identity of this client. May be used as the username depending on the server settings.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>Use credentials</td>
+
       <td>Use Credentials</td>
       <td>off {{!}} <span style="color:darkgreen">on</span>; default: '''off'''</td>
+
       <td>off | <span style="color:darkgreen">on</span>; default: '''off'''</td>
 
       <td>Enables use of username and password for authentication.</td>
 
       <td>Enables use of username and password for authentication.</td>
 
     </tr>
 
     </tr>
Line 432: Line 243:
 
       <td>Password used in authentication.</td>
 
       <td>Password used in authentication.</td>
 
     </tr>
 
     </tr>
   
 
 
</table>
 
</table>
 +
 +
<b>Note</b>: these tables have coloring schemes to indicate which fields can be seen with different configuration.
  
 
[[Category:{{{name}}} Services section]]
 
[[Category:{{{name}}} Services section]]

Revision as of 15:36, 1 June 2020

Template:Networking rutos manual fw disclosure

Summary

Data to Server function provides you with the possibility to set up senders that transfer data collected from Modbus slaves to remote servers.

If you're having trouble finding this page or some of the parameters described here on your device's WebUI, you should turn on "Advanced WebUI" mode. You can do that by clicking the "Advanced" button, located at the top of the WebUI.

Networking rutos manual webui basic advanced mode 75.gif

Data senders

To add a new data sender, click the Add button:

File:Networking rutx manual data to server data senders v1.png

Configure data sender


When you add a new data sender, you will be redirected to its configuration window. The figure below is an example of that window and the table below provides information on the fields that it contains:

File:Networking rutx manual data to server advanced sender settings v1.png

General

Field Value Description
Enabled off | on; default: off Enables or disables data sender.
Name string; default: none Name of the data sender. Used for easier data senders management purposes only (optional).
Protocol HTTP(S) | MQTT; default: HTTP(S) Protocol used for sending the data to server.
JSON format string; default: {"TS": "%t", "D": "%d", "data": %a} You can fully customize JSON segment, possible values:
  • Date (Linux timestamp) - %t
  • Date (Day/Month/Year Hour:Minute:Second) - %d
  • Modbus slave ID - %i
  • Modbus slave IP - %p
  • Start register - %s
  • Register data (JSON object) - %a
Segment count integer [1..10]; default: 1 Max segment count in one JSON string sent to server.
URL/Host/Connection string string; default: none URL for HTTP(S); Host for MQTT; Connection string for Azure MQTT.
Period integer [1..86400]; default: 60 Interval for sending the collected data to server (in seconds, 1-86400)
Data filtering All data | By slave ID | By slave IP; default: All data Choose which data this sender will send to server.
By slave ID: Slave ID integer [1..255]; default: none Data will be sent to server only from slave device with this modbus ID (1-255).
By slave IP: Slave IP ip; default: none Data will be sent to server from slave device with this IP address only (Modbus TCP slaves only).
Retry on fail off | on; default: off In case of a failed attempt, retry to send the same data to server later (Retry until successful).


Protocol HTTP(S)

Field Value Description
Custom Header string; default: none Allows to add custom headers to the HTTP requests.
Use TLS off | on; default: off Enables the use of TSL certificates.
On: TLS type Certificate based; default: Certificate based Select type of TLS.
On: A File .ca file; default: none Certificate authority is an entity that issues digital certificates. A digital certificate certifies the ownership of a public key by the named subject of the certificate.
On: Client Certificate .crt file; default: none Certificate file is a type of digital certificate that is used by client systems to make authenticated requests to a remote server. If client certificate is not needed, leave both client certificate and client key fields empty.
On: Private Key .key file; default: none File containing private key for this client. This file needs to be not encrypted.


Protocol MQTT

Field Value Description
Port integer [0..65535]; default: 1883 Port number for connecting to MQTT.
Keepalive integer [1..640]; default: 60 MQTT Keepalive period in seconds.
Topic string; default: none MQTT topic to be used for publishing the data.
QoS integer [0..2]; default: 0 MQTT Quality of Service. Allowed values:
  • 0 - when we prefer that the message will not arrive at all rather than arrive twice,
  • 1 - when we want the message to arrive at least once but don't care if it arrives twice (or more),
  • 2 - when we want the message to arrive exactly once. A higher QoS value means a slower transfer.
Use TLS off | on; default: off Enables the use of TSL certificates.
On: TLS type Certificate based | Pre-shared key based; default: Certificate based Select type of TLS.
Certificate based: CA File .ca file; default: none Certificate authority is an entity that issues digital certificates. A digital certificate certifies the ownership of a public key by the named subject of the certificate.
Certificate based: Client Certificate .crt file; default: none Certificate file is a type of digital certificate that is used by client systems to make authenticated requests to a remote server. If client certificate is not needed, leave both client certificate and client key fields empty.
Certificate based: Private Key .key file; default: none File containing private key for this client. This file needs to be not encrypted.
Pre-shared key based: Pre-Shared-Key string; default: none The pre-shared-key in hex format with no leading "0x".
Pre-shared key based: Identity string; default: none The identity of this client. May be used as the username depending on the server settings.
Use Credentials off | on; default: off Enables use of username and password for authentication.
On: Username string; default: none Username used in authentication.
On: Password string; default: none Password used in authentication.

Note: these tables have coloring schemes to indicate which fields can be seen with different configuration.

[[Category:{{{name}}} Services section]]