Mosquitto简单介绍
实现MQTT协议的软件有很多,常见的有Mosquitto、Apollo、Mosca、emqttd等。今天要介绍的是Mosquitto,它主要是由C来开发的,包括了服务端和客户端,可以跨平台部署。更多的时候,使用它来搭建MQTT服务器,其他的嵌入式设备(如nodemcu、树莓派等)。单机能够承受十万以上的连接(没测试过),但是对于一般的物联网应用还是足够使用。
源码安装
Mosquitto的最新版本是v1.4.11,其源码可以通过其官网Mosquitto或者其项目地址Github下载获得并解压。
mkdir mosquitto
cd mosquitto
wget http://mosquitto.org/files/source/mosquitto-1.4.11.tar.gz -O mosquitto.tar.gz
//从官网获取最新版本
tar -zxvf mosquitto.tar.gz
cd mosquitto-1.4.11
解压之后,其目录结构如下:
其中,client文件夹下是mosquitto_sub和mosquitto_pub的源码,lib文件夹下是.so库文件的源码,src文件夹下是mosquitto和mosquitto_passwd的源码。如果要修改编译选项,对config.mk进行修改即可。
这里采用默认的编译选项,然后进行编译安装。
make
sudo make install //安装时需要管理员权限
mosquitto --help //如果出现版本信息和帮助内容,则说明安装成功
简单体验
服务器代理启动,只需简单一条命令即可
mosquitto -v
//-v参数会打印出各类信息
然后使用mosquitto_sub订阅一个主题
mosquitto_sub -h localhost -t "blinkdr"
//-h参数指定要连接的MQTT服务器
//-t参数指定要订阅的主题
在另外一个终端中,使用mosquitto_pub命令推送消息
mosquitto_pub -h localhost -t "blinkdr" -m "hello world"
//-h参数指定要连接的MQTT服务器
//-t参数指定向指定主题推送消息
//-m参数指定消息内容
效果如图
总结
Mosquitto就是这么简单,当然要使用它的高级特性,像TLS和用户验证等,需要对其编译选项及服务器启动配置文件有深入的了解。另外,其官网提供了一个测试用的MQTT服务器,可以供大家学习使用。
本文介绍了Mosquitto,一个基于C语言开发的MQTT协议服务器和客户端,适用于物联网应用。通过源码下载、编译安装,然后演示了如何启动服务器并使用mosquitto_sub和mosquitto_pub进行消息订阅和发布。对于更高级的特性和配置,如TLS和用户验证,需要进一步学习。

2374

被折叠的 条评论
为什么被折叠?



