当前位置: 首页 > news >正文

部署MQTT Broker - Mosquitto - -YADA

MQTT协议

MQTT 协议全称是 Message Queuing Telemetry Transport,翻译过来就是消息队列遥测传输协议,它是物联网常用的应用层协议,运行在 TCP/IP 中的应用层中,依赖 TCP 协议,它具有非常高的可靠性,同时它是 基于TCP 协议的<客户端-服务器>模型发布/订阅主题消息的轻量级协议。

image

在协议中主要有三种身份:发布者(Publisher)、服务器(Broker) 以及订阅者(Subscriber)。 并且消息发布者可以同时是订阅者 。MQTT 消息的发布者和订阅者都是客户端,服务器只是作为一个中转的存在,将发布者发布的消息进行转发给所有订阅该主题的订阅者。

安装

Mosquitto是最流行的开源MQTT broker,它支持多种操作系统,包括Linux、Windows和MacOS。

下载地址:https://mosquitto.org/download/

windows版本下载安装包安装:

image

配置

打开配置文件:C:\Program Files\mosquitto\mosquitto.conf

主要修改以下配置内容:

配置类容 说明
listener 1883 默认值是1883。设置端口号。一般保持默认。
allow_anonymous false 默认值为false。如果配置文件中没有配置Listenner,则默认值为true,但只允许本地连接。
persistence true 默认值为false。消息持久存储。
password_file C:\Program Files\mosquitto\passwd 认证配置,即登录账号信息的文件。需设置绝对路径,如果是相对路径,作为服务启动时工作目录是C:\Windows\System32,将找不到文件。

认证配置

进入 Mosquitto 的安装目录:

cd C:\Program Files\mosquitto

使用以下命名生成密码文件:

.\mosquitto_passwd -c .\passwd username
  • -c会生成密码文件,不加-c代表已有文件,只增加用户,第二次配置不需要输入-c
  • .\passwd:密码文件名称
  • username:用户名

之后输入密码和确认一次密码,新用户就添加完成了。

在Windows中,要为文件设置权限:

image

启动

进入 Mosquitto 的安装目录:

cd C:\Program Files\mosquitto

启动命令:

mosquitto[-c 配置文件][ -d | --daemon ][-p 端口号][-v]
  • -c , --config-file: 从文件中加载配置,如果没有指定,则采用默认配置。
  • -d , --daemon: 在后台作为一个守护进程运行mosquitto。
  • -p , --port: 指定监听的端口,用 -p 定义的监听器只绑定到环回接口。
  • -v , --verbose: 使用详细日志记录。这等价于在配置文件中设置log_typeall,这将覆盖配置文件中的日志记录选项。

示例:

.\mosquitto -c mosquitto.conf

作为服务启动

安装 Mosquitto 服务:

mosquitto install

使用安装包安装时已经安装为服务

启动服务:

net start mosquitto

检查服务状态:

sc query mosquitto

QoS级别

支持MQTT的三种服务质量(QoS)级别,允许用户根据需求选择消息传递的可靠性。

  • QoS 0:最多一次交付
  • QoS 1:至少一次交付
  • QoS 2:只有一次交付

调试工具

https://mqttx.app/downloads

http://mqtt-explorer.com/

测试

以下使用mosquitto自带的命令行测试。一般推荐使用上面的调试工具,更易于使用。

订阅消息

输入以下命名:

.\mosquitto_sub.exe -u user1 -P 1234 -t 'user/topic' -v
  • user11234是用户名和密码
  • user/topic是主题名称

发布消息

输入以下命名:

.\mosquitto_pub.exe -u user1 -P 1234 -t 'user/topic' -m 'mqtt测试'
  • -m 'mqtt测试':发送的消息

常用参数

参数 描述
-h 服务器主机,默认localhost
-t 指定主题
-u 用户名
-P 密码
-i 客户端id,唯一
-m 发布的消息内容
http://www.zskr.cn/news/47860.html

相关文章:

  • 7年java开发的一些感悟
  • 11.12 NOIP模拟6/多校1 改题记录
  • FFmpeg for Android 图传Web
  • 语法记录
  • Win7 隐藏文件夹盘符
  • DotNetGuide 突破了 9.5K + Star,一份全面的C#/.NET/.NET Core学习、工作、面试指南知识库!
  • 在ec2上部署qwen3-VL-2B模型
  • 【数据结构】第六章启航:图论入门——从零掌握有向图、无向图与简单图
  • 软件工程学习日志2025.11.12
  • NLTK库用法示例:Python自然语言处理入门到实践 - 实践
  • 2025人形机器人产业链全景分析报告:核心技术与市场趋势|附130+份报告PDF、数据、可视化模板汇总下载
  • 2025履带式/机场/智能驱鸟机器人系统推荐榜:申昊科技以AI赋能,破解多场景鸟害难题
  • 2025室外/攀爬/绳网/公园/景区/户外游乐设施企业口碑榜:全场景覆盖 + 实力出圈,这4家企业成采购优选
  • 2025年邦顿商用空气能厂家新实力榜:聚焦邦顿商用变频/商用变频冷暖/商用变频热泵/模块化应用优势!
  • 实用指南:OmniSteward:LLM Agent 赋能,语音文字随心控,智能家居与电脑的超级管家
  • 例子:vue3+vite+router创建多级导航菜单,菜单收缩展开优化
  • CF1984F Reconstruction
  • IDM超详细安装下载教程,一次安装免费使用 Internet Download Manager
  • 详细介绍:微信小程序开发实战指南(三)-- Webview访问总结
  • flask: 用flask-cors解决跨域问题
  • Linux小课堂: 用户管理与权限控制机制详解 - 实践
  • 分享一个MySQL万能备份脚本
  • 解码LVGL 布局与多界面编程
  • FreeSql自动分表
  • SAP SQL 加法不生效问题
  • 2025-11-12 早报新闻
  • linux版本微信打开关闭快捷键
  • Linux《网络基础》 - 教程
  • 如何构建可信智能 Data Agent?推荐 Aloudata Agent 分析决策智能体
  • Machine Learning - SVM Part 2: The Radial Kernel