Domnev: Difference between revisions

From Teltonika Networks Wiki
No edit summary
No edit summary
 
(103 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====
----
----
[[File:Mbus data to server MQTT renewed.png|border|class=tlt-border|1094x1094px]]
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''';
To start the scan click on [[File:Start scan button.png]] button.
# '''URL/Host/Connection string:''' enter '''address of server''';
 
# '''Port:''' enter '''server port''';
====Found devices====
# '''Topic''': enter '''desired''' '''topic name''';
====M-Bus configuration====
----
----
[[File:M bus configuration correct.png|border|class=tlt-border|904x904px]]
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 instance creation.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.


# '''Enable''' instance;
==Gathering M-Bus data==
# '''Name''': Enter your '''desired name''';
#'''Period''': Enter '''desired period''';


[[File:HEX data type.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''' request configuration;
[[File:Mbus status active v2.png|border|class=tlt-border]]
# '''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====
===Data collecting groups===
----
----
Below you can see the Node-Red block diagram that is used to receive data:
To reach data collecting groups configuration press [[File:Pencil2.png]] button. [[File:Add Button.png|60x90px]] button lets you to create a new instance.
* '''aedes broker block''' - Broker;
 
* '''MQTT in block''' - mbus;
[[File:Mbus data collect overview.png|border|class=tlt-border]]
* '''Debug''' - debug 2;
 
[[File:Node-rs-topology.png|border|center|class=tlt-border|654x654px]]
====Data collecting group instance====
----
----


[[File:Node-red-broker-new.png|border|left|class=tlt-border|474x474px|left]]
Each data collection group contains the following information. Configure device accordingly:
[[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''';
Everything else can be left as default.
</td>
<td width=755; style="border-bottom: 1px solid white;">
# '''Output''': msg. payload;
# '''To''': debug window;
# '''Done''';
Everything else can be left as default.
</td>
    </tr>
</table>


# '''Enabled''': on
# '''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====
----
----
[[File:Node-red-subscriber-configuration.png|border|class=tlt-border|1094x1094px]]
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:


# '''Edit:''' Configure MQTT-Broker node;
# '''Enable''': Enable/disable data group value.
# '''Name''': Enter '''desired MQTT-Broker nodes name;'''
# '''FCB toggle''': FCB (Frame Count-Bit), one-bit counter for reliable server-client communication.
# '''Server''': '''127.0.0.1''' as we will be using '''Node-RED as MQTT-Broker''';
# '''Manufacturer information''': Select to include manufacturer information in the payload.
# '''Port''': 1883;
# '''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'''  
# '''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;


====Results====
[[File:Mbus device groupsa.png|border|class=tlt-border]]
 
 
==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===
----
----
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.
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:MQTT broker HEX data.png|border|class=tlt-border|404x404px]]


===M-Bus Data to Server Via HTTP===
[[File:Mbus data to server create.png|border|class=tlt-border]]
 
===Data 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 HTTP data to server config.png|border|class=tlt-border|1094x1094px]]


====M-Bus configuration====
Each data collection group contains the following information. Configure device accordingly:
----
 
[[File:Mbus XML data type.png|border|class=tlt-border|954x954px]]
# '''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]]
 


# '''Enable''' request configuration;
Once finished configuring Data configuration tab click on [[File:Mbus data to server collection edit.png|160x160px]] button.
# '''Slave address:''' Enter '''desired slave address;'''
# '''Data type:''' Select desired data type (this time we will be using '''XML''');
# '''Save & apply''' changes.


====Node-RED configuration====
===Collection configuration===
----
----
[[File:HTTP node-red.png|border|class=tlt-border|center|514x514px]]


[[File:HTTP node-RED block config.png|border|left|class=tlt-border|474x474px|left]]
[[File:Mbus data to server collection configuration.png|border|class=tlt-border]]
[[File:Node-red-debug-new.png|border|right|class=tlt-border|534x534px|right]]
<table class="nd-othertables_2" style="display: inline-table;">
    <tr>
        <td width=755; style="border-bottom: 1px solid white;">
# '''Type''': Listen on;
# '''Port''': 8080;
# '''Output''': Stream of String;
# '''Done''';
Everything else can be left as default.
</td>
<td width=755; style="border-bottom: 1px solid white;">
# '''Output''': msg. payload;
# '''To''': debug window;
# '''Done''';


Once finished configuring Collection configuration tab click on [[File:Mbus data to server server button.png|160x160px]] button.


Everything else can be left as default.
===Server configuration===
</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.
This section contains information on how to configure MQTT and HTTP servers information.
[[File:XML data Mbus.png|border|class=tlt-border|304x304px]]
 
===MQTT broker===
====HTTP configuration====
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====
 
# '''Type''': HTTP
# '''Server address''': desired server address
 
'''Note''': not specified fields are optional.
 
[[File:Mbus data to server HTTP configuration.png|border|class=tlt-border]]
 
====MQTT configuration====
----
----
[[File:MQTT broker data to server config.png|border|class=tlt-border|1094x1094px]]
 
# '''Enable''' instance;
# '''Type''': MQTT
# '''Name:''' Enter '''desired instance name''';
# '''Server address''': desired server address
# '''Data source:''' M-bus;
# '''Topic''': MQTT topic to be used for publishing the data.
# '''Protocol:''' MQTT;
 
# '''JSON format:''' Enter what '''data''' you would like '''to send''';
'''Note''': not specified fields are optional.
# '''URL/Host/Connection string:''' Localhost IP;
 
# '''Port:''' enter '''server port''';
[[File:Mbus data to server MQTT configuration.png|border|class=tlt-border]]
# '''Topic''': enter '''desired topic name''';
 
====MQTT broker configuration====
Once finished configuring Server configuration tab click on [[File:Savenapply button.png|Savenapply button.png]] button.
 
===Results===
----
----
[[File:Mbus MQTT Broker.png|border|class=tlt-border|954x954px]]
 
# '''MQTT broker''': On;
[[File:Mbus data received v2.png|border|class=tlt-border]]
# '''Local port''': 1883;
 
====M-Bus configuration====
'''Note''': received data formating depends on the settings you apply under Data to Server and M-Bus configurations.
----
[[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.