Mosquitto: Difference between revisions

From NixOS Wiki
imported>Onny
Initial page
 
imported>Onny
Add usage example
Line 21: Line 21:
   allowedTCPPorts = [ 1883 ];
   allowedTCPPorts = [ 1883 ];
};
};
</syntaxHighlight>
== Usage ==
Testing the server is possible by running a listening comand
<syntaxHighlight lang="bash">
nix shell nixpkgs#mosquitto --command mosquitto_sub -h localhost -t test
</syntaxHighlight>
and sending on a different shell a message which should be received by the command above
<syntaxHighlight lang="bash">
nix shell nixpkgs#mosquitto --command mosquitto_pub -h localhost -t test -m "Hello"
</syntaxHighlight>
</syntaxHighlight>


[[Category:Applications]]
[[Category:Applications]]

Revision as of 10:24, 1 April 2023

Mosquitto is an open source message broker that implements the MQTT protocol, a lightweight and popular communication method for the Internet of Things (IoT). Mosquitto supports MQTT versions 5.0, 3.1.1 and 3.1, and can run on various devices, from low power single board computers to full servers.

Setup

The following setup enables a local Mosquitto server listening on port 1883, allowing anonymous access for demonstration purpose.

mosquitto = {
  enable = true;
  listeners = [
    {
      acl = [ "pattern readwrite #" ];
      omitPasswordAuth = true;
      settings.allow_anonymous = true;
    }
  ];
};

networking.firewall = {
  enable = true;
  allowedTCPPorts = [ 1883 ];
};


Usage

Testing the server is possible by running a listening comand

nix shell nixpkgs#mosquitto --command mosquitto_sub -h localhost -t test

and sending on a different shell a message which should be received by the command above

nix shell nixpkgs#mosquitto --command mosquitto_pub -h localhost -t test -m "Hello"