Changes

87 bytes added ,  12:55, 28 December 2021
no edit summary
Line 1: Line 1: −
Router monitoring via MQTT Linux guide applies to TRBxxx devices and to RUT9xx, RUTXxx routers.
+
Router monitoring via MQTT Linux guide applies to TRB devices and to RUT, TCR routers.
 
==Introduction==
 
==Introduction==
    
'''MQTT (MQ Telemetry Transport or Message Queue Telemetry Transport)''' is an ISO standard (ISO/IEC PRF 20922) publish-subscribe-based messaging protocol. It works on top of the TCP/IP protocol. It is designed for connections with remote locations where a "small code footprint" is required or the network bandwidth is limited. The publish-subscribe messaging pattern requires a message broker.  
 
'''MQTT (MQ Telemetry Transport or Message Queue Telemetry Transport)''' is an ISO standard (ISO/IEC PRF 20922) publish-subscribe-based messaging protocol. It works on top of the TCP/IP protocol. It is designed for connections with remote locations where a "small code footprint" is required or the network bandwidth is limited. The publish-subscribe messaging pattern requires a message broker.  
   −
This article provides a guide on how to configure and use a basic MQTT setup on TRBxxx devices and on RUT9xx, RUTXxx routers.
+
This article provides a guide on how to configure and use a basic MQTT setup on TRB devices and on RUT, TCR routers.
    
==How MQTT works==
 
