Linux 安装 Mosquitto 及 SpringBoot 整合

Mosquitto 搭建及配置 Eclipse Mosquitto是一个开源消息代理,实现了MQTT协议版本3.1和3.1.1。Mosquitto轻量,适用于低功耗单板计算机到完整服务器的所有设备。Mosquitto项目还提供了用于实现MQTT客户端的C库以及非常受欢迎的mosquitto_pub和mosquitto_sub命令行MQTT... 阅读详情
AI摘要

本文介绍在 Linux(centos)下安装与配置 Mosquitto MQTT 代理,包括选择版本、解决安装报错、配置监听端口、用户认证等,还说明了启动、查看和关闭程序的方法。此外,讲解了 SpringBoot 整合 Mosquitto 的步骤,如添加依赖、配置连接信息等,并进行了启动服务测试。

Linux(centos)下 Mosquitto MQTT 代理的安装与配置

MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的消息传输协议,广泛应用于物联网(IoT)领域。Mosquitto 是一个开源的 MQTT 代理,它支持 MQTT 协议 3.1 和 3.1.1,适用于各种设备和平台。

在工业上使用 MQTT 协议来进行物联网数据传输,主要看中了以下优点:

  • 低协议开销:它的每消息标题可以短至 2 个字节,容错性好
  • 物联网的网络环境往往比较恶劣,MQTT能从断开故障中恢复,并且不需要额外的编码
  • 低功耗:MQTT专门为了低功耗的目标而设计
  • 最多能接受百万级别的客户端

安装 Mosquitto

安装

选择需要安装的版本,我这里安装的是 2.0.0 版。

官网下载:https://mosquitto.org/files/source/

# 下载
wget --no-check-certificate https://mosquitto.org/files/source/mosquitto-2.0.0.tar.gz

# 安装
tar -zxvf mosquitto-2.0.0.tar.gz

cd mosquitto-2.0.0

make

make install

如果 make 时报如下错误

In file included from mosquitto_ctrl.c:29:
mosquitto_ctrl.h:21:10: fatal error: cJSON.h: No such file or directory
21 | #include <cJSON.h>
|          ^~~~~~~~~
compilation terminated.
make[2]: *** [Makefile:49: mosquitto_ctrl.o] Error 1
make[2]: Leaving directory '/usr/local/mosquitto-2.0.0/apps/mosquitto_ctrl'
make[1]: *** [Makefile:9: all] Error 2
make[1]: Leaving directory '/usr/local/mosquitto-2.0.0/apps'
make: *** [Makefile:64: mosquitto] Error 2

出现 cJSON 找不到,需要安装 cJSON(cJSON-1.7.18.tar.gz):

下载地址:https://github.com/DaveGamble/cJSON/releases

# 安装

tar -zxvf cJSON-1.7.18.tar.gz

cd cJSON-1.7.18

make

make install

cJSON 安装成功后再进行 make 安装即可成功。

相关配置

Mosquitto 的配置文件通常位于:/etc/mosquitto/mosquitto.conf 根据需要修改配置文件中的设置,可以更改监听地址和端口、设置持久化选项、配置用户认证等。

创建配置文件

cp /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf

监听端口

一般使用mqtt默认监听端口 1883, 如果需要修改监听端口,需修改配置文件设置自己的端口即可(我这里使用默认的)。

配置用户认证

MQTT 默认无需用户认证,配置 MQTT 的用户名和密码通常涉及编辑 MQTT 代理的配置文件。

Mosquitto 使用 pwfile 来存储用户名和密码,可以使用 mosquitto_passwd 命令来创建和管理这个文件。

# 创建密码文件,用户名称为 mosquittoadmin

mosquitto_passwd -c /etc/mosquitto/pwfile.conf mosquittoadmin

系统会提示输入密码并再次确认,-c 选项表示创建一个新的密码文件。如果文件已经存在,则使用 -b 选项追加用户。

编辑 Mosquitto 配置文件 /etc/mosquitto/mosquitto.conf,添加或修改以下行以启用密码文件认证:

allow_anonymous false

password_file /etc/mosquitto/pwfile

创建 mosquitto 用户

配置文件中默认使用 user mosquitto,需要创建 mosquitto 用户:

groupadd mosquitto

useradd -g mosquitto mosquitto
 
chown -R mosquitto:mosquitto /etc/mosquitto/

设置外网访问

# 设置外网访问
listener 1883 0.0.0.0

