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

news2024/11/18 1:25:11

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

文章目录

    • 参考链接
      • 安装MQTT服务中间件
        • 安装启动与查询
        • 卸载与清理
      • MQTT C++支持库安装(使C++能使用相关库函数)
        • 离线安装(通过源码)
        • ubuntu官网下载软件包
        • 编译mosquitto客户端库
      • mosquitto Dockerfile镜像制作
    • 20230524 MQTT监控命令(mosquitto_sub)(sub是订阅的意思)

参考链接

官网:Eclipse Mosquitto

github

安装MQTT服务中间件

安装启动与查询

安装:sudo apt update && apt install mosquitto
启动:sudo service mosquitto start
查询:systemctl status mosquitto

卸载与清理

你可以使用以下命令删除在宿主机上安装的Mosquitto:

停止mosquitto服务:

sudo service mosquitto stop

移除mosquitto软件包:

sudo apt-get remove mosquitto

如果需要,删除mosquitto的配置文件和数据:

sudo rm -rf /etc/mosquitto/
sudo rm -rf /var/lib/mosquitto/

注意,这些命令将会彻底删除mosquitto和相关配置和数据,谨慎操作。

MQTT C++支持库安装(使C++能使用相关库函数)

离线安装(通过源码)

https://mosquitto.org/download/

我们在ubuntu20.04上用apt默认安装的是1.6.10版本

在这里插入图片描述

https://mosquitto.org/files/source/

然后我们下这个:

在这里插入图片描述

下面有个.asc文件,它是GPG签名文件,用于验证mosquitto-1.6.10.tar.gz的完整性和真实性。我们暂时不管它。

下好后搞到ubuntu里解压,

我发现这个办法太麻烦了,即通过源码安装。。。

ubuntu官网下载软件包

https://packages.ubuntu.com/search?keywords=mosquitto&searchon=names&suite=kinetic&section=all

https://packages.ubuntu.com/kinetic/amd64/mosquitto/download

看了看,也难搞,因为害怕以后环境变了,这种方式也装不上了

所以还是弄成docker镜像比较好

编译mosquitto客户端库

下载:wget https://mosquitto.org/files/source/mosquitto-1.6.10.tar.gz

编译安装:

  • tar zxvf mosquitto-1.6.10.tar.gz
  • cd mosquitto-1.6.10
  • make -j2 && make install
    (这里提示fatal error: openssl/opensslconf.h: No such file or directory(需要安装开发包:libssl-dev))
  • ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
  • ldconfig

然后自己C++程序用到mosquitto库的时候,cmake编译需要加上-lmosquitto

在这里插入图片描述

然后自己的C++程序里引入头文件#include <mosquitto.h>就能使用mosquitto接口向中间件发消息了

mosquitto Dockerfile镜像制作

参考文章:MQTT mosquitoo Dockerfile镜像制作

20230524 MQTT监控命令(mosquitto_sub)(sub是订阅的意思)

mosquitto_sub -h 192.168.1.140 -p 1883 -t kyai

需要注意上面三个参数:

  • ip地址,如果是在本机,可以用127.0.0.1;
  • 端口,默认1883
  • 话题,我们是kyai

参考文章:mosquitto_sub、mosquitto_pub命令参数解析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/563470.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

后端SpringBoot应用向云原生K8S平台迁移

目录 一、引言二、方式1&#xff1a;在K8S上部署Spring Cloud Alibaba三、方式2&#xff1a;在K8S上部署Spring Cloud K8S3.1 第1次优化&#xff1a;移除Spring Cloud K8S DiscoveryClient 四、方式3&#xff1a;在K8S上部署SpringBoot应用4.1 第2次优化&#xff1a;移除Spring…

acwing提高--DFS之剪枝与优化

剪枝与优化的方法 1.优化搜索顺序 大部分情况下&#xff0c;我们应该优先搜索分支较少的节点 2.排除等效冗余 3.可行性剪枝 4.最优性剪枝 5.记忆化搜索&#xff08;DP&#xff09; 1.小猫爬山 题目https://www.acwing.com/problem/content/description/167/ 1.优化搜索顺…

《操作系统》期末最全复习题及解析

文章目录 选择题填空题简答题程序题综合题1.银行家算法2.页面置换算法3.进程调度算法4.磁盘调度算法5.求物理/逻辑地址6.分页存储管理7.可变分区分配算法 选择题 若信号量S的初值为2&#xff0c;且有3个进程共享此信号量&#xff0c;则S的取值范围是&#xff08;B &#xff09;…

单词长度统计,统计数据放入列表

输入一段英文计算每个单词长度&#xff0c;统计不含非英文字符&#xff0c;列表输出。 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&#xff0c;不仅仅是基础那么简单…… 地址…

AI与税务管理:新技术带来的新机遇和新挑战

本文作者&#xff1a;王伊琳 人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09;是指由计算机系统或机器人模拟人类智能的过程和结果&#xff0c;包括感知、理解、学习、推理、决策等能力。近年来&#xff0c;随着计算机技术、互联网平台、大数据分析等的…

AI工具 ChatGPT-4 vs Google Bard , PostgreSQL 开发者会pick谁?

在人工智能 (AI) 进步的快节奏世界中&#xff0c;开发人员正在寻找最高效和突破性的解决方案来加快和提高他们的工作质量。对于 PostgreSQL 开发人员来说&#xff0c;选择理想的 AI 支持的工具以最专业的方式解决他们的查询至关重要。 近年来&#xff0c;人工智能工具的普及率…

