如何使用mosquitto_pub在mqtt服务器上以特定的时间间隔发布主题/消息?

时间:2019-08-10 06:43:58

标签: mqtt

我正在使用操作系统“ Raspbian GNU / Linux 8(jessie)”在Raspberry Pi上工作。现在,我正在尝试的是将简单的消息从我的raspberry pi发送到我在“ api”上创建的mqtt服务器。 cloudmqtt.com”。我能够发送(从树莓派到我的服​​务器)和接收(从服务器到我的树莓派) 使用以下命令

1。

pi@RevPi100102:~ $ mosquitto_pub -h "farmer.cloudmqtt.com" -p "18989" -u "obvrnnss" -P "xxxxxxxxx" -t "Test check" -m "Hello from RevPi"

2。

pi@RevPi100102:~ $ mosquitto_sub -h "farmer.cloudmqtt.com" -p "18989" -u "obvrnnss" -P "xxxxxxxxx" -t "Test check"

此后,我尝试使用-r向服务器发送相同的消息,为此,我从link for mosquitto_pub 获得了帮助

pi@RevPi100102:~ $ mosquitto_pub -h "farmer.cloudmqtt.com" -p "18989" -u "obvrnnss" -P "xxxxxxxxxx" -t "Test check" -m "Hello from RevPi" -r --repeat-delay "2"

I am getting the following error,

Error: Unknown option '--repeat-delay'.

有人可以帮我找到我要去的地方以及如何使用命令-r--repeat-delay。我不是Linux命令方面的专家。

1 个答案:

答案 0 :(得分:1)

首先,-r标志不是--repeat--repeat-delay的简短版本

来自mosquitto_pub文档

  

-r, --retain

     

如果给出了保留,则消息将作为“最后一次知悉”值保留在代理上。有关更多信息,请参见mqtt(7)。

要获取重复消息,您需要使用--repeat标志。然后可以将其与--repeat-delay标志结合使用,以设置每条消息发布之间的时间。

第二,重复功能是新功能,仅在mosquitto的version 1.6处添加。您没有说您使用的是哪个版本,但是如果它是raspbian附带的默认版本,那么您不太可能具有此功能。