最终目标:使用Mosquitto作为代理,通过MQTT每秒发布100条“心跳”消息。
要发送单个心跳,我可以轻松执行mosquitto_pub -t "ems/heartbeat" -m 0
。
我知道Unix系统中的watch
实用程序,但仍不足以达到目标。解决该问题的第一种方法是使用命令while sleep 0.01; do mosquitto_pub -t "ems/heartbeat" -m 0; done
进行扩展。通过订阅“ ems / heartbeat”主题(mosquitto_sub -t "ems/heartbeat"
),我相当确保发布到该主题的消息比1秒内预期的100条消息少得多。所以这是我的问题:如何运行shell脚本-上面的心跳-每秒100次,甚至更好,如何在某个MQTT主题上每秒发布100条消息?
与我的最终目标相比,标题似乎有点误导,但是找到一种方法可以以每秒100次的速度运行Shell脚本,可以解决这个问题。如果有解决问题的不同方法,当然欢迎您!谢谢!
编辑和附加信息:这些消息的接收者只是一个微控制器,需要检查与电子监控系统(便携式计算机)的连接是否正常。微型计算机正在为高速执行器提供控制,并且当发生连接丢失时,一切都必须处于安全状态,这表明需要100条消息/秒。
基本假设是,这100条消息分布在1秒钟的时间范围内,并且来自单个实体EMS。
通过运行time命令,这是输出,因此无法指出,无法使用mosquitto_pub每秒发送100条消息。
time mosquitto_pub -t "ems/heartbeat" -m 0
real 0m0.039s
user 0m0.006s
sys 0m0.011s
最终目标:使用Mosquitto作为代理,每秒通过MQTT发布100条“心跳”消息。要发送单个心跳,我可以轻松地执行mosquitto_pub -t“ ems / heartbeat” -m0。我知道...
简短的答案是不。