启动、查看、关闭程序

运行程序

mosquitto -c /etc/mosquitto/mosquitto.conf -d

查看

ps -aux | grep mosquitto

关闭程序

kill -9 $(pidof mosquitto)

SpringBoot 整合 Mosquitto

添加依赖

<dependency>
    <groupId>org.eclipse.paho</groupId>
    <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
    <version>1.2.5</version>
</dependency>

配置 MQTT 服务器的连接信息

server:
  port: 8001

mqtt:
  url: tcp://127.0.0.1:1883
  username: mosquittoadmin
  password: mosquittoadmin@123
  client-id: test-client

MQTT 配置类

package com.demo.config;

import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttConnectOptions;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @path:com.demo.config.MqttClientConfig.java
 * @className:MqttClientConfig.java
 * @description: MQTT配置
 * @dateTime:2025/1/5 10:51 
 * @editNote:
 */
@Configuration
public class MqttClientConfig {

    @Value("${mqtt.url}")
    private String url;

    @Value("${mqtt.client-id}")
    private String clientId;

    @Value("${mqtt.username}")
    private String username;

    @Value("${mqtt.password}")
    private String password;

    @Bean
    public MqttClient mqttClient() throws MqttException {
        MqttClient client = new MqttClient(url, clientId);
        MqttConnectOptions options = new MqttConnectOptions();
        options.setUserName(username);
        options.setPassword(password.toCharArray());
        client.connect(options);
        return client;
    }

}

发布、订阅消息

package com.demo.service;

import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.eclipse.paho.client.mqttv3.MqttMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @path:com.demo.service.MqttService.java
 * @className:MqttService.java
 * @description: 发布、订阅消息
 * @dateTime:2025/1/5 10:51 
 * @editNote:
 */
@Slf4j
@Service
public class MqttService {

    @Autowired
    private MqttClient mqttClient;

    /**
     * @MonthName: publish
     * @Description: 发布消息
     * @Date: 2025/1/5 11:26
     * @Param: [topic, message]
     * @return: void
     **/
    public void publish(String topic, String message) throws MqttException {
        log.info("===发布消息====topic:{},消息内容:{}", topic, message);
        MqttMessage mqttMessage = new MqttMessage(message.getBytes());
        mqttMessage.setQos(2);
        mqttClient.publish(topic, mqttMessage);
    }

    /**
     * @MonthName: subscribe
     * @Description: 订阅消息
     * @Date: 2025/1/5 11:26
     * @Param: [topic]
     * @return: void
     **/
    public void subscribe(String topic) throws MqttException {
        mqttClient.subscribe(topic, (t, msg) -> {
            String message = new String(msg.getPayload());
            log.info("===订阅消息====topic:{},消息内容:{}", topic, message);
        });
    }

}

** MqttController 接口**

package com.demo.controller;

import com.demo.service.MqttService;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@Slf4j
@RestController
@RequestMapping("/mqtt")
public class MqttController {

    @Autowired
    private MqttService mqttService;

    @GetMapping("/publish")
    public String publish(@RequestParam String topic, @RequestParam String message) {
        try {
            mqttService.publish(topic, message);
            log.info("发布消息,topic:{},消息内容:{}", topic, message);
            return "success";
        } catch (MqttException e) {
            log.error("{}", e);
            return "error";
        }
    }

    @GetMapping("/subscribe")
    public String subscribe(@RequestParam String topic) {
        try {
            mqttService.subscribe(topic);
            log.info("订阅消息,topic:{}", topic);
            return "success";
        } catch (MqttException e) {
            log.error("{}", e);
            return "error";
        }
    }

}

初始化订阅消息

服务初始化启动完成后,自动订阅 Topic

package com.demo.service;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

/**
 * @path:com.demo.service.SubscribeRunner.java
 * @className:SubscribeRunner.java
 * @description: 初始化订阅消息
 * @dateTime:2025/1/5 15:25 
 * @editNote:
 */
@Slf4j
@Component
@Order(10)
public class SubscribeRunner implements ApplicationRunner {

    @Autowired
    MqttService mqttService;

    @Override
    public void run(ApplicationArguments args) throws Exception {
        log.info("================初始化订阅消息==================");
        mqttService.subscribe("mytopic");
    }
}

启动服务测试

启动服务

Connected to the target VM, address: '127.0.0.1:52517', transport: 'socket'

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.7.9)

