Line 18: |
Line 18: |
| ==Node-RED installation and setup== | | ==Node-RED installation and setup== |
| | | |
− | We are going to set up Node-RED in 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 Node.js version using this command: | + | 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> | | <pre> |
| node -v | | node -v |
Line 32: |
Line 32: |
| sudo npm install -g –unsafe-perm node-red | | sudo npm install -g –unsafe-perm node-red |
| </pre> | | </pre> |
− | Use the command ''node-red'' to start a local server. Here is how the terminal should look like if the server starts correctly: | + | 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]] | | [[File:Server is running node red terminal.png|border|600px|class=tlt-border]] |
| ---- | | ---- |
Line 38: |
Line 38: |
| [[File:Use server address in web browser.png|border|500px|class=tlt-border]] | | [[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 Manage Palette section and install these nodes: | + | 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-aedes |
| *node-red-contrib-mqtt-broker | | *node-red-contrib-mqtt-broker |
Line 48: |
Line 48: |
| ===M-Bus Data to Server via MQTT=== | | ===M-Bus Data to Server via MQTT=== |
| ---- | | ---- |
− | This sections contains information on how to send M-Bus data to the server on Node-RED using MQTT protocol. | + | 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==== | | ====Data to Server configuration==== |
| ---- | | ---- |
Line 54: |
Line 54: |
| | | |
| # '''Enable''' instance; | | # '''Enable''' instance; |
− | # '''Name:''' enter desired instance name; | + | # '''Name:''' enter '''desired''' '''instance name'''; |
| # '''Data source:''' M-bus; | | # '''Data source:''' M-bus; |
| # '''Protocol:''' MQTT; | | # '''Protocol:''' MQTT; |
− | # '''JSON format:''' enter what data you would like to send; | + | # '''JSON format:''' enter what '''data''' you would like '''to send'''; |
− | # '''URL/Host/Connection string:''' enter address of server; | + | # '''URL/Host/Connection string:''' enter '''address of server'''; |
− | # '''Port:''' enter server port; | + | # '''Port:''' enter '''server port'''; |
− | # '''Topic''': enter desired topic name; | + | # '''Topic''': enter '''desired''' '''topic name'''; |
| ====M-Bus configuration==== | | ====M-Bus configuration==== |
| ---- | | ---- |
Line 66: |
Line 66: |
| | | |
| # '''Enable''' M-Bus; | | # '''Enable''' M-Bus; |
− | # Enter desired '''instance name'''; | + | # '''ID''': Enter desired '''instance name'''; |
| # '''Add'''; | | # '''Add'''; |
| | | |
Line 72: |
Line 72: |
| | | |
| # '''Enable''' instance; | | # '''Enable''' instance; |
− | # '''Period''': enter desired period; | + | # '''Name''': Enter your '''desired name'''; |
− | # BLOGAS - NAME NEREIKIA
| + | #'''Period''': Enter '''desired period'''; |
| | | |
| [[File:HEX data type.png|border|class=tlt-border|904x904px]] | | [[File:HEX data type.png|border|class=tlt-border|904x904px]] |
| | | |
| # '''Enable''' request configuration; | | # '''Enable''' request configuration; |
− | # '''Slave address:''' enter desired slave address; | + | # '''Slave address:''' Enter '''desired slave address'''; |
− | # '''Data type:''' select desired data type (this time we will be using '''HEX'''); | + | # '''Data type:''' Select desired data type (this time we will be using '''HEX'''); |
| # '''Save & apply''' changes. | | # '''Save & apply''' changes. |
| | | |
| ====Node-RED configuration==== | | ====Node-RED configuration==== |
| ---- | | ---- |
− | Below you can see Node-Red block diagram that is used to receive data: | + | Below you can see the Node-Red block diagram that is used to receive data: |
− | * aedes broker | + | * '''aedes broker block''' - Broker; |
− | * MQTT in | + | * '''MQTT in block''' - mbus; |
− | * Debug | + | * '''Debug''' - debug 2; |
| [[File:Node-rs-topology.png|border|center|class=tlt-border|654x654px]] | | [[File:Node-rs-topology.png|border|center|class=tlt-border|654x654px]] |
| ---- | | ---- |
Line 113: |
Line 113: |
| [[File:Node-red-subscriber-configuration.png|border|class=tlt-border|1094x1094px]] | | [[File:Node-red-subscriber-configuration.png|border|class=tlt-border|1094x1094px]] |
| | | |
− | # '''Edit:Configure''' MQTT-Broker node; | + | # '''Edit:''' Configure MQTT-Broker node; |
− | # '''Name''': Enter desired MQTT-Broker nodes name: | + | # '''Name''': Enter '''desired MQTT-Broker nodes name;''' |
− | # '''Server''': 127.0.0.1 as we will be using Node-RED as MQTT-Broker; | + | # '''Server''': '''127.0.0.1''' as we will be using '''Node-RED as MQTT-Broker'''; |
| # '''Port''': 1883; | | # '''Port''': 1883; |
| # '''Update''': Save the changes; | | # '''Update''': Save the changes; |
− | # '''Server''': Select MQTT-Broker that you have just created; | + | # '''Server''': Select '''MQTT-Broker''' that you have '''just created'''; |
| # '''Action''': Subscribe to single topic; | | # '''Action''': Subscribe to single topic; |
− | # '''Topic''': Enter the topic that you have set in Data to Server configuration; | + | # '''Topic''': Enter the '''topic''' that you have '''set in Data to Server configuration'''; |
| # '''Qos''': 0; | | # '''Qos''': 0; |
| # '''Output''': Auto-Detect; | | # '''Output''': Auto-Detect; |
Line 126: |
Line 126: |
| ====Results==== | | ====Results==== |
| ---- | | ---- |
− | If you have taken all of the steps described above, the configuration is done. Below you can see M-Bus data output in HEX format. | + | 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]] | | [[File:MQTT broker HEX data.png|border|class=tlt-border|404x404px]] |
| | | |
| ===M-Bus Data to Server Via HTTP=== | | ===M-Bus Data to Server Via HTTP=== |
| ---- | | ---- |
− | This sections contains information on how to send M-Bus data to the server on Node-RED using HTTP protocol. | + | 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==== | | ====Data to Server configuration==== |
| ---- | | ---- |
Line 141: |
Line 141: |
| | | |
| # '''Enable''' request configuration; | | # '''Enable''' request configuration; |
− | # '''Slave address:''' enter desired slave address; | + | # '''Slave address:''' Enter '''desired slave address;''' |
− | # '''Data type:''' select desired data type (this time we will be using '''XML'''); | + | # '''Data type:''' Select desired data type (this time we will be using '''XML'''); |
| # '''Save & apply''' changes. | | # '''Save & apply''' changes. |
| | | |
Line 172: |
Line 172: |
| ====Results==== | | ====Results==== |
| ---- | | ---- |
− | If you have taken all of the steps described above, the configuration is done. Below you can see M-Bus data output in XML format. | + | 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]] | | [[File:XML data Mbus.png|border|class=tlt-border|304x304px]] |
| ===MQTT broker=== | | ===MQTT broker=== |
− | This sections contains information on how to send M-Bus data to the server on Node-RED using Teltonika router as a 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==== | | ====Data to Server configuration==== |
Line 181: |
Line 181: |
| [[File:MQTT broker data to server config.png|border|class=tlt-border|1094x1094px]] | | [[File:MQTT broker data to server config.png|border|class=tlt-border|1094x1094px]] |
| # '''Enable''' instance; | | # '''Enable''' instance; |
− | # '''Name:''' enter desired instance name; | + | # '''Name:''' Enter '''desired instance name'''; |
| # '''Data source:''' M-bus; | | # '''Data source:''' M-bus; |
| # '''Protocol:''' MQTT; | | # '''Protocol:''' MQTT; |
− | # '''JSON format:''' enter what data you would like to send; | + | # '''JSON format:''' Enter what '''data''' you would like '''to send'''; |
| # '''URL/Host/Connection string:''' Localhost IP; | | # '''URL/Host/Connection string:''' Localhost IP; |
− | # '''Port:''' enter server port; | + | # '''Port:''' enter '''server port'''; |
− | # '''Topic''': enter desired topic name; | + | # '''Topic''': enter '''desired topic name'''; |
| ====MQTT broker configuration==== | | ====MQTT broker configuration==== |
| ---- | | ---- |
Line 197: |
Line 197: |
| [[File:Mbus BIN data type.png|border|class=tlt-border|854x854px]] | | [[File:Mbus BIN data type.png|border|class=tlt-border|854x854px]] |
| # '''Enable''' request configuration; | | # '''Enable''' request configuration; |
− | # '''Slave address''': enter desired slave address; | + | # '''Slave address''': Enter '''desired slave address'''; |
− | # '''Data type''': select desired data type (this time we will be using BIN); | + | # '''Data type''': Select desired data type (this time we will be using '''BIN'''); |
| # '''Save & apply''' changes. | | # '''Save & apply''' changes. |
| ====Node-RED configuration==== | | ====Node-RED configuration==== |
Line 204: |
Line 204: |
| ====Results==== | | ====Results==== |
| ---- | | ---- |
− | If you have taken all of the steps described above, the configuration is done. Below you can see M-Bus data output in BIN format. | + | 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]] | | [[File:MQTT BIN data.png|border|class=tlt-border|304x304px]] |
| ==See Also== | | ==See Also== |