What is Mosquitto?
Eclipse Mosquitto是一个开源(EPL / EDL许可)消息代理,它实现了MQTT协议版本5.0,3.1.1和3.1。Mosquitto重量轻,适用于从低功率单板计算机到完整服务器的所有设备。
MQTT协议提供了一种使用发布/订阅模型执行消息传递的轻量级方法。这使其适用于物联网消息传递,例如低功率传感器或移动设备,如电话,嵌入式计算机或微控制器。
Mosquitto项目还提供了一个用于实现MQTT客户端的C库,以及非常流行的mosquitto_pub和mosquitto_sub命令行MQTT客户端
我的理解就是MQTT代理服务器,MQTT数据交互中转站
Install
环境
centos7操作系统
下载源代码包
wget http://mosquitto.org/files/source/mosquitto-1.4.5.tar.gz
解压
tar zxfv mosquitto-1.4.5.tar.gz
进入目录
cd mosquitto-1.4.5
编译
make
安装
sudo make install
bug
1.编译找不到openssl/ssl.h
【解决方法】——安装openssl
yum install openssl-devel
2.编译过程找不到ares.h
yum install c-ares-devel
3.编译找不到uuid/uuid.h
yum install libuuid-devel
启动代理服务
mosquitto -v
bug
截图中有一个Error,这是因为没有在配置文件中配置用户信息
解决方案
1.修改配置文件
2.执行命令增加当前用户: adduser mosquitto
解决Bug,Mosquitto服务成功运行
Test
订阅主题
mosquitto_sub -v -t mqttserver
-t:指定主题,此处为mqttserver
-v:打印更多的调试信息
bug
使用过程中找不到libmosquitto.so.1
解决方法:
sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
sudo ldconfig
开始订阅监听了
发布信息
mosquitto_pub -t mqttserver -m Hello
-t:指定主题
-m:指定消息内容
开启一个控制台终端(Shell窗口),发送信息
订阅端接收到信息
最后
这只是简单的入门使用,具体使用还是要根据开发者的常用开发语言去处理何时发布信息到订阅的客户端上