mosquitto的安装与使用
一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。一个典型的应用案例就是 Andy Stanford-ClarkMosquitto(MQTT协议创始人之一)在家中实现的远程监控和自动化。并在 OggCamp 的演讲上,对MQTT协议进行详细阐述。
一、准备材料
安装包:openssl、JSON-C、mosquitto
安装环境:ubuntu20.04
二、MQTT协议
MQTT每个版本之间存在一定的差异,需要了解相关信息的请参考相关协议说明
MQTT中文网:http://mqtt.p2hp.com/
三、下载源码
- openssl下载
openssl官网:https://www.openssl.org/
openssl源码下载


- mosquitto下载
mosquitto官网:http://mosquitto.org/
mosquitto源码下载


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

- json-c下载
通过git获取json-c源码
git clone https://github.com/DaveGamble/cJSON
四、mosquitto安装
安装方式有两种,分为指令安装和源码安装,可以根据自己的需要选择相应的安装方式
- 源码安装
了解源码的安装主要是方便后面学习移植,先将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
- 指令安装
sudo apt-get install mosquitto
sudo apt-get install mosquitto-clients
五、mosquitto使用
测试mosquitto至少需要打开3个命令窗口。
- 启动服务端(代理服务器)
mosquitto -c /etc/mosquitto/mosquitto.conf.example

2. 启动订阅端(订阅者)
mosquitto_sub -t temp

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

3. 发布消息(发布者)
mosquitto_pub -t temp -m hello_world

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

问题处理
- mosquitto_sub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory

解决办法:
sudo ldconfig
- 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的安装与使用的更多相关文章
- Centos7-mqtt消息中间件mosquitto的安装和配置
在以前发布的博客"菜鸟是如何打造智能家居系统的"文章最后我提到了使用MQTT协议作为云平台和设备之间的通信协议以达到消息传递的实时性,手机的消息推送也大多基于这种平台,首先搬来一段 ...
- mosquitto centos安装配置
周末弄wordpress的Mysql,一不小心把wordpress弄不好了,写了的好几遍文章也没有了,一怒之下,把整个系统重装了,安装了不带任何软件的新系统,重新搭一遍. 0.安装ftp服务器 #yu ...
- 一、Mosquitto 介绍&安装
一.Mosquitto 介绍 一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的 ...
- mosquitto broker 安装服务后启动失败
一.失败原因 由于做项目用到Mqtt协议,需要安装mosquitto broker 服务,在自己本地笔记本电脑安装后直接启动服务是可以的.后来部署到服务器启动,报错缺少msvcr100.dll ,由于 ...
- 【MQTT】Mosquitto的安装与使用流水记
最近使用MQTT,安装Mosquitto试一下,并记录下来. 软件准备 从官网获取安装包: wget http://mosquitto.org/files/source/mosquitto-1.4.1 ...
- MQTT消息中间件Mosquitto的安装和配置
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...
- Mosquitto安装_Ubuntu/Debian上安装消息队列Mosquitto
Mosquitto安装_Ubuntu/Debian上安装消息队列Mosquitto MQTT是IBM开发的一个即时通讯协议.MQTT是面向M2M和物联网的连接协议,采用轻量级发布和订阅消息传输机制.M ...
- mosquitto在Linux环境下的部署/安装/使用/测试
mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...
- Windows环境下安装配置Mosquitto服务及入门操作介绍
关键字:在windows安装mosquitto,在mosquitto中配置日志,在mosquitto中配置用户账号密码 关于Mosquitto配置的资料网上还是有几篇的,但是看来看去,基本上都是基于L ...
- 安装Mosquitto学习MOTT协议
1.源码的获取:http://mosquitto.org/files/source/ 2.直接解压tar文件,就可以得到所有的源码,里面有个配置文件config.mk,这个文件包含了Mosquitto ...
随机推荐
- python 写的随机抽奖小程序实现批量抽奖功能
设计思路: 1:导入EXCEL文件中,含有ID,Name两个字段的文件数据做为抽奖池 2:设置奖项,可自定义,放在.txt文件中去读取出来就可以 3:实现单轮可以抽多个名单的功能, 4:保存为.csv ...
- Java数据类型转换,字符串(String)转日期(Date)
Java类型转换,字符串(String)转日期(Date) import java.text.ParseException; import java.text.SimpleDateFormat; im ...
- 强烈推荐:2024 年12款 Visual Studio 亲测、好用、优秀的工具,AI插件等
工具类扩展 1. ILSpy 2022 (免费) ILSpy 是 ILSpy 开源反编译器的 Visual Studio 扩展. 是一款开源.免费的.且适用于.NET平台反编译[C#语言编写的程序和库 ...
- Unity最新一键清理Prefab中所有MissingComponent
因为老的API Properties.DeleteArrayElementAtIndex(propertyIndex);提示没权限修改, 而unity提供了新的API GameObjectUtil ...
- .net 发邮件的小工具,包含json,环境变量,命令行参数三种配置方式
一.业务需求 在工作中遇到一个场景,软件bug或功能发布之后,会通知测试进行测试,要求写一个小工具能自动发送邮件,功能包含发送和抄送支持多个,因为只是通知没有写进附件功能,这个其他博客都有搜一下就可以 ...
- 使用 MediaStream Recording API 和 Web Audio API 在浏览器中处理音频(未完待续)
使用 MediaStream Recording API 和 Web Audio API 在浏览器中处理音频 1. 背景 最近项目上有个需求,需要实现:录音.回放录音.实现音频可视化效果.上传wav格 ...
- lodash已死?radash最全使用介绍(附源码详细说明)—— Array方法篇(1)
相信很多前端同学甚至非前端都或多或少使用过lodash库,我们都知道lodash是一个非常丰富的前端工具库,比如最常用的防抖和节流,使用lodash都能很快实现,在github上更是有着58.7k的s ...
- SQLAlchemy详解
一.SQLAlchemy介绍 SQLAlchemy 是 Python SQL 工具包和对象关系映射器,为应用程序开发人员提供 SQL 的全部功能和灵活性. SQLAlchemy支持SQLite.Pos ...
- JDK9的新特性:String压缩和字符编码
目录 简介 底层实现 总结 简介 String的底层存储是什么?相信大部分人都会说是数组.如果要是再问一句,那么是以什么数组来存储呢?相信不同的人有不同的答案. 在JDK9之前,String的底层存储 ...
- pprof - 在现网场景怎么用
如何使用 pprof 来定位现网 Golang 问题,已经是一名 Gopher 所需要掌握的必备技能了.我们在实际工作中也经常使用它来定位现网问题.网上有很多文章来描述 pprof 的使用,但是实际的 ...