CentOS上使用Mosquitto实现Mqtt主题消息发布和订阅mqtt主题消息连同时间戳记录到文件

场景

CentOS上使用rpm离线安装Mosquitto(Linux上Mqtt协议调试工具)附资源下载:

CentOS上使用rpm离线安装Mosquitto(Linux上Mqtt协议调试工具)附资源下载-CSDN博客

上面介绍了mosquitto的离线安装。

如果业务场景中需要订阅某mqtt主题的消息并将收到消息的时间以及消息内容记录到

文件中,便于数据分析。

如果是在windows电脑上可以参考如下

Winform中使用MQTTnet实现MQTT的服务端和客户端之间的通信以及将订阅的消息保存到文件:

Winform中使用MQTTnet实现MQTT的服务端和客户端之间的通信以及将订阅的消息保存到文件_mqttnet publishasync-CSDN博客

如果是在linux上可以使用mosquitto加脚本的方式实现。

注:

博客:
霸道流氓气质-CSDN博客

实现

CentOS上Mosquitto服务的启动、停止、查看状态

上面搭建mosquitto的服务后,需要启动其服务

启动服务器

复制代码
sudo service mosquitto start

查看状态

复制代码
sudo service mosquitto status

关闭服务器

复制代码
sudo service mosquitto stop

Mosquitto实现发布MQTT主题消息、订阅mqtt主题消息的命令

服务启动成功后进行发布mqtt主题消息和订阅测试,用于本地调试测试用

mosquitto源码地址:

GitHub - eclipse/mosquitto: Eclipse Mosquitto - An open source MQTT broker

文档中明确指出发布和订阅主题的指令

发布:

复制代码
mosquitto_pub -t 'test/topic' -m 'hello world'

订阅:

复制代码
mosquitto_sub -t 'test/topic' -v

更多订阅指令说明,参照:

mosquitto_sub man page | Eclipse Mosquitto

下面在同一台服务器进行测试

发布mqtt主题与消息

复制代码
mosquitto_pub -h localhost -t "test" -u badao -P badao -m "hello"

订阅主题与接受消息

复制代码
mosquitto_sub -h localhost -t "test" -u badao -P badao

测试结果

Linux中实现记录MQTT主题消息内容和当前时间到文件中的指令

执行如下指令

复制代码
mosquitto_sub -h localhost -t "test" -u badao -P badao | while read payload; do echo "$(date): $payload" >> mqtt_data.log; done

然后再次发布主题消息,在上面指令执行的目录下查看mqtt_data.log文件内容即可

相关推荐
遇见小修修4 小时前
佛山工厂打印机频繁漏粉、页面脏污、机身飞粉?零基础排查+长效解决教程
运维·打印机维修·打印机故障·专业维修
koi77u4 小时前
嵌入式学习————————TCP并发服务器(1)
linux·学习
StevenSurpass6 小时前
智能工厂场景:FastPrintAgent 分布式打印中间件落地应用方案
分布式·mqtt·http·中间件·打印·fastreport
上学的小垃圾12 小时前
基于docker安装MySQL(openEuler系统)
linux·mysql·docker·容器
一直C14 小时前
Linux网络编程|HTTP协议详解(报文、请求方法、状态码)
linux·http·wireshark·vim·visual studio
爱喝水的鱼丶14 小时前
SAP-ABAP:ABAP 用户出口开发规范与避坑指南:10 类典型错误与运维方案
运维·性能优化·sap·abap·增强·经验交流·出口
博、、14 小时前
从零构建智慧场馆解决方案:架构设计与开发实践
大数据·运维
敢敢是只喵i15 小时前
给现有业务系统接 AI 助手,入口怎么选?网页聊天、自动化任务与本地 Agent 对比
运维·人工智能·ai·开源·自动化·安全架构
章老师说16 小时前
BFE v1.8.6 正式发布:AI 网关计费精细化、Claude 协议与会话亲和性升级
运维·人工智能·ai·负载均衡·ai-native
Brilliantwxx16 小时前
【Linux】 进程(10) 进程控制深度解析:创建、终止与等待
linux·运维·服务器·c语言·开发语言·网络