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

From Teltonika Networks Wiki
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- Template uses {{{name}}}, {{{series}}}, {{{bluetooth}}}-->
+
<!-- Template uses {{{name}}}, {{{series}}}, {{{bluetooth}}}, {{{wifi}}}-->
{{Template:Networking_rutos_manual_fw_disclosure
+
{{Template: Networking_rutos_manual_fw_disclosure
| fw_version = {{{series}}}_R_00.02.04.1
+
| fw_version = {{{series}}}{{#ifeq:{{{name}}}|RUT241|M|}}_R_00.07.01
 
| series    = {{{series}}}
 
| series    = {{{series}}}
 
}}
 
}}
 +
{{#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 RUT9XX_R_00.06.08.5 and earlier) user manual page.</i>|}}
 +
{{#ifeq: {{{series}}} | RUT2 |
 +
{{#switch: {{{name}}}
 +
  | RUT241 =
 +
  | #default =
 +
<br><i><b>Note</b>: <b>[[{{{name}}} Modbus (legacy WebUI)#Modbus Data to Server|click here]]</b> for the old style WebUI (FW version RUT2XX_R_00.01.14.4 and earlier) user manual page.</i>}}
  
 
==Summary==
 
==Summary==
  
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.
+
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.
 +
{{#switch: {{{series}}}
 +
| RUTX =
 +
| TRB1 =
 +
| TRB2 =
 +
| RUT9 =
 +
| #default =
 +
<u><b>
  
 +
Note:</b> On {{{name}}}, Data to Server is additional software that can be installed from the <b>Services → [[{{{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==
  
To add a new data sender, click the '''Add''' button:
+
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_rutx_manual_data_to_server_data_senders_v1.png|border|class=tlt-border]]
+
[[File:Networking_rutos_manual_data_to_server_data_senders_add_button.png|border|class=tlt-border]]
  
===Configure data sender===
+
After this you should be redirected to the newly added data sender's configuration page.
 +
 
 +
===Advanced Sender Settings===
 
----
 
----
 +
Refer to the table below for descriptions on data sender configuration fields.
  
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:
+
<b>Note</b>: these tables have coloring schemes to indicate which fields can be seen with different configuration.
  
[[File:Networking_rutx_manual_data_to_server_advanced_sender_settings_v1.png|border|class=tlt-border]]
+
[[File:Networking_rutos_manual_data_to_server_advanced_sender_settings.png|border|class=tlt-border]]
  
 
====General====
 
====General====
 +
 
<table class="nd-mantable">
 
<table class="nd-mantable">
 
     <tr>
 
     <tr>
Line 35: Line 55:
 
     <tr>
 
     <tr>
 
       <td>Enabled</td>
 
       <td>Enabled</td>
       <td>off {{!}} on; default: '''off'''</td>
+
       <td>off | on; default: <b>off</b></td>
       <td>Enables or disables data sender.</td>
+
       <td>Turns the data sender on or off.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
Line 42: Line 62:
 
       <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>Data source</td>
 
       <td>Data source</td>
       <td>Modbus data {{!}} Bluetooth data; default: '''Bluetooth data'''</td>
+
       <td><span style="color:red">Modbus data</span>{{#ifeq:{{{series}}}|RUT36X|<span class="asterisk">*</span>|}}{{#ifeq:{{{series}}}|RUT30X|<span class="asterisk">*</span>|}} {{#ifeq:{{{bluetooth}}}|1|<nowiki>|</nowiki> <span style="color:green">Bluetooth data</span> |}} {{#ifeq:{{{wifi}}}|1|<nowiki>|</nowiki> WiFi scanner data{{#ifeq: {{{series}}} | RUTX | | <span class="asterisk">*</span>}}|}} | <span style="color:magenta">DNP3</span><span class="asterisk">*</span>; default: <b>Modbus data</b></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>Protocol</td>
 
       <td>Protocol</td>
       <td>HTTP(S) {{!}} MQTT; default: '''HTTP(S)'''</td>
+
       <td>HTTP(S) | MQTT{{#ifeq: {{{series}}} | RUTX || <span class="asterisk">*</span>}} | Kinesis; default: <b>HTTP(S)</b></td>
 
       <td>Protocol used for sending the data to server.</td>
 
       <td>Protocol used for sending the data to server.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
       <td>JSON format</td>
 
       <td>JSON format</td>
       <td>string; default: '''{"TS": "%t", "D": "%d", "data": %a}'''</td>
+
       <td>string; default: </b>{"TS": "%t", "D": "%d", "data": %a}</b></td>
{{#ifeq:{{{bluetooth}}}|1|
+
         <td>Arranges the format of the sent JSON segment.</td>  
        <td>You can fully customize JSON segment.<br>Possible Modbus 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
 
Possible Bluetooth values:
 
* Date (Linux timestamp) - %t
 
* 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..10]; default: '''1'''</td>
+
       <td>integer [1..10]; default: <b>1</b></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>
 +
      <td>Send as object</td>
 +
      <td>off | on; default: <b>off</b></td>
 +
      <td>When turned on, sends JSON segment as object and not as an array element.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
Line 97: Line 95:
 
     <tr>
 
     <tr>
 
       <td>Period</td>
 
       <td>Period</td>
       <td>integer [1..86400]; default: '''60'''</td>
+
       <td>integer [1..86400]; default: <b>60</b></td>
       <td>Interval for sending the collected data to server (in seconds, 1-86400)</td>
+
       <td>Data sending frequency (in seconds).</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td>Data filtering</td>
+
       <td><span style="color:red">Data filtering</span></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>All data | <span style="color:darkred">By slave ID</span> | <span style="color:blue">By slave IP</span>; default: <b>All data</b></td>
       <td>Choose which data this sender will send to server.</td>
+
       <td>If Data source: <span style="color:red">Modbus data</span>. Choose which data this sender will send to server.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
       <td><span style="color:darkred">By slave ID:</span> Slave ID</td>
 
       <td><span style="color:darkred">By slave ID:</span> Slave ID</td>
       <td>integer [1..255]; default: '''none'''</td>
+
       <td>integer [1..255]; default: <b>none</b></td>
       <td>Data will be sent to server only from slave device with this modbus ID (1-255).</td>
+
       <td>ID of the Modbus slave whose collected data will be sent to server.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
       <td><span style="color:blue">By slave IP:</span> Slave IP</td>
 
       <td><span style="color:blue">By slave IP:</span> Slave IP</td>
       <td>ip; default: '''none'''</td>
+
       <td>ip; default: <b>none</b></td>
       <td>Data will be sent to server from slave device with this IP address only (Modbus TCP slaves only).</td>
+
      <td>IP address of the Modbus slave whose collected data will be sent to server (for Modbus TCP slaves).</td>
 +
    </tr>{{#ifeq:{{{bluetooth}}}|1|
 +
    <tr>
 +
      <td><span style="color:green">Data filtering</span></td>
 +
       <td>All data <nowiki>|</nowiki> <span style="color:darkred">By MAC address</span> <nowiki>|</nowiki> <span style="color:blue">By device name</span>; default: <b>All data</b></td>
 +
      <td>If Data source: <span style="color:red">Bluetooth data</span>. Choose which data this sender will send to server.</td>
 +
    </tr>
 +
    <tr>
 +
      <td><span style="color:darkred">By MAC address:</span> MAC address</td>
 +
      <td>mac; default: <b>none</b></td>
 +
      <td>MAC address of bluetooth device whose collected data will be sent to server.</td>
 +
    </tr>
 +
    <tr>
 +
      <td><span style="color:blue">By device name:</span> Device name</td>
 +
      <td>string; default: <b>none</b></td>
 +
      <td>Device name of bluetooth device whose collected data will be sent to server.</td>
 +
    </tr>|}}
 +
    <tr>
 +
      <td><span style="color:magenta">Data filtering</span></td>
 +
      <td>All data <nowiki>|</nowiki> <span style="color:darkred">DNP3 Address</span> <nowiki>|</nowiki> <span style="color:blue">DNP3 IP</span>; default: <b>All data</b></td>
 +
      <td>If Data source: <span style="color:magenta">DNP3</span>. Choose which data this sender will send to server.</td>
 +
    </tr>
 +
    <tr>
 +
      <td><span style="color:darkred">DNP3 Address:</span> DNP3 Address</td>
 +
      <td>integer [0..65519]; default: <b>none</b></td>
 +
      <td>DNP3 address of device whose collected data will be sent to server.</td>
 +
    </tr>
 +
    <tr>
 +
      <td><span style="color:blue">DNP3 IP:</span> DNP3 IP</td>
 +
      <td>ip | domain; default: <b>none</b></td>
 +
      <td>IP address of DNP3 device whose collected data will be sent to server.</td>
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
 
       <td>Retry on fail</td>
 
       <td>Retry on fail</td>
       <td>off {{!}} on; default: '''off'''</td>
+
       <td>off | on; default: <b>off</b></td>
       <td>In case of a failed attempt, retry to send the same data to server later (Retry until successful).</td>
+
       <td>When turned on, the data sender retries failed sending attempts until the are successfully delivered.</td>
 
     </tr>
 
     </tr>
 
</table>
 
</table>
 +
<br>
  
 +
<span class="asterisk">*</span> This is additional software that can be installed from the <b>Services → [[{{{name}}} Package Manager|Package Manager]]</b> page.
 +
====Protocol HTTP(S)====
  
====Protocol HTTP(S)====
 
 
<table class="nd-mantable">
 
<table class="nd-mantable">
 
     <tr>
 
     <tr>
Line 146: Line 176:
 
     </tr>
 
     </tr>
 
     <tr>
 
     <tr>
       <td><span style="color:red">On:</span> A File</td>
+
       <td><span style="color:red">On:</span> 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>
Line 161: Line 191:
 
     </tr>
 
     </tr>
 
</table>
 
</table>
 +
<br>
 +
====Protocol MQTT====
  
 
====Protocol MQTT====
 
 
<table class="nd-mantable">
 
<table class="nd-mantable">
 
     <tr>
 
     <tr>
Line 184: Line 214:
 
         <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>
 +
        <td>Client ID</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>
 
     <tr>
 
     <tr>
Line 244: Line 279:
 
     </tr>
 
     </tr>
 
</table>
 
</table>
 +
</br>
 +
====Protocol Kinesis====
  
<b>Note</b>: these tables have coloring schemes to indicate which fields can be seen with different configuration.
+
<table class="nd-mantable">
 +
    <tr>
 +
        <th>Field</th>
 +
      <th>Value</th>
 +
      <th>Description</th>
 +
    </tr>
 +
    <tr>
 +
      <td>Stream name</td>
 +
      <td>string; default: <b>none</b></td>
 +
      <td>The name of the stream for which to start encrypting records.</td>
 +
    </tr>
 +
    <tr>
 +
      <td>Partition key</td>
 +
      <td>string; default: <b>none</b></td>
 +
      <td>The partition key is used by Kinesis Data Streams as input to a hash function that maps the partitionkey and associated data to a specific shard.</td>
 +
    </tr>
 +
    <tr>
 +
      <td>API version</td>
 +
      <td>positive integer; default: <b>none</b></td>
 +
      <td>Optional. Used version of the Kinesis API.</td>
 +
    </tr>
 +
    <tr>
 +
      <td>Region</td>
 +
      <td>string; default: <b>none</b></td>
 +
      <td>Region code of the Kinesis server.</td>
 +
    </tr>
 +
    <tr>
 +
    <td>Domain</td>
 +
        <td>domain; default: <b>none</b></td>
 +
        <td>Domain of the Kinesis server. E.g. 'amazonaws.com'</td>
 +
    </tr>
 +
    <tr>
 +
    <td>Access key</td>
 +
        <td>string; default: <b>none</b></td>
 +
        <td>Access key ID is a part of Access keys used for authentication.</td>
 +
    </tr>
 +
    <tr>
 +
    <td>Secret key</td>
 +
        <td>string; default: <b>none</b></td>
 +
        <td>Secret access key is a part of Access keys used for authentication.</td>
 +
    </tr>
 +
    <tr>
 +
      <td>Use TLS</td>
 +
      <td>off | <span style="color:red">on</span>; default: '''off'''</td>
 +
      <td>Enables the use of TSL certificates.</td>
 +
    </tr>
 +
    <tr>
 +
      <td><span style="color:red">On:</span> TLS type</td>
 +
      <td>Certificate based; default: '''Certificate based'''</td>
 +
      <td>Select type of TLS.</td>
 +
    </tr>
 +
    <tr>
 +
      <td><span style="color:red">On:</span> CA File</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>
 +
    </tr>
 +
    <tr>
 +
    <td><span style="color:red">On:</span> Client Certificate</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>
 +
    </tr>
 +
    <tr>
 +
    <td><span style="color:red">On:</span> Private Key</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>
 +
    </tr>
 +
</table>
  
 
[[Category:{{{name}}} Services section]]
 
[[Category:{{{name}}} Services section]]

Revision as of 11:33, 6 October 2021

Template:Networking rutos manual fw disclosure

{{#ifeq: {{{series}}} | RUT2 |
Note: [[{{{name}}} Modbus (legacy WebUI)#Modbus Data to Server|click here]] for the old style WebUI (FW version RUT2XX_R_00.01.14.4 and earlier) user manual page.

Summary

The Data to Server feature provides you with the possibility to set up data senders that collect data from various sources and periodically send it to remote servers.

Note: On {{{name}}}, Data to Server is additional software that can be installed from the Services → [[{{{name}}} Package Manager|Package Manager]] page.

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

A Data Sender 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.

Networking rutos manual data to server data senders add button.png

After this you should be redirected to the newly added data sender's configuration page.

Advanced Sender Settings


Refer to the table below for descriptions on data sender configuration fields.

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

Networking rutos manual data to server advanced sender settings.png

General

Field Value Description
Enabled off | on; default: off Turns the data sender on or off.
Name string; default: none Name of the data sender. Used for easier data senders management purposes only (optional).
Data source Modbus data | DNP3*; default: Modbus data Source of the data to be sent to server.
Protocol HTTP(S) | MQTT* | Kinesis; default: HTTP(S) Protocol used for sending the data to server.
JSON format string; default: {"TS": "%t", "D": "%d", "data": %a} Arranges the format of the sent JSON segment.
Segment count integer [1..10]; default: 1 Max segment count in one JSON string sent to server.
Send as object off | on; default: off When turned on, sends JSON segment as object and not as an array element.
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 Data sending frequency (in seconds).
Data filtering All data | By slave ID | By slave IP; default: All data If Data source: Modbus data. Choose which data this sender will send to server.
By slave ID: Slave ID integer [1..255]; default: none ID of the Modbus slave whose collected data will be sent to server.
By slave IP: Slave IP ip; default: none IP address of the Modbus slave whose collected data will be sent to server (for Modbus TCP slaves).
Data filtering All data | DNP3 Address | DNP3 IP; default: All data If Data source: DNP3. Choose which data this sender will send to server.
DNP3 Address: DNP3 Address integer [0..65519]; default: none DNP3 address of device whose collected data will be sent to server.
DNP3 IP: DNP3 IP ip | domain; default: none IP address of DNP3 device whose collected data will be sent to server.
Retry on fail off | on; default: off When turned on, the data sender retries failed sending attempts until the are successfully delivered.


* This is additional software that can be installed from the Services → [[{{{name}}} Package Manager|Package Manager]] page.

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: 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.
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.
Client ID string; default: none Client ID to send with the data. If empty, a random client ID will be generated
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.


Protocol Kinesis

Field Value Description
Stream name string; default: none The name of the stream for which to start encrypting records.
Partition key string; default: none The partition key is used by Kinesis Data Streams as input to a hash function that maps the partitionkey and associated data to a specific shard.
API version positive integer; default: none Optional. Used version of the Kinesis API.
Region string; default: none Region code of the Kinesis server.
Domain domain; default: none Domain of the Kinesis server. E.g. 'amazonaws.com'
Access key string; default: none Access key ID is a part of Access keys used for authentication.
Secret key string; default: none Secret access key is a part of Access keys used for authentication.
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: 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.
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.

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