介绍:
MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,为此,它需要一个[消息中间件 ](https://baike.baidu.com/item/消息中间件 /5899771)。
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。
主要就是用到了mosquitto这款消息代理服务软件。其采用发布/订阅模式传输机制,轻量、简单、开放并易于实现,被广泛应用于物联网之中。
一、安装依赖
1、安装gcc_c++ cmake openssl-devel
yum -y install gcc_c++ cmake openssl-devel
image.png
2、新建个mqtt_test文件夹
mkdir mqtt_test
首先创建存放路径(根据自己的情况),并进入该目录
image.png
3、下载mosquitto,并解压:
wget http://mosquitto.org/files/source/mosquitto-1.4.10.tar.gz
image.png
解压
tar -xzvf mosquitto-1.4.10.tar.gz
image.png
注意:先不要编译安装,先安装后面的工具
4、安装c-areas(支持异步DNS查找的库):
wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz
image.png
解压
tar -zxvf c-ares-1.10.0.tar.gz
并进入该目录:
image.pngcd c-ares-1.10.0/
编译安装:
./configure
image.png
......
make && make install
image.png
......
该过程执行结束之后,退出该目录,回到创建的mqtt_test目录下
cd ..
5、安装lib-uuid(支持为每个连接客户端生成唯一uuid):
yum -y install libuuid-devel
image.png
6、安装libwebsockets(支持需使用websocket的应用):
wget https://github.com/warmcat/libwebsockets/archive/v1.3-chrome37-firefox30.tar.gz
image.png
image.png
解压该文件,并进入该目录,编译安装:
解压
tar -zxvf v1.3-chrome37-firefox30.tar.gz
image.png
image.png
在此目录下创建一个文件夹build,并进入:
mkdir build
cd build
image.png
执行
cmake .. -DLIB_SUFFIX=64
image.png
image.png
目录下生成Makefile,在此目录下编译安装:
make && make install
image.png
。。。。。。
上面的三个有可能没安装成功,尤其是第三个,不过并无大碍,只不过没有相应的功能
二、安装mosquitto
返回我们第一个下载解压的mosquitto-1.4.10,进入此目录:
cd mosquitto-1.4.10
image.png
1.修改一下mosquitto的配置:
vim config.mk
image.png
将里面的WITH_SRV:=yes和WITH_UUID:=yes都用#号注释掉,然后保存退出
2. 编译安装mosquitto
make && make install
image.png
.....
三、启动测试
创建用户:
groupadd mosquitto
useradd -g mosquitto mosquitto
image.png
程序配置:
mv /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf
启动程序:(默认端口为1883)
mosquitto -c /etc/mosquitto/mosquitto.conf -d
再打开一个服务器窗口,在一个(订阅)窗口输入:
mosquitto_sub -t test #test:是一个主题
另一个(发布)窗口输入:
mosquitto_pub -t test -h localhost -m "测试功能"
订阅窗口收到:
image.png
注意:如果在启动过程中找不到libmosquitto.so.1的话,在mqtt_test下输入以下指令修改一下libmosquitto.so的位置:
ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
ldconfig
执行完之后,重新启动 mosquitto,则启动正常!
四、客户端安装配置(MQTT.fx)
下载地址:链接:https://pan.baidu.com/s/1mSacbNI27wpBm76wzSD68Q
提取码:8hxt
安装过程一路点击下一步即可,此处略。。。
配置:
image.pngimage.png
image.png
image.png
image.png
image.png
image.png
安装完成
网友评论