Changes

498 bytes added ,  13:55, 28 August 2023
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 type is '''router''' and for TRB 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 13: Line 13:  
! style="width: 250px; background: black; color: white;"  | Parameter name
 
! style="width: 250px; background: black; color: white;"  | Parameter name
 
! style="width: 400px; background: black; color: white;"  | Parameter description
 
! style="width: 400px; background: black; color: white;"  | Parameter description
! style="width: 250px; background: black; color: white;"  | Supported devices
+
! style="width: 300; background: black; color: white;"  | Supported devices
    +
|-
 +
! style="text-align: left; vertical-align: top;" | id
 +
| style="text-align: left; vertical-align: top;" | Modem IMEI
 +
| style="text-align: left; vertical-align: top;" | RUT2, RUT9, RUTX, RUT3, TCR1, TRB2
 
|-
 
|-
 
! 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;" | RUT2, 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;" | RUT2, 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;" | RUT2, 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;" | RUT2, 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;" | RUT2, 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;" | RUT2, 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;" | RUT2, 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;" | RUT2, 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, TRB1
 
|-
 
|-
 
! 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;" | RUT2, 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;" | RUT2, RUT9, RUTX, RUT3, TRB1, TRB2
 
|-
 
|-
 
|}
 
|}
Line 81: Line 87:  
==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 90: Line 96:       −
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 102: Line 108:       −
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 119: Line 125:  
==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 129: Line 135:  
In image below is presented example of how to get RUT router serial number:
 
In image below is presented example of how to get RUT router serial number:
   −
[[Image:Configuration examples mqtt router id v7.png|border|class=tlt-border]]
+
[[File:Configuration examples mqtt router id new 1.png|border|class=tlt-border]]
      Line 151: Line 157:  
  $ 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 new 2.png|1100px|border|class=tlt-border]]
 +
 
 +
==External links==
 +
https://mosquitto.org/ - Eclipse Mosquitto official website
   −
[[File:Configuration examples mqtt subscribe publish v5.png|1150px]]
+
[[Category:Router control and monitoring]]

Navigation menu