Domnev: Difference between revisions

From Teltonika Networks Wiki
No edit summary
No edit summary
 
(99 intermediate revisions by the same user not shown)
Line 1: Line 1:
<p style="color:red">The information in this page is updated in accordance with 00.07.03.1 firmware version .</p>
<p style="color:red">The information on this page is updated in accordance with the [https://wiki.teltonika-networks.com/view/FW_%26_SDK_Downloads'''00.07.08'''] firmware version .</p>
==Introduction==
__TOC__
==Summary==
This article contains instructions on how to send M-Bus data to the server using various protocols.
This article contains instructions on how to send M-Bus data to the server using various protocols.


==Configuration overview and prerequisites==
==Configuration overview & prerequisites==
 
Before we begin, let's take a look at the configuration that we are attempting to achieve and the prerequisites that make it possible.
Before we begin, let's take a look at the configuration that we are attempting to achieve and the prerequisites that make it possible.


Line 13: Line 13:
* An end device (PC, Laptop, Tablet, Smartphone) for configuration;
* An end device (PC, Laptop, Tablet, Smartphone) for configuration;


If you're having trouble finding any 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 '''"Basic"''' button '''under''' '''"Mode,"''' which is located at the top-right corner of the WebUI.
{{Template:Networking_rutos_manual_basic_advanced_webui_disclaimer
[[File:TRB143 advanced.gif|border|center|class=tlt-border|1004x1004px]]
| series = RUTX
}}


==Node-RED installation and setup==
==Adding M-Bus devices==
The '''[[TRB143_M-Bus|M-Bus Settings]]''' section is used to configure the general service functionality. To set up a new M-Bus instance, go to '''Services → M-Bus → Client'''. Add a new device to the configuration press [[File:Add Button.png|60x90px]] button which is shown below.


We are going to set up Node-RED in a Linux virtual machine. For Node-RED to work, you would need to install Node.js version 14.00 or higher. If you already have Node.js installed, verify the Node.js version using this command:
[[File:Mbus adding new device.png||border|class=tlt-border]]
<pre>
 
node -v
===Device configuration===
</pre>
If you do not have Node.js installed, run these commands to install it:
<pre>
sudo apt install curl
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash –
sudo apt-get install -y nodejs
</pre>
Once we have Node.js installed, we can install Node-RED. Use this command to install:
<pre>
sudo npm install -g –unsafe-perm node-red
</pre>
Use the command '''''node-red''''' to start a local server. Here is how the terminal should look like if the server starts correctly:
[[File:Server is running node red terminal.png|border|600px|class=tlt-border]]
----
----
Once you have the local server running, use the local IP and port number in your internet browser. In this case, we are using 127.0.0.1:1880:
You will be granted to a new window. Configure your M-Bus device accordingly:
[[File:Use server address in web browser.png|border|500px|class=tlt-border]]
 
# '''Name''': Enter the desired name of the M-Bus device
# '''Address type''': select which M-Bus address will be used
# '''Primary/Secondary address''': specify M-Bus address
 
[[File:Mbus adding new device configuration v3.png|border|class=tlt-border]]


For MQTT usage, we are going to need MQTT-specific nodes. Use the side menu to navigate to the Manage Palette section and install these nodes:
Test if the M-Bus device is reachable by a specified primary/secondary address. To do so click on [[File:Ping_device_option_mbus.png|110x110px]]. You might get on of two outputs:
*node-red-contrib-aedes
*node-red-contrib-mqtt-broker


[[File:Manage palette and download these mqtt nodes.png|border|500px|class=tlt-border]]
* If you have specified correct primary/secondary address, you will receive:
[[File:Mbus device pingable v2.png|border|class=tlt-border|300px]]


==Configuration==
* If you have specified incorrect primary/secondary address, you will receive (if you do not know what address should be used, refer to the Scanning for available M-Bus devices (PRIDET URL) secion:
[[File:Mbus device not pingable v2.png|border|class=tlt-border|300px]]


===M-Bus Data to Server via MQTT===
Once finished, save the configuration by clicking [[File:Savenapply button.png|Savenapply button.png]].
 
===Scanning for available M-Bus devices===
----
----
This section contains information on how to send M-Bus data to the server on Node-RED using the MQTT protocol.
 
====Data to Server configuration====
If you are not sure what address your M-Bus devices have, you can try scanning for the available M-Bus devices. To do so click on [[File:Scan button.png]] button.
 
====Scan settings====
----
----
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. This section will walk you through configuring the Data to Server to send M-Bus data to the Node-RED server. To configure Data to Server, '''access the router's WebUI''' and navigate to '''Services''', then '''Data to Server''':
You will be granted to a new window. Configure scan settings accordingly:


# '''Enable''' instance;
# '''Scan type''': select which M-Bus address will be scanned
# '''Name:''' Enter '''desired''' '''instance name''';
# '''Scan range''': From what M-Bus address scanning will start and M-Bus address until scanning will be performed.
# '''Data source:''' M-bus;
[[File:Mbus scan.png|border|class=tlt-border]]
# '''Protocol:''' MQTT;
# '''JSON format:''' Enter what '''data''' you would like '''to send''';
# '''URL/Host/Connection string:''' Enter '''address of server''';
# '''Port:''' Enter '''server port''';
# '''Topic''': Enter '''desired''' '''topic name'''


[[File:Mbus data to server MQTT renewed.png|border|class=tlt-border|1094x1094px]];
To start the scan click on [[File:Start scan button.png]] button.


====M-Bus configuration====
====Found devices====
----
----
The '''M-Bus Settings''' section is used to configure the general service functionality. To set up a new M-Bus instance, go to '''Services → M-Bus:'''
Once the scan is finished you should see the list of M-Bus devices that TRB143 were able to find:


# '''Enable''' M-Bus;
[[File:Mbus scanned devices add.png|border|class=tlt-border]]
# '''ID''': Enter desired '''instance name''';
# '''Add''';


[[File:M bus configuration correct.png|border|class=tlt-border|904x904px]]
You can either [[File:Pencil2.png]] '''(1)''' M-Bus devices primary address or [[File:Add Button.png|60x90px]] '''(2)''' to the M-Bus devices list.


After this, you should be redirected to the configuration page for the M-Bus instance:
==Gathering M-Bus data==


[[File:M bus instance creation.png|border|class=tlt-border|904x904px]]
If the device successfully added to the list, under the General settings you should see that the Status changes to <span style="color:green">Active</span>.


# '''Enable''' instance;
[[File:Mbus status active v2.png|border|class=tlt-border]]
# '''Name''': Enter your '''desired name''';
 
#'''Period''': Enter '''desired period''';
===Data collecting groups===
At the bottom of the M-Bus instance, you should see the Request Configuration section. It is used to configure requests from M-Bus devices.  
----
To reach data collecting groups configuration press [[File:Pencil2.png]] button. [[File:Add Button.png|60x90px]] button lets you to create a new instance.


[[File:HEX data type.png|border|class=tlt-border|904x904px]]
[[File:Mbus data collect overview.png|border|class=tlt-border]]


# '''Enable''' request configuration;
====Data collecting group instance====
# '''Slave address:''' Enter '''desired slave address''';
# '''Data type:''' Select desired data type (this time we will be using '''HEX''');
# '''Save & apply''' changes.
====Node-RED configuration====
----
----
Below you can see the Node-Red block diagram that is used to receive data:
 
* '''aedes broker block''' - Broker;
Each data collection group contains the following information. Configure device accordingly:
* '''MQTT in block''' - mbus;
 
* '''Debug''' - debug 2;
# '''Enabled''': on
[[File:Node-rs-topology.png|border|center|class=tlt-border|654x654px]]
# '''Name''': desired name of the instance
# '''Period''': desired time duration between data retrievals
# '''Data type''': desired data type to process the received data. Depending on your needs you can select between 5 different data types: '''JSON, XML, ASCII, Hexadecimal''' and '''Binary'''.
 
[[File:Mbus data collect group v2.png|border|class=tlt-border]]
 
You can check if your configuration works accordingly by pressing the [[File:Mbus test button.png]] button. You should see the data in a pop-up field:
 
[[File:Mbus TEST output.png|border|class=tlt-border]]
 
====Group values====
----
----
To reach group values configuration press [[File:Pencil2.png]] button:
[[File:Mbus edit group values.png|border|class=tlt-border]]
There you can adjust additional settings:
# '''Enable''': Enable/disable data group value.
# '''FCB toggle''': FCB (Frame Count-Bit), one-bit counter for reliable server-client communication.
# '''Manufacturer information''': Select to include manufacturer information in the payload.
# '''Selected parameters''': Select to include the all parameters saved from device, or a custom subset of them. If the custom is selected you can specify '''frame''', '''record''' numbers and also a '''paramater'''
[[File:Mbus device groupsa.png|border|class=tlt-border]]


[[File:Node-red-broker-new.png|border|left|class=tlt-border|474x474px|left]]
[[File:Node-red-debug-new.png|border|right|class=tlt-border|474x474px|right]]
<table class="nd-othertables_2" style="display: inline-table;">
    <tr>
        <td width=755; style="border-bottom: 1px solid white;">
# '''MQTT Port''': 1883;
# '''WS Bind''': port;
# '''Done''';
</td>
<td width=755; style="border-bottom: 1px solid white;">
# '''Output''': msg. payload;
# '''To''': debug window;
# '''Done''';
</td>
    </tr>
</table>


==Sending data to the server==
The '''[[TRB143_Data_to_Server|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. This section will walk you through configuring the Data to Server to send M-Bus data to the desired HTTP or MQTT server.
===Data to Server configuration===
----
----
[[File:Node-red-subscriber-configuration.png|border|class=tlt-border|1094x1094px]]
To set up Data to Server, navigate to Services → Data to Server. Enter desired name of the instnace and hit [[File:Add Button.png|60x90px]] button which is shown below.
 
[[File:Mbus data to server create.png|border|class=tlt-border]]


# '''Edit:''' Configure MQTT-Broker node;
===Data configuration===
# '''Name''': Enter '''desired MQTT-Broker nodes name;'''
# '''Server''': '''127.0.0.1''' as we will be using '''Node-RED as MQTT-Broker''';
# '''Port''': 1883;
# '''Update''': Save the changes;
# '''Server''': Select '''MQTT-Broker''' that you have '''just created''';
# '''Action''': Subscribe to single topic;
# '''Topic''': Enter the '''topic''' that you have '''set in Data to Server configuration''';
# '''Qos''': 0;
# '''Output''': Auto-Detect;
# '''Update''': Save the changes;
====Results====
----
----
If you have taken all of the steps described above, the configuration is complete. Below you can see M-Bus data output in HEX format.
[[File:MQTT broker HEX data.png|border|class=tlt-border|404x404px]]


===M-Bus Data to Server Via HTTP===
Each data collection group contains the following information. Configure device accordingly:
 
# '''Name''': desired name of the instance
# '''Type''': M-Bus data
# '''Format''': custom or JSON depending on a need.
 
[[File:Mbus data to server configuration.png|border|class=tlt-border]]
 
 
Once finished configuring Data configuration tab click on [[File:Mbus data to server collection edit.png|160x160px]] button.
 
===Collection configuration===
----
----
This section contains information on how to send M-Bus data to the server on Node-RED using the HTTP protocol.
 
====Data to Server configuration====
[[File:Mbus data to server collection configuration.png|border|class=tlt-border]]
 
Once finished configuring Collection configuration tab click on [[File:Mbus data to server server button.png|160x160px]] button.
 
===Server configuration===
----
----
[[File:Mbus HTTP data to server config.png|border|class=tlt-border|1094x1094px]]
This section contains information on how to configure MQTT and HTTP servers information.
# '''Enable''' instance;
 
# '''Name:''' Enter '''desired''' '''instance name''';
====HTTP configuration====
# '''Data source:''' M-bus;
# '''Protocol:''' HTTP;
# '''JSON format:''' Enter what '''data''' you would like '''to send''';
# '''URL/Host/Connection string:''' Enter '''address of server''' and '''port''';
====M-Bus configuration====
----
----
[[File:Mbus XML data type.png|border|class=tlt-border|954x954px]]


# '''Enable''' request configuration;
# '''Type''': HTTP
# '''Slave address:''' Enter '''desired slave address;'''
# '''Server address''': desired server address
# '''Data type:''' Select desired data type (this time we will be using '''XML''');
 
# '''Save & apply''' changes.
'''Note''': not specified fields are optional.
====Node-RED configuration====
 
[[File:Mbus data to server HTTP configuration.png|border|class=tlt-border]]
 
====MQTT configuration====
----
----
Below you can see the Node-Red block diagram that is used to receive data:
 
* '''TCP in block''' - tcp:8080;
# '''Type''': MQTT
* '''Debug''' - debug;
# '''Server address''': desired server address
[[File:HTTP node-red.png|border|class=tlt-border|center|514x514px]]
# '''Topic''': MQTT topic to be used for publishing the data.
 
'''Note''': not specified fields are optional.
 
[[File:Mbus data to server MQTT configuration.png|border|class=tlt-border]]
 
Once finished configuring Server configuration tab click on [[File:Savenapply button.png|Savenapply button.png]] button.
 
===Results===
----
----
[[File:HTTP node-RED block config.png|border|left|class=tlt-border|474x474px|left]]
 
[[File:Node-red-debug-new.png|border|right|class=tlt-border|534x534px|right]]
[[File:Mbus data received v2.png|border|class=tlt-border]]
<table class="nd-othertables_2" style="display: inline-table;">
 
    <tr>
'''Note''': received data formating depends on the settings you apply under Data to Server and M-Bus configurations.
        <td width=755; style="border-bottom: 1px solid white;">
# '''Type''': Listen on;
# '''Port''': 8080;
# '''Output''': Stream of String;
# '''Done''';
</td>
<td width=755; style="border-bottom: 1px solid white;">
# '''Output''': msg. payload;
# '''To''': debug window;
# '''Done''';
</td>
    </tr>
</table>
====Results====
----
If you have taken all of the steps described above, the configuration is complete. Below you can see M-Bus data output in XML format.
[[File:XML data Mbus.png|border|class=tlt-border|304x304px]]
===MQTT broker===
This section contains information on how to send M-Bus data to the server on Node-RED using a Teltonika router as a MQTT broker.
----
====Data to Server configuration====
----
[[File:MQTT broker data to server config.png|border|class=tlt-border|1094x1094px]]
# '''Enable''' instance;
# '''Name:''' Enter '''desired instance name''';
# '''Data source:''' M-bus;
# '''Protocol:''' MQTT;
# '''JSON format:''' Enter what '''data''' you would like '''to send''';
# '''URL/Host/Connection string:''' Localhost IP;
# '''Port:''' enter '''server port''';
# '''Topic''': enter '''desired topic name''';
====MQTT broker configuration====
----
[[File:Mbus MQTT Broker.png|border|class=tlt-border|954x954px]]
# '''MQTT broker''': On;
# '''Local port''': 1883;
====M-Bus configuration====
----
[[File:Mbus BIN data type.png|border|class=tlt-border|854x854px]]
# '''Enable''' request configuration;
# '''Slave address''': Enter '''desired slave address''';
# '''Data type''': Select desired data type (this time we will be using '''BIN''');
# '''Save & apply''' changes.
====Node-RED configuration====
----
====Results====
----
If you have taken all of the steps described above, the configuration is complete. Below you can see M-Bus data output in BIN format.
[[File:MQTT BIN data.png|border|class=tlt-border|304x304px]]
==See Also==
* [[TRB143_M-Bus|M-Bus]]
* [[TRB143_Data_to_Server|Data to Server]]
* [[TRB143_MQTT#MQTT_Broker|MQTT Broker]]
==External links==

Latest revision as of 07:20, 25 October 2024

The information on this page is updated in accordance with the 00.07.08 firmware version .

Summary

This article contains instructions on how to send M-Bus data to the server using various protocols.

Configuration overview & prerequisites

Before we begin, let's take a look at the configuration that we are attempting to achieve and the prerequisites that make it possible.

Prerequisites:

  • TRB143;
  • M-Bus device;
  • Server;
  • An end device (PC, Laptop, Tablet, Smartphone) for configuration;

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.

Adding M-Bus devices

The M-Bus Settings section is used to configure the general service functionality. To set up a new M-Bus instance, go to Services → M-Bus → Client. Add a new device to the configuration press button which is shown below.

Device configuration


You will be granted to a new window. Configure your M-Bus device accordingly:

  1. Name: Enter the desired name of the M-Bus device
  2. Address type: select which M-Bus address will be used
  3. Primary/Secondary address: specify M-Bus address

Test if the M-Bus device is reachable by a specified primary/secondary address. To do so click on . You might get on of two outputs:

  • If you have specified correct primary/secondary address, you will receive:

  • If you have specified incorrect primary/secondary address, you will receive (if you do not know what address should be used, refer to the Scanning for available M-Bus devices (PRIDET URL) secion:

Once finished, save the configuration by clicking Savenapply button.png.

Scanning for available M-Bus devices


If you are not sure what address your M-Bus devices have, you can try scanning for the available M-Bus devices. To do so click on button.

Scan settings


You will be granted to a new window. Configure scan settings accordingly:

  1. Scan type: select which M-Bus address will be scanned
  2. Scan range: From what M-Bus address scanning will start and M-Bus address until scanning will be performed.

To start the scan click on button.

Found devices


Once the scan is finished you should see the list of M-Bus devices that TRB143 were able to find:

You can either (1) M-Bus devices primary address or (2) to the M-Bus devices list.

Gathering M-Bus data

If the device successfully added to the list, under the General settings you should see that the Status changes to Active.

Data collecting groups


To reach data collecting groups configuration press button. button lets you to create a new instance.

Data collecting group instance


Each data collection group contains the following information. Configure device accordingly:

  1. Enabled: on
  2. Name: desired name of the instance
  3. Period: desired time duration between data retrievals
  4. Data type: desired data type to process the received data. Depending on your needs you can select between 5 different data types: JSON, XML, ASCII, Hexadecimal and Binary.

You can check if your configuration works accordingly by pressing the button. You should see the data in a pop-up field:

Group values


To reach group values configuration press button:

There you can adjust additional settings:

  1. Enable: Enable/disable data group value.
  2. FCB toggle: FCB (Frame Count-Bit), one-bit counter for reliable server-client communication.
  3. Manufacturer information: Select to include manufacturer information in the payload.
  4. Selected parameters: Select to include the all parameters saved from device, or a custom subset of them. If the custom is selected you can specify frame, record numbers and also a paramater


Sending data to the server

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. This section will walk you through configuring the Data to Server to send M-Bus data to the desired HTTP or MQTT server.

Data to Server configuration


To set up Data to Server, navigate to Services → Data to Server. Enter desired name of the instnace and hit button which is shown below.

Data configuration


Each data collection group contains the following information. Configure device accordingly:

  1. Name: desired name of the instance
  2. Type: M-Bus data
  3. Format: custom or JSON depending on a need.


Once finished configuring Data configuration tab click on button.

Collection configuration


Once finished configuring Collection configuration tab click on button.

Server configuration


This section contains information on how to configure MQTT and HTTP servers information.

HTTP configuration


  1. Type: HTTP
  2. Server address: desired server address

Note: not specified fields are optional.

MQTT configuration


  1. Type: MQTT
  2. Server address: desired server address
  3. Topic: MQTT topic to be used for publishing the data.

Note: not specified fields are optional.

Once finished configuring Server configuration tab click on Savenapply button.png button.

Results


Note: received data formating depends on the settings you apply under Data to Server and M-Bus configurations.