MQTT初体验mosquitto的安装和使用(mosquitto-1.6.10)

一、简介

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

二、环境介绍

  1. 系统环境 :centos 7.5 (滴滴云服务器)
  2. MQTT版本:mosquitto-1.6.10

三、环境准备

1、资源获取

获取: wget https://mosquitto.org/files/source/mosquitto-1.6.10.tar.gz

解压: tar zxfv mosquitto-1.6.10.tar.gz

2、安装

  • 进入目录: cd /usr/local/data/mosquitto-1.6.10
  • 执行命令:make:
[root@10-254-188-68 mosquitto-1.6.10]# make 
set -e; for d in lib client src; do make -C ${d}; done
make[1]: Entering directory `/usr/local/data/mosquitto-1.6.10/lib'
cc  -I. -I.. -I../lib -I../src/deps -DWITH_TLS -DWITH_TLS_PSK -DWITH_THREADING -DWITH_SOCKS -Wall -ggdb -O2 -fPIC -c mosquitto.c -o mosquitto.o
make[1]: cc: Command not found
make[1]: *** [mosquitto.o] Error 127
make[1]: Leaving directory `/usr/local/data/mosquitto-1.6.10/lib'
make: *** [mosquitto] Error 2
  • 安装gcc : yum install gcc

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t2BvsaOO-1596862684423)(https://b3logfile.com/file/2020/08/image-621102d6.png)]

  • 再次:make
[root@10-254-188-68 mosquitto-1.6.10]# make
set -e; for d in lib client src; do make -C ${d}; done
make[1]: Entering directory `/usr/local/data/mosquitto-1.6.10/lib'
cc  -I. -I.. -I../lib -I../src/deps -DWITH_TLS -DWITH_TLS_PSK -DWITH_THREADING -DWITH_SOCKS -Wall -ggdb -O2 -fPIC -c mosquitto.c -o mosquitto.o
In file included from mosquitto.c:17:0:
../config.h:48:35: fatal error: openssl/opensslconf.h: No such file or directory
 #  include <openssl/opensslconf.h>
                                   ^
compilation terminated.
make[1]: *** [mosquitto.o] Error 1
make[1]: Leaving directory `/usr/local/data/mosquitto-1.6.10/lib'
make: *** [mosquitto] Error 2

  • 安装 openssl:yum install openssl-devel

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AvTYT8FL-1596862684425)(https://b3logfile.com/file/2020/08/image-860eab58.png)]

  • 再次 make ,依然失败:
make -C cpp
make[2]: Entering directory `/usr/local/data/mosquitto-1.6.10/lib/cpp'
g++  -I. -I.. -I../lib -I../src/deps -DWITH_TLS -DWITH_TLS_PSK -DWITH_THREADING -DWITH_SOCKS  -fPIC -c mosquittopp.cpp -o mosquittopp.o
make[2]: g++: Command not found
make[2]: *** [mosquittopp.o] Error 127
make[2]: Leaving directory `/usr/local/data/mosquitto-1.6.10/lib/cpp'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/usr/local/data/mosquitto-1.6.10/lib'
make: *** [mosquitto] Error 2

  • 安装: gcc-c++
首先执行: yum whatprovides "*/g++"
发现:<这里可能是其他版本,根据实际情况安装即可>   
gcc-c++-4.8.5-39.el7.x86_64 : C++ support for GCC
Repo        : base
Matched from:
Filename    : /usr/bin/g++
执行:  yum install gcc-c++-4.8.5-39.el7.x86_64

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yV3lK3Nu-1596862684426)(https://b3logfile.com/file/2020/08/image-422c15e8.png)]

再次执行 : make ,没有明显报错;

执行命令: make install 即可

3、测试

  • 测试前需要解决几个问题:
问题一:
mosquitto_sub: error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory

解决方法:
 //创建链接
vi /etc/ld.so.conf
 //编辑文件ld.so.conf
      include ld.so.conf.d/*.conf
      /usr/local/lib/libmosquitto.so.1
// 建立软连接
sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
      //更新链接库  ldconfig
      /sbin/ldconfig -v


  • 至此,我们的服务已经安装完毕,见证奇迹的时刻到了:
  • 打开三个xshell窗口:A , B , C

A : 输入命令: mosquitto -v

B : 输入命令: mosquitto_sub -v -t toptest 等待

C : 输入命令:mosquitto_pub -h localhost -t toptest -m “hello world”

此时:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

原文链接: https://blog.zzphoenix.com/articles/2020/08/08/1596852300287.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值