|
|
| (104 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>
| |
| ==Introduction==
| |
| This article contains instructions on how to send M-Bus data to the server using various protocols.
| |
|
| |
|
| ==Configuration overview and 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 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.
| |
| [[File:TRB143 advanced.gif|border|center|class=tlt-border|1004x1004px]]
| |
|
| |
| ==Node-RED installation and setup==
| |
|
| |
| 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:
| |
| <pre>
| |
| node -v
| |
| </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:
| |
| [[File:Use server address in web browser.png|border|500px|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:
| |
| *node-red-contrib-aedes
| |
| *node-red-contrib-mqtt-broker
| |
|
| |
| [[File:Manage palette and download these mqtt nodes.png|border|500px|class=tlt-border]]
| |
|
| |
| ==Configuration==
| |
|
| |
| ===M-Bus Data to Server via MQTT===
| |
| ----
| |
| 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====
| |
| ----
| |
| [[File:Mbus data to server MQTT renewed.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:''' enter '''address of server''';
| |
| # '''Port:''' enter '''server port''';
| |
| # '''Topic''': enter '''desired''' '''topic name''';
| |
| ====M-Bus configuration====
| |
| ----
| |
| [[File:M bus configuration correct.png|border|class=tlt-border|904x904px]]
| |
|
| |
| # '''Enable''' M-Bus;
| |
| # '''ID''': Enter desired '''instance name''';
| |
| # '''Add''';
| |
|
| |
| [[File:M bus instance creation.png|border|class=tlt-border|904x904px]]
| |
|
| |
| # '''Enable''' instance;
| |
| # '''Name''': Enter your '''desired name''';
| |
| #'''Period''': Enter '''desired period''';
| |
|
| |
| [[File:HEX data type.png|border|class=tlt-border|904x904px]]
| |
|
| |
| # '''Enable''' request configuration;
| |
| # '''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;
| |
| * '''MQTT in block''' - mbus;
| |
| * '''Debug''' - debug 2;
| |
| [[File:Node-rs-topology.png|border|center|class=tlt-border|654x654px]]
| |
| ----
| |
|
| |
| [[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''';
| |
| 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>
| |
|
| |
| ----
| |
| [[File:Node-red-subscriber-configuration.png|border|class=tlt-border|1094x1094px]]
| |
|
| |
| # '''Edit:''' Configure MQTT-Broker node;
| |
| # '''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;
| |
|
| |
| ====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===
| |
| ----
| |
| 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====
| |
| ----
| |
| [[File:Mbus XML data type.png|border|class=tlt-border|954x954px]]
| |
|
| |
| # '''Enable''' request configuration;
| |
| # '''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====
| |
| ----
| |
| [[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: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''';
| |
|
| |
|
| |
| Everything else can be left as default.
| |
| </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==
| |