anyevent-mqtt-sub - Perl script for subscribing to an MQTT topic
version 1.212810
anyevent-mqtt-sub [options] topic1 [topic2] [topic3] ...
This script subscribes to one or more MQTT topics and prints any messages that it receives to stdout.
Print a brief help message.
Print the manual page.
The host running the MQTT service. The default is 127.0.0.1.
127.0.0.1
The port of the running MQTT service. The default is 1883.
The client id to use in the connect message. The default is 'NetMQTTpm' followed by the process id of the process. This should be up to 23 characters and only use the characters A-Z, a-z, and 0-9 for maximum compatibility.
The QoS level for the published message. The default is 0 (MQTT_QOS_AT_MOST_ONCE).
MQTT_QOS_AT_MOST_ONCE
Include more verbose output. Without this option the script only outputs errors and received messages one per line in the form:
topic message
With one -verbose options, publish messages are printed in a form of a summary of the header fields and the payload in hex dump and text form.
With two -verbose options, summaries are printed for all messages sent and received.
The keep alive timer value. Defaults to 120 seconds. For simplicity, it is also currently used as the connection/subscription timeout.
Read the specificed number of MQTT messages and then exit. Default is 0 - read forever.
Short for -count 1. Read one message and exit.
Ignore retained messages. That is, wait for new messages rather than processing existing retained messages.
Use CODE for callback. The caller is responsible for ensuring that the code to be executed is safe - i.e. not "system('rm -rf /');". The code will be called with the following arguments in @_:
@_
For example:
my ($topic, $payload, $message, $quitcv, $mqtt, $stash) = @_; print STDERR $topic, ': ', $payload, "\n"; $quitcv->send if ($stash->{'count'}++ > 10);
If a callback is provided with this option then the builtin callback is no longer called.
AnyEvent::MQTT(3)
This is not official IBM code. I work for IBM but I'm writing this in my spare time (with permission) for fun.
Mark Hindess <soft-cpan@temporalanomaly.com>
This software is copyright (c) 2014 by Mark Hindess.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install AnyEvent::MQTT, copy and paste the appropriate command in to your terminal.
cpanm
cpanm AnyEvent::MQTT
CPAN shell
perl -MCPAN -e shell install AnyEvent::MQTT
For more information on module installation, please visit the detailed CPAN module installation guide.