2025-01-05 21:28:00.464  INFO 8888 --- [           main] com.demo.DemoBootApplication               : Starting DemoBootApplication using Java 1.8.0_251 on DESKTOP-BBRENPM with PID 8888 (E:\workspace\demo-boot\target\classes started by Administrator in E:\workspace\demo-boot)
2025-01-05 21:28:00.466  INFO 8888 --- [           main] com.demo.DemoBootApplication               : No active profile set, falling back to 1 default profile: "default"
2025-01-05 21:28:00.949  INFO 8888 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8001 (http)

自动订阅消息,可以通过请求接口手动订阅:http://localhost:8001/mqtt/subscribe?topic=mytopic

2025-01-05 21:28:01.666  INFO 8888 --- [           main] com.demo.DemoBootApplication               : Started DemoBootApplication in 1.427 seconds (JVM running for 1.932)
2025-01-05 21:28:01.667  INFO 8888 --- [           main] com.demo.service.SubscribeRunner          : ================初始化订阅消息==================
2025-01-05 21:28:16.428  INFO 8888 --- [nio-8001-exec-1] o.a.c.c.C.[.[localhost]        : Initializing Spring DispatcherServlet 'dispatcherServlet'
2025-01-05 21:28:16.428  INFO 8888 --- [nio-8001-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2025-01-05 21:28:16.428  INFO 8888 --- [nio-8001-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 0 ms

发布消息,浏览器访问接口:

http://localhost:8001/mqtt/publish?message=测试消息

2025-01-05 21:29:34.603  INFO 8888 --- [nio-8001-exec-8] com.demo.controller.MqttController        : 发布消息,topic:mytopic,消息内容:测试消息

2025-01-05 21:29:34.613  INFO 8888 --- [ll: test-client] com.demo.service.MqttService              : ===订阅消息====topic:mytopic,消息内容:测试消息
【MQTT】基于mosquitto的学习和使用 文章目录前言一、MQTT简介MQTT特性MQTT协议原理MQTT协议数据包结构二、安装MQTT1.mosquitto简介2.安装mosquitto库2.常用MQTT库函数三.代码实现 前言 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提.. 阅读详情

相关推荐

WebSocket与MQTT选型实战:工业IoT实时通信避坑指南

实时数据传输是物联网系统的核心能力,其本质是解决端到端低延迟、高可靠的消息投递问题。WebSocket提供全双工TCP隧道,适合人机交互场景,但缺乏内置可靠性机制;MQTT则是面向发布/订阅的消息中间件,具备QoS分级、遗嘱消息、会话保持等工业级保障。技术价值在于匹配不同终端能力(如ESP32-S3资源受限)、网络环境(Wi-Fi/NB-IoT)与业务SLA(≤200ms延迟、≤0.001%丢包)。典型应用场景包括工厂设备状态监控、嵌入式音频流传输、Web前端实时看板。当需求中出现'esp32s3 max9

weixin_30740581的博客 462

Windows环境下安装配置Mosquitto服务及入门操作介绍

Windows环境下安装配置Mosquitto服务及入门操作介绍

qq_30150579的博客 6920

物联网端到端加密实战:Java实现AES-GCM、ECC与混合加密模式

端到端加密(E2EE)是保障数据从发送方到接收方全程机密性与完整性的核心技术。其原理在于数据在源头加密,仅在目的地解密,中间节点无法窥探。在物联网(IoT)领域,这项技术的价值尤为突出,它能有效应对海量异构设备接入、不可靠网络环境及严格的数据合规要求。面对资源受限的微控制器(MCU)与高性能云端并存的环境,选择合适的加密模式成为关键工程挑战。本文聚焦于三种经过实战检验的物联网加密方案:采用预共享密钥的AES-GCM/ChaCha20-Poly1305模式适用于高频数据上报;基于椭圆曲线加密(ECC)的数字签

weixin_33725126的博客 387

MQTT——工具mosquitto使用及问题记录

Mosquitto是一款开源消息代理软件,实现了MQTT(Message Queuing Telemetry Transport)协议。Mosquitto提供了一个可靠的消息传输机制,提供轻量级的,支持可发布/可订阅的的消息推送模式,允许设备和应用程序通过发布和订阅消息进行通信,使设备对设备之间的短消息通信变得简单。它支持多种编程语言和平台,并且具有低延迟和高可扩展性的特点。

FREEDOM_X的专栏 6699

从协议逆向到合规自动化:网络通信与高并发编程实战解析

网络通信协议是互联网应用数据交互的基础,它定义了客户端与服务器之间的通信规则和格式。其核心原理涉及TCP/IP协议栈、数据封装、加密算法和认证机制,确保数据传输的可靠性与安全性。理解协议机制的技术价值在于,它不仅是网络安全、漏洞挖掘的必备技能,也是构建高性能自动化系统和数据采集工具的基础。在实际应用场景中,协议分析技术可应用于自动化测试、合规数据采集和系统监控等领域。例如,通过逆向工程分析客户端通信机制,可以学习移动端安全防护;而结合高并发编程技术,则能构建健壮的分布式爬虫系统。本文围绕网络协议分析与合规自

weixin_30613727的博客 626

Linux命令行入门:从零掌握服务器运维与Shell脚本基础

在信息化时代,操作系统是数字世界的基石,而终端命令行则是高效驾驭服务器的核心技能。无论是软件部署、服务监控还是故障排查,掌握基于Shell的指令操作都能大幅提升工程效率。从最基础的文件目录管理、文本处理,到权限控制、进程监控与网络调试,命令行提供了一套强大且可自动化的操作范式。尤其对于运维工程师和开发者而言,理解管道、重定向以及脚本化任务,意味着将重复劳动转化为可复用的自动化流程。本文从环境准备讲起,系统梳理常用Linux命令的实际场景与输出验证,并延伸至Shell脚本编写与定时任务,帮助初学者快速建立从操

weixin_30522983的博客 255

常用环境部署(十五)——Centos搭建MQTT服务端mosquitto

Centos搭建MQTT服务端 mosquitto

wd520521的博客 3572

【图数据库与知识图谱入门】2.2 图数据库 vs. 关系型数据库 vs. NoSQL数据库

本文对比了关系型数据库、NoSQL数据库和图数据库的核心差异与应用场景。关系型数据库以二维表结构为核心,适合结构化数据的事务处理(如MySQL),但多表关联查询性能随层级增加而下降。NoSQL数据库(如MongoDB)具有灵活schema,适合海量非结构化数据存储,但关联查询能力较弱。图数据库专注于节点-边关系建模,擅长处理复杂关联分析(如社交网络)。通过学生-课程案例展示了MySQL的多表JOIN操作和MongoDB的两种关联实现方式(内嵌文档和文档引用),揭示了不同数据库在数据关联处理上的本质区别。

kngines 1538

mqtt介绍与安装 spring boot集成mqtt 优缺点 linux centOS 7设置开机自启

mqtt介绍 linux centOS 7安装mqtt spring boot集成mqtt mqtt优缺点 将mqtt加入开机自启

a360284634的博客 1575

Power Automate实战:用SharePoint REST API批量处理列表数据(附JSON解析技巧)

本文深入探讨了如何利用Power Automate调用SharePoint REST API实现列表数据的批量自动化处理。文章详细解析了API的协同工作原理、高效的数据获取与筛选技巧,并重点分享了JSON数据解析的核心难点与实战解决方案,旨在帮助企业用户构建稳定可靠的数据处理流程,提升运营效率。

coffee的博客 769

1.STM32H743VGT6最小系统板

此款MCU具备较大算力进行频谱运算,为复杂数据运算提供更高效的保障。该MCU具备REV-V和REV-Y两个型号,后者为新版本。

Audiation88的博客 3793

docker 安装和使用

一、centos7 安装docker 1:删除老版本 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrot...

Bonrui编程路 4842

别再为SCI论文配图发愁了!手把手教你用PS+AI搞定从数据图到模式图的全流程

本文详细解析了如何利用Photoshop(PS)和Illustrator(AI)高效完成SCI论文配图的全流程,涵盖数据可视化、模式图设计及期刊适配性输出。通过实战案例,帮助科研人员掌握位图与矢量图的处理技巧,提升论文配图质量,满足不同期刊的出版要求。

weixin_28630185的博客 381

UP Xtreme I11评测:Tiger Lake x86单板计算机的Ubuntu边缘AI部署实践

单板计算机(SBC)是嵌入式开发和边缘计算的核心载体,传统上ARM架构凭借低功耗占据主流,但在面对工业相机驱动、闭源二进制SDK及完整的Linux/x86生态时,x86架构的兼容性优势无可替代。Intel Tiger Lake平台将10nm SuperFin工艺、Iris Xe核显与PCIe NVMe高速存储集成于手掌大小的板卡,配合预装Ubuntu 22.04 LTS系统,真正实现了开箱即用的开发体验。这类x86 SBC不仅让Docker容器、OpenVINO推理、GPU加速等PC端技术栈无缝迁移到边缘设

WGH100817的博客 421

基于Xilinx K7-410T的高速DAC之AD9129开发笔记(一)

引言:从本文开始,我们介绍下项目中设计的并行LVDS高速DAC接口设计,包括DAC与FPGA硬件接口设计、软件设计等。项目设计高速DAC采用了ADI公司的AD9129,该芯片最大更新速率5.7Gsps,该芯片在宽带通信应用、LTE、雷达信号产生、干扰机等领域有广泛应用。

FPGA_Designer 2533

《用 AI 赋能医药科研创新》目录(持续更新)

本专栏旨在指导医学科研和药物研发人员运用AI技术提升研究效率。内容包括:利用AI分析文献、识别研究热点、自动生成研究草稿;在新药研发中,通过AI优化临床方案设计、受试者筛选等环节;介绍AI理论基础如大语言模型、提示词工程学及智能体技术发展历程。专栏采用5000-9000字的长文形式,系统讲解AI在医药研发各环节的应用方法,帮助研究者缩短周期、降低成本,推动医药研发进入智能化新阶段。

MD Code 498

MQTT以及mosquitto的学习

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用mosquitto是一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单。

weixin_51120512的博客 4847

4.1 AI Agent对比分析:Coze、Dify、LangGraph,如何选择Agent框架

本文对比分析了三大主流AI Agent框架:Coze(字节跳动平台,可视化开发,适合快速企业应用)、Dify(开源企业级方案,支持定制部署)和LangGraph(代码开发灵活,适合复杂需求)。选择指南建议:需要快速开发选Coze,需开源定制选Dify,复杂灵活需求选LangGraph。核心要点包括理解各框架特点、根据需求评估选择,并提供了实践建议。下节将介绍Coze平台的实战应用。

yonggeit的博客 3145

第三方库介绍——mosquitto

第三方库介绍——mosquitto

NRWHF的博客 4403

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

mosquitto 常见客户端命令

mosquitto_pub 命令参数说明 1. -d 打印debug信息 2. -f 将指定文件的内容作为发送消息的内容 3. -h 指定要连接的域名 默认为localhost 4. -i 指定要给哪个clientId的用户发送消息 5. -I 指定给哪个clientId前缀的用户发送消息 6. -m 消息内容 7. -n 发送一个空(null)消息 8. -p 连接端口号 9...

u013452337的博客 1971

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

嵌入式大杂烩 | 简单认识认识mqtt及mosquitto

某项目中使用了MQTT作为进程间的通信方式,感觉很新颖,网上好像...

嵌入式大杂烩 3765

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

MQTT中间件Eclipse Mosquitto安装和使用(.asc文件)MQTT监控命令mosquitto_sub(mosquitto C++库源码编译)监控mqtt(支持websocket)

昨天弄的,今天忘了不少。。。

Dontla的博客 4853

linux下的mosquitto服务安装及使用(避坑指南)

Mosquitto是一个开源的MQTT消息代理服务器。MQTT是一个轻量级的、基于发布/订阅模式的消息传输协议。 mosquitto的安装使用比较简单,可以方便的来进行一些测试。

猫哥 的沉淀、积累、总结。天天学习,好好向上...c/c++,嵌入式 linux,Android,HarmonyOS,AIOT) 1万+

Mosquitto介绍

(1)进入mosqutto下载文件位置,按住Shift,右键鼠标点击空白处,然后打开Powershell,正常打开一个终端软件即可;输入可以查看相应的帮助;输入,就开启了MQTT服务,监听的地址是127.0.0.1,端口是1883;发布使用mosquitto_pub命令。参数描述-h服务器主机,默认localhost-t指定主题-u用户名-P密码-i客户端id,唯一-m发布的消息内容(3)mosquitto_sub常用参数说明。

m0_61973119的博客 3466

【MQTT】mosquitto 的 “下载、交叉编译、使用” 详细教程,手把手搭建一个MQTT Broker

本文介绍了 MQTT Broker 开源库 mosquitto 的下载、交叉编译、使用教程,如果想了解 mosquitto ,一定会有帮助。

wkd_007的博客 1万+
上一篇: Vue3 跨标签页或跨窗口通信
tansci
博客等级 码龄9年 335粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值