一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。一个典型的应用案例就是 Andy Stanford-ClarkMosquitto(MQTT协议创始人之一)在家中实现的远程监控和自动化。并在 OggCamp 的演讲上,对MQTT协议进行详细阐述。

一、准备材料

安装包:openssl、JSON-C、mosquitto

安装环境:ubuntu20.04

二、MQTT协议

MQTT每个版本之间存在一定的差异,需要了解相关信息的请参考相关协议说明

MQTT中文网:http://mqtt.p2hp.com/

三、下载源码

  1. openssl下载

    openssl官网:https://www.openssl.org/

    openssl源码下载



  2. mosquitto下载

    mosquitto官网:http://mosquitto.org/

    mosquitto源码下载





    mosquitto的所以源码版本都在source路径下

  3. json-c下载

    通过git获取json-c源码
git clone https://github.com/DaveGamble/cJSON

四、mosquitto安装

  安装方式有两种,分为指令安装和源码安装,可以根据自己的需要选择相应的安装方式

  1. 源码安装

    了解源码的安装主要是方便后面学习移植,先将openssl和mosquitto拷贝到linux环境中进行解压,先安装openssl再安装mosquitto。

    安装openssl
tar vxf openssl-1.1.1l.tar.gz
cd openssl-1.1.1l
ls

./config
make
make test
sudo make install

安装完成后会在/usr/local路径下生成ssl文件,并在include和share文件中生产相关文件。

安装json-c

git clone https://github.com/DaveGamble/cJSON
cd cJSON
make all
sudo make install

安装mosquitto

tar vxf mosquitto-2.0.11.tar.gz
cd mosquitto-2.0.11
ls



直接make即可

make
sudo make install
  1. 指令安装
sudo apt-get install mosquitto

sudo apt-get install mosquitto-clients

五、mosquitto使用

  测试mosquitto至少需要打开3个命令窗口。

  1. 启动服务端(代理服务器)
mosquitto -c /etc/mosquitto/mosquitto.conf.example



2. 启动订阅端(订阅者)

mosquitto_sub -t temp



订阅成功后代理服务器将会输出相应的信息



3. 发布消息(发布者)

mosquitto_pub -t temp -m hello_world



发布完成后订阅者将会收到相信的信息

问题处理

  1. mosquitto_sub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory



    解决办法:
sudo ldconfig
  1. Error: Address already in use



    解决办法:
sudo lsof -i:1端口号
kill -9 进程号

参考文献

mosquitto百度百科:https://baike.baidu.com/item/mosquitto/3172080?fr=aladdin

openssl百度百科:https://baike.baidu.com/item/openssl/5454803?fr=aladdin

Linux下cJSON安装及使用:https://zhuanlan.zhihu.com/p/55095477

MQTT服务器搭建--Mosquitto:https://hao123.blog.csdn.net/article/details/112789257

MQTT--mosquitto使用详解:https://blog.csdn.net/qq_28877125/article/details/78330809

