Centos7安装和使用MQTT协议代理软件mosquitto教程

一.MQTT协议是什么

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和制动器(比如通过Twitter让房屋联网)的通信协议。

二.mosquitto是什么

mosquitto是一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单。

三.资源地址集锦

项目 官方地址
官方网站 点击进入
github 项目 点击进入
各版本下载地址 点击进入

四.Centos7下安装mosquitto

1.下载1.5版:

wget http://mosquitto.org/files/source/mosquitto-1.5.tar.gz

2.解压

tar zxfv mosquitto-1.5.tar.gz

3.编译

make

4.编译出错

提示出现缺少“openssl”或#报错,这是因为缺少依赖库。安装下面两个依赖:

sudo yum install openssl
sudo yum install openssl-devel

安装完后,再次make编译,报错g++: Command not found,缺少了gcc依赖,安装:

yum -y update gcc
yum -y install gcc+ gcc-c++

安装完后,再次编译,不在报错。

5.安装

sudo make install

五.测试使用

打开三个终端窗口A、B、C。

1.在A窗口启动mosquitto,并打印日志(-v参数),执行命令:

mosquitto -v 

执行后,A窗口的日志,会提示版本信息:
这里写图片描述

2.在B窗口,创建消费者,指定Topic为test(-t参数):

mosquitto_sub -v -t test

出现错误:“mosquitto_sub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory”。
用命令指定链接库位置:

sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1 

sudo ldconfig

再次创建消费者,不在报错,成功执行,A窗口的日志,会提示有客户端订阅消息:

Centos7安装和使用MQTT协议代理软件mosquitto教程_第1张图片

3.在C窗口,创建生产者,指定Topic(-t),并发送消息(-m

mosquitto_pub -t test -m "hello mosquitto"

执行后,B窗口消费者的日志,会提示有客户端订阅消息:
Centos7安装和使用MQTT协议代理软件mosquitto教程_第2张图片

窗口A中,会有“心跳”(间隔一段时间发送和接收信息),提示如下:
Centos7安装和使用MQTT协议代理软件mosquitto教程_第3张图片

到此,mosquitto在Centos7上的安装完成,并能够正常使用其收发信息。

你可能感兴趣的:(Linux)