Redis如何做到内存高效利用?过期key删除术解析!

大家好&#xff0c;我是小米&#xff0c;一个热衷于分享技术的小伙伴。今天我要和大家探讨一个关于 Redis 的话题&#xff1a;删除过期key。在使用 Redis 进行数据存储和缓存时&#xff0c;我们经常会遇到过期数据的处理问题。接下来&#xff0c;我将为大家介绍为什么要删除过期…

很多人都在考的PMP认证到底有什么用?考试内容难不难?

工作几年之后&#xff0c;很多人都会选择提升自己&#xff0c;从而达到升职加薪的目的&#xff0c;而除了学习专业的技能外&#xff0c;考取一份含金量高的证书&#xff0c;也是非常重要的途径&#xff0c;PMP的证书在业界内的名气很大&#xff0c;该证书是由美国项目管理协会&…

JSP工作原理

一、JSP--一门远古的技术 JSP全称是Java Server Pages&#xff0c;它和servle技术一样&#xff0c;都是SUN公司定义的一种用于开发动态web资源的技术。 JSP这门技术的最大特点在于&#xff0c;写JSP就行html&#xff0c;但是html只能提供静态数据&#xff0c;而Jsp技术可以嵌套…

【C++】容器篇(二)——List的基本概述以及模拟实现

前言&#xff1a; 在上期&#xff0c;我们学习了STL库中的第一个容器--vector &#xff0c;今天我将给大家介绍的是 库中的另外一个容器--List。其实&#xff0c;有了之前学习 vector 的知识&#xff0c;对于List 的学习成本就很低了。 目录 &#xff08;一&#xff09;基本介…

Windows古老Bug损坏SSD/HDD,Win7到Win11全遭殃

去年微软确认了 Windows 12 将在2024年发布&#xff0c;Win11 的更新变为了小的功能更新。 今年3月 Win11 Moment 2 带来了包括任务栏在内的小更新&#xff0c;Moment 3 在这两天就会出来。 Win11 的更新明显放缓&#xff0c;也让用户松了口气。 因为自古以来 Windows 更新大…

5.7 文件I/O(文件IO打开和关闭)

目录 文件描述符 open open-示例1 open-示例2 close 笔记 文件描述符 每个打开的文件都对应一个文件描述符。 文件描述符是一个非负整数。Linux为程序中每个打开的文件分配一个文件描述符。 文件描述符从0开始分配&#xff0c;依次递增。 文件IO操作通过文件描述符来完…

【多线程】常见面试题

1.你知道线程与进程的区别吗&#xff1f; 进程是系统进行资源分配和调度的一个独立单位&#xff0c;线程是程序执行的最小单位&#xff0c;一个进程必然有一条线程&#xff08;主线程&#xff09;。进程有自己的内存地址空间&#xff0c;线程只独享指令流执行的必要资源&#…

毫米波雷达信号处理中的静止目标(静态杂波)滤除问题

说明 杂波及其消除是雷达信号处理中的一个很重要的话题&#xff0c;不过对于车载毫米波雷达&#xff0c;考虑到其应用场景和作用范围&#xff0c;关于杂波我们需要考虑的东西其实并没有比如预警雷达、机载SAR雷达等那么多。特别是车载4D雷达的出现&#xff0c;杂波这个概念已经…

【Linux系统编程(文件编程)】之创建、打开文件

文章目录 一、前言二、打开文件、创建文件1. man手册使用起来2. open函数参数 三、文件权限四、打开、创建 的代码示例五、文件创建、打开的补充O_EXCLO_APPENDO_TRUNCcreat创建文件函数 一、前言 linux下&#xff0c;一切皆文件。学好对文件的操作是很重要的&#xff0c;会在…

pytorch:nn.ModuleList和nn.Sequential、list的用法以及区别

文章目录 在构建网络的时候&#xff0c;pytorch有一些基础概念很重要&#xff0c;比如nn.Module&#xff0c;nn.ModuleList&#xff0c;nn.Sequential&#xff0c;这些类我们称为为容器&#xff08;containers&#xff09;&#xff0c;可参考containers。本文中我们主要学习nn.…

3D模型渲染引擎6大特点解读:助力AR/VR呈现惊叹的视觉效果!

一、用于桌面、移动和 AR/VR 应用程序的2D和3D图形引擎 HOOPS Visualize是一个3D图形SDK&#xff0c;可以快速开发高性能、跨平台的工程应用程序。主要特点包括&#xff1a; HOOPS Visualize的基石是图形内核&#xff0c;这是一种功能齐全、以工程为中心的场景图形技术&#…

项目实战(cloud)--配置中心Config(码云来做一个配置中心)

服务的拆分原则&#xff1a; 单体应用向微服的一个改造&#xff1a; 搭建一个聚合项目 创建一个maven项目 父项目 pom <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"…

uCOSii信号量

uCOSii信号量 主要用来测试使用uCOSii“创建信号量,发送信号量&#xff0c;接收信号量,删除信号量”。 学习uCOSii一定要先了解os_cfg.h文件。 信号量管理函数如下&#xff1a; OSSemAccept() 无条件地等待请求一个信号量函数,中断服务子程序只能用OSSemAccept()而不能用OS…