mosquitto的安装与使用的更多相关文章

  1. Centos7-mqtt消息中间件mosquitto的安装和配置

    在以前发布的博客"菜鸟是如何打造智能家居系统的"文章最后我提到了使用MQTT协议作为云平台和设备之间的通信协议以达到消息传递的实时性,手机的消息推送也大多基于这种平台,首先搬来一段 ...

  2. mosquitto centos安装配置

    周末弄wordpress的Mysql,一不小心把wordpress弄不好了,写了的好几遍文章也没有了,一怒之下,把整个系统重装了,安装了不带任何软件的新系统,重新搭一遍. 0.安装ftp服务器 #yu ...

  3. 一、Mosquitto 介绍&安装

    一.Mosquitto 介绍 一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的 ...

  4. mosquitto broker 安装服务后启动失败

    一.失败原因 由于做项目用到Mqtt协议,需要安装mosquitto broker 服务,在自己本地笔记本电脑安装后直接启动服务是可以的.后来部署到服务器启动,报错缺少msvcr100.dll ,由于 ...

  5. 【MQTT】Mosquitto的安装与使用流水记

    最近使用MQTT,安装Mosquitto试一下,并记录下来. 软件准备 从官网获取安装包: wget http://mosquitto.org/files/source/mosquitto-1.4.1 ...

  6. MQTT消息中间件Mosquitto的安装和配置

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  7. Mosquitto安装_Ubuntu/Debian上安装消息队列Mosquitto

    Mosquitto安装_Ubuntu/Debian上安装消息队列Mosquitto MQTT是IBM开发的一个即时通讯协议.MQTT是面向M2M和物联网的连接协议,采用轻量级发布和订阅消息传输机制.M ...

  8. mosquitto在Linux环境下的部署/安装/使用/测试

    mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...

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

    关键字:在windows安装mosquitto,在mosquitto中配置日志,在mosquitto中配置用户账号密码 关于Mosquitto配置的资料网上还是有几篇的,但是看来看去,基本上都是基于L ...

  10. 安装Mosquitto学习MOTT协议

    1.源码的获取:http://mosquitto.org/files/source/ 2.直接解压tar文件,就可以得到所有的源码,里面有个配置文件config.mk,这个文件包含了Mosquitto ...

随机推荐

  1. Ficow 陪你看 WWDC 2022

    本文首发于 Ficow Shen's Blog,原文地址: WWDC22 - Xcode 14 新特性. 内容概览 前言 用好过滤器 Recap,节约你的宝贵时间 Essential,取其精华 必看内 ...

  2. 工作中常用且容易遗忘的 CSS 样式清单

    注:本文转载自公众号 Vue中文社区的一篇文章 1.文字超出部分显示省略号 单行文本的溢出显示省略号(一定要有宽度)  p{    width:200rpx;    overflow: hidden; ...

  3. Java freemarker 模板生成word动态表格

    1.新建一个word文档 2.把调整完的word另存为xml格式: 3.使用文本编辑器打开 4.xml格式化XML 在线格式化 | 菜鸟工具菜鸟工具-XML 在线格式化..https://c.runo ...

  4. KingbaseES V8R6 集群运维系列 -- trusted_server

    案例说明: 在KingbaseES V8R3及V8R6早期的版本,对于读写分离的集群如果网关地址无法连通,将会导致整个集群关闭,数据库服务无法访问.在后期版本的改进中,降低了对网关的依赖性,当网关地址 ...

  5. Chrome浏览器使用小技巧

    前言 Notes made by IT-Pupil-Poo-Poo-Cai(IT小学生蔡坨坨). The notes are for reference only. Personal blog:www ...

  6. C# Lock的用法

    当我们使用线程的时候,效率最高的方式当然是异步,即各个线程同时运行,其间不相互依赖和等待.但当不同的线程都需要访问某个资源的时候,就需要同步机制了,也就是说当对同一个资源进行读写的时候,我们要使该资源 ...

  7. 浅析eTS的起源和演进

    原文:https://mp.weixin.qq.com/s/N2RPeboN8Fj0-8wBMZJ-7w,点击链接查看更多技术内容. 引言 Mozilla创造了JS,Microsoft创建了TS,Hu ...

  8. OpenStack实战安装部署

    OpenStack安装部署 一.基础准备工作 部署环境:CentOS 7 64 1.关闭本地iptables防火墙并设置开机不自启动 <span style="color:#33333 ...

  9. nginx重新整理——————开篇[一]

    前言 因为整理http协议,顺便把nginx 整理了. 正文 主要作用: 正向代理 反向代理(负载均衡.缓存等) 静态资源 nginx 的优点: 适合高并发,一个进程可以处理很多的请求. 扩展性强,有 ...

  10. 重新点亮linux 命令树————用户和用户组管理[六]

    前言 简单整理一下用户和用户组管理. 正文 主要是介绍下面的命令: useradd 新建用户 userdel 删除用户 passwd 修改用户面 usermod 修改用户属性 chage 修改用户属性 ...