==How MQTT works==
In general an MQTT connection takes place between two Clients and a Broker. A TRBxxx devices and RUT routers can be Broker, Client or both. The MQTT Publisher(Client) present in TRBxxx devices and RUT routers subscribes to two topics by default: '''<TYPE>/get''' and '''get/<SERIAL>/command'''. Where '''<TYPE>''' is device type, for RUT routers type is '''router''' and for TRB1xxx devices type is '''device'''. Parameter  '''<SERIAL>''' is the router's serial number. When a third party client connects to the Broker, it sends the message '''id''' to the the topic '''<TYPE>/get'''. The publisher then sends a response containing its serial number to the topic '''<TYPE>/id'''. Now that the Client knows the router's or device's serial number it can ask for values of various parameters by sending requests to the topic '''<TYPE>/<SERIAL>/parameter_name'''. The MQTT Publisher can send responses containing values of these system parameters, if device supports that parameter:
+
In general an MQTT connection takes place between two Clients and a Broker. A TRB device and RUT/TCR router can be Broker, Client or both. The MQTT Publisher(Client) present in TRB devices and RUT/TCR routers subscribes to two topics by default: '''<TYPE>/get''' and '''get/<SERIAL>/command'''. Where '''<TYPE>''' is device type, for RUT/TCR routers and TRB2 devices type is '''router''' and for TRB1 devices type is '''device'''. Parameter  '''<SERIAL>''' is the router's serial number. When a third party client connects to the Broker, it sends the message '''id''' to the the topic '''<TYPE>/get'''. The publisher then sends a response containing its serial number to the topic '''<TYPE>/id'''. Now that the Client knows the router's or device's serial number it can ask for values of various parameters by sending requests to the topic '''<TYPE>/<SERIAL>/parameter_name'''. The MQTT Publisher can send responses containing values of these system parameters, if device supports that parameter:
    
{| class="wikitable"
 
{| class="wikitable"
Line 18: Line 18:  
! style="text-align: left; vertical-align: top;" | temperature
 
! style="text-align: left; vertical-align: top;" | temperature
 
| style="text-align: left; vertical-align: top;" | Temperature of the module in 0.1 degrees Celsius
 
| style="text-align: left; vertical-align: top;" | Temperature of the module in 0.1 degrees Celsius
| style="text-align: left; vertical-align: top;" | RUT9xx, RUTXxx, TRB2xx
+
| style="text-align: left; vertical-align: top;" | RUT9, RUTX, RUT3, TCR1, TRB2
 
|-
 
|-
 
! style="text-align: left; vertical-align: top;" | operator
 
! style="text-align: left; vertical-align: top;" | operator
 
| style="text-align: left; vertical-align: top;" | Current operator’s name
 
| style="text-align: left; vertical-align: top;" | Current operator’s name
| style="text-align: left; vertical-align: top;" | RUT9xx, RUTXxx, TRBxxx
+
| style="text-align: left; vertical-align: top;" | RUT9, RUTX, RUT3, TCR1, TRB1, TRB2
 
|-
 
|-
 
! style="text-align: left; vertical-align: top;" | signal
 
! style="text-align: left; vertical-align: top;" | signal
 
| style="text-align: left; vertical-align: top;" | Signal strength in dBm
 
| style="text-align: left; vertical-align: top;" | Signal strength in dBm
| style="text-align: left; vertical-align: top;" | RUT9xx, RUTXxx, TRBxxx
+
| style="text-align: left; vertical-align: top;" | RUT9, RUTX, RUT3, TCR1, TRB1, TRB2
 
|-
 
|-
 
! style="text-align: left; vertical-align: top;" | network
 
! style="text-align: left; vertical-align: top;" | network
 
| style="text-align: left; vertical-align: top;" | Network state
 
| style="text-align: left; vertical-align: top;" | Network state
| style="text-align: left; vertical-align: top;" | RUT9xx, RUTXxx, TRBxxx
+
| style="text-align: left; vertical-align: top;" | RUT9, RUTX, RUT3, TCR1, TRB1, TRB2
 
|-
 
|-
 
! style="text-align: left; vertical-align: top;" | connection
 
! style="text-align: left; vertical-align: top;" | connection
 
| style="text-align: left; vertical-align: top;" | Current connection type (2G, 3G, 4G)
 
| style="text-align: left; vertical-align: top;" | Current connection type (2G, 3G, 4G)
| style="text-align: left; vertical-align: top;" | RUT9xx, RUTXxx, TRBxxx
+
| style="text-align: left; vertical-align: top;" | RUT9, RUTX, RUT3, TCR1, TRB1, TRB2
 
|-
 
|-
 
! style="text-align: left; vertical-align: top;" | wan
 
! style="text-align: left; vertical-align: top;" | wan
 
| style="text-align: left; vertical-align: top;" | WAN IP address
 
| style="text-align: left; vertical-align: top;" | WAN IP address
| style="text-align: left; vertical-align: top;" | RUT9xx, RUTXxx, TRBxxx
+
| style="text-align: left; vertical-align: top;" | RUT9, RUTX, RUT3, TCR1, TRB1, TRB2
 
|-
 
|-
 
! style="text-align: left; vertical-align: top;" | uptime
 
! style="text-align: left; vertical-align: top;" | uptime
 
| style="text-align: left; vertical-align: top;" | System uptime in seconds
 
| style="text-align: left; vertical-align: top;" | System uptime in seconds
| style="text-align: left; vertical-align: top;" | RUT9xx, RUTXxx, TRBxxx
+
| style="text-align: left; vertical-align: top;" |RUT9, RUTX, RUT3, TCR1, TRB1, TRB2
 
|-
 
|-
 
! style="text-align: left; vertical-align: top;" | name
 
! style="text-align: left; vertical-align: top;" | name
 
| style="text-align: left; vertical-align: top;" | Device's device code
 
| style="text-align: left; vertical-align: top;" | Device's device code
| style="text-align: left; vertical-align: top;" | RUT9xx, RUTXxx, TRBxxx
+
| style="text-align: left; vertical-align: top;" | RUT9, RUTX, RUT3, TCR1, TRB1, TRB2
 
|-
 
|-
 
! style="text-align: left; vertical-align: top;" | digital1
 
! style="text-align: left; vertical-align: top;" | digital1
 
| style="text-align: left; vertical-align: top;" | Value of digital input no. 1
 
| style="text-align: left; vertical-align: top;" | Value of digital input no. 1
| style="text-align: left; vertical-align: top;" | RUT9xx
+
| style="text-align: left; vertical-align: top;" | RUT9
 
|-
 
|-
 
! style="text-align: left; vertical-align: top;" | digital2
 
! style="text-align: left; vertical-align: top;" | digital2
 
| style="text-align: left; vertical-align: top;" | Value of digital input no. 2
 
| style="text-align: left; vertical-align: top;" | Value of digital input no. 2
| style="text-align: left; vertical-align: top;" | RUT9xx
+
| style="text-align: left; vertical-align: top;" | RUT9
 
|-
 
|-
 
! style="text-align: left; vertical-align: top;" | analog
 
! style="text-align: left; vertical-align: top;" | analog
 
| style="text-align: left; vertical-align: top;" | Value of analog
 
| style="text-align: left; vertical-align: top;" | Value of analog
| style="text-align: left; vertical-align: top;" | RUT9xx and TRB2xx
+
| style="text-align: left; vertical-align: top;" | RUT9, TRB2
 
|-
 
|-
 
! style="text-align: left; vertical-align: top;" | pin2
 
! style="text-align: left; vertical-align: top;" | pin2
 
| style="text-align: left; vertical-align: top;" | Value of 2's pin state
 
| style="text-align: left; vertical-align: top;" | Value of 2's pin state
| style="text-align: left; vertical-align: top;" | TRB2xx
+
| style="text-align: left; vertical-align: top;" | TRB2
 
|-
 
|-
 
! style="text-align: left; vertical-align: top;" | pin3
 
! style="text-align: left; vertical-align: top;" | pin3
 
| style="text-align: left; vertical-align: top;" | Value of 3's pin state
 
| style="text-align: left; vertical-align: top;" | Value of 3's pin state
| style="text-align: left; vertical-align: top;" | RUT9xx, RUTXxx, TRBxxx
+
| style="text-align: left; vertical-align: top;" | RUT9, RUTX, RUT3, TRB1, TRB2
 
|-
 
|-
 
! style="text-align: left; vertical-align: top;" | pin4
 
! style="text-align: left; vertical-align: top;" | pin4
 
| style="text-align: left; vertical-align: top;" | Value of 4's pin state
 
| style="text-align: left; vertical-align: top;" | Value of 4's pin state
| style="text-align: left; vertical-align: top;" | RUT9xx, RUTXxx, TRBxxx
+
| style="text-align: left; vertical-align: top;" | RUT9, RUTX, RUT3, TRB1, TRB2
 
|-
 
|-
 
|}
 
|}
Line 83: Line 83:  
==Configuring the device==
 
==Configuring the device==
   −
This section will provide an explanation on how to configure an MQTT Broker and MQTT Publisher on a TRBxxx devices and on RUT routers.
+
This section will provide an explanation on how to configure an MQTT Broker and MQTT Publisher on a TRB devices and on RUT/TCR routers.
    
===Broker===
 
===Broker===
Line 92: Line 92:       −
Configuration for a TRBxxx devices and a RUTXxx routers looks like this:
+
Configuration for a TRB device and a RUT/TCR router looks like this:
    
[[Image:Configuration_examples_publisher_new_design.png|border|class=tlt-border]]
 
[[Image:Configuration_examples_publisher_new_design.png|border|class=tlt-border]]
Line 104: Line 104:       −
Configuration for a TRBxxx devices and a RUTXxx routers looks like this:
+
Configuration for a TRB device and a RUT/TCR router looks like this:
    
[[Image:Configuration examples mqtt publisher_new_design.png.png|border|class=tlt-border]]
 
[[Image:Configuration examples mqtt publisher_new_design.png.png|border|class=tlt-border]]
   −
<b>NOTE</b>: If you configuring a TRBxxx devices, it's default hostname is 192.168.2.1.
+
<b>NOTE</b>: If you are configuring a TRB device, default hostname is 192.168.2.1.
      Line 121: Line 121:  
==Subscribing and Publishing==
 
==Subscribing and Publishing==
   −
Now you can use set up Brokers and Clients on your PC. In order to Publish commands and Subscribe to topics on a TRB series devices and RUT routers, you'll need to know the device's '''Serial Number''' and '''TYPE'''. For TRB series device's you'll need to use type : '''device''' and for RUT router's you'll need to use type: '''router'''. Router's serial number you can find in the '''Status → Device''' section of the router's WebUI. For TRB series devices serial number you can find in the '''Status → System''' section of the device WebUI. Or you can subscribe to the topic '''<TYPE>/id''' and publish the message '''id''' to the topic '''<TYPE>/get'''. To do so, enter these commands in separate Terminal windows:
+
Now you can use set up Brokers and Clients on your PC. In order to Publish commands and Subscribe to topics on a TRB series devices and RUT/TCR routers, you'll need to know the device's '''Serial Number''' and '''TYPE'''. For TRB series device's you'll need to use type : '''device''' and for RUT/TCR router's you'll need to use type: '''router'''. Router's serial number you can find in the '''Status → Device''' section of the router's WebUI. For TRB series devices serial number you can find in the '''Status → System''' section of the device WebUI. Or you can subscribe to the topic '''<TYPE>/id''' and publish the message '''id''' to the topic '''<TYPE>/get'''. To do so, enter these commands in separate Terminal windows:
    
'''Subscribe:'''
 
'''Subscribe:'''
Line 153: Line 153:  
  $ mosquitto_pub -h 192.168.1.1 -p 1833 -u user -P pass -t router/get -m uptime
 
  $ mosquitto_pub -h 192.168.1.1 -p 1833 -u user -P pass -t router/get -m uptime
   −
In example below you can see how to subscribe and publish to the topics '''signal strength''' and '''uptime''' on RUT routers:
+
In example below you can see how to subscribe and publish to the topics '''signal strength''' and '''uptime''' on RUT/TCR routers:
    
[[File:Configuration examples mqtt subscribe publish v5.png|1150px]]
 
[[File:Configuration examples mqtt subscribe publish v5.png|1150px]]

Navigation menu