Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
howto:mqtt [2022/12/12 00:55] – created nelginhowto:mqtt [2023/08/04 20:29] – It's "MQTT" digital man
Line 1: Line 1:
-====== Mqtt ======+====== MQTT ======
 This is a bit of a stub for MQTT but it'll help you get going, on Ubuntu at least. This is a bit of a stub for MQTT but it'll help you get going, on Ubuntu at least.
  
Line 6: Line 6:
 Once compiled and installed, run scfg, make some small change and then save. This will now add a mqtt section to main.ini. Change the host and port (default to 127.0.0.1 port 1883) Once compiled and installed, run scfg, make some small change and then save. This will now add a mqtt section to main.ini. Change the host and port (default to 127.0.0.1 port 1883)
  
-apt install mosquitto mosquitto-clients+   sudo apt install mosquitto mosquitto-clients
  
 Additionally, if you wish to use an X based mqtt client to receive messages, install libnss3 and xdg-utils Additionally, if you wish to use an X based mqtt client to receive messages, install libnss3 and xdg-utils
Line 12: Line 12:
 Mosquitto will install and start automatically but you won't see any messages. If you wish to see them, then stop the broker Mosquitto will install and start automatically but you won't see any messages. If you wish to see them, then stop the broker
  
-systemctl stop mosquitto+   sudo systemctl stop mosquitto
  
 and run it manually and run it manually
  
-mosquitto -v+   sudo mosquitto -v 
 + 
 +To continue running as a service CTRL-C to stop mosquitto and then restart 
 + 
 +   sudo systemctl start mosquitto 
 + 
 + 
 +At this point you should probably rebuild sbbs so that libmosquitto will be picked up and included in libsbbs.so. You can verify this with the following command: 
 + 
 +   bbs@bbs:/var/log/apt$ ldd /sbbs/exec/libsbbs.so|grep mosquitto 
 +        libmosquitto.so.1 => /usr/lib/x86_64-linux-gnu/libmosquitto.so.1 (0x00007fbf8c582000) 
 + 
 +If there is no response to the command, then a recompile is necessary. 
  
 Now start sbbs and you should see the following lines in your log Now start sbbs and you should see the following lines in your log
Line 23: Line 36:
    Dec 12 02:13:08 bbs synchronet: MQTT lib: mosquitto 1.6.9    Dec 12 02:13:08 bbs synchronet: MQTT lib: mosquitto 1.6.9
    Dec 12 02:13:08 bbs synchronet: MQTT connecting to broker 127.0.0.1:1883    Dec 12 02:13:08 bbs synchronet: MQTT connecting to broker 127.0.0.1:1883
-    +
- +
 If you see a "failure: 14" message then your broker isn't running. If you see a "failure: 14" message then your broker isn't running.
  
 At this point you should see messages from sbbs being passed into the Mosquitto broker At this point you should see messages from sbbs being passed into the Mosquitto broker
  
 +```
 1670834270: Received PUBLISH from auto-FEB8177A-5A3E-5EE9-6AA3-9CE9BE593CA3 (d0, q0, r0, m0, 'sbbs/EOTLBBS/bbs.endofthelinebbs.com/web/log/7', ... (74 bytes)) 1670834270: Received PUBLISH from auto-FEB8177A-5A3E-5EE9-6AA3-9CE9BE593CA3 (d0, q0, r0, m0, 'sbbs/EOTLBBS/bbs.endofthelinebbs.com/web/log/7', ... (74 bytes))
 1670834270: Received PUBLISH from auto-FEB8177A-5A3E-5EE9-6AA3-9CE9BE593CA3 (d0, q0, r0, m0, 'sbbs/EOTLBBS/bbs.endofthelinebbs.com/web/log', ... (74 bytes)) 1670834270: Received PUBLISH from auto-FEB8177A-5A3E-5EE9-6AA3-9CE9BE593CA3 (d0, q0, r0, m0, 'sbbs/EOTLBBS/bbs.endofthelinebbs.com/web/log', ... (74 bytes))
 +```
  
 Now, to install a client to view the messages. Now, to install a client to view the messages.
  
-wget https://www.emqx.com/en/downloads/MQTTX/v1.9.0/MQTTX_1.9.0_amd64.deb+   wget https://www.emqx.com/en/downloads/MQTTX/v1.9.0/MQTTX_1.9.0_amd64.deb
  
 then then
  
 +   dpkg -i v1.9.0/MQTTX_1.9.0_amd64.deb
  
 run mqttx to start the package. run mqttx to start the package.
Line 52: Line 65:
 Now enter the path which will be sbbs/ followed by your BBS's short name, EOTLBBS in my case. You'll find it on your logs.  Now enter the path which will be sbbs/ followed by your BBS's short name, EOTLBBS in my case. You'll find it on your logs. 
  
-sbbs/EOTLBBS/#+   sbbs/EOTLBBS/#
  
 The # at the end like similar to a wildcard and will show you all the messages.  The # at the end like similar to a wildcard and will show you all the messages. 
Line 67: Line 80:
  
  
-dpkg -i v1.9.0/MQTTX_1.9.0_amd64.deb+One more tip, if you're starting sbbs from systemd (and why wouldn't you be?) you will want to ensure mosquitto starts before sbbs. There are several ways to accomplish this.  
 + 
 +Changing the sbbs service file "Unit" entry for Wanted= is how I will do it, though not tested as yet). 
 + 
 +   [Unit] 
 +   Description=Synchronet BBS service 
 +   Documentation=man:sbbs 
 +   After=syslog.target network.target mosquitto.service 
 + 
 +After making changes to your sbbs service file, Be sure to run 
 + 
 +   sudo systemctl daemon-reload 
 + 
 +This is a list of data points captured during a short runObviously if you use these, replace your BBS's system name and hostname. 
 + 
 +<file> 
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/client_count 
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/client_list 
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/served 
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/socket_count 
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/srvc/log 
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/srvc/log/
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/srvc/log/
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/term/log 
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/term/log/
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/term/log/
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/term/log/
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/thread_count 
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/web/client_count 
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/web/log 
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/web/log/
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/web/log/
 +sbbs/EOTLBBS/bbs.endofthelinebbs.com/web/log/
 +sbbs/EOTLBBS/node1/output 
 +sbbs/EOTLBBS/node1/status 
 +sbbs/EOTLBBS/node1/terminal 
 +</file> 
 + 
 +Note, the numbers at the end of the log outputs is the log level. These may be subject to change in future and may be added to or removed. 
 + 
 +For collecting data and viewing, I highly recommend Node-Red. You can find installation instructions online and should be able to figure its usage but I highly recommend using the current node.js (Node 18 currently) and install the Dashboard module (which will not run on the Ubuntu provided version of node.js).
  
 ===== See Also ===== ===== See Also =====
   * [[:howto:|howto index]]   * [[:howto:|howto index]]
 +  * [[:ref:mqtt|Synchronet MQTT Topic Naming and Payload Scheme]]
  
-{{tag>}}+{{tag>mqtt}}