MQTT协议简介
IBM® WebSphere® MQ Telemetry Transport(简称 MQTT)是一种基于 TCP/IP 的轻量级发布 / 预订协议,用于连接大量的远程传感器和控制设备。在必须允许低带宽和不可靠的通信并且占用较少内存的设备上,专业化的应用程序就使用 MQTT 协议。用户可以编写自己的客户机以使用已发布的协议。
MQTT 产品作为 WebSphere MQ 产品的扩展,使用了 MQTT V3.1 版本的协议。它提供了一些小型客户机库,可以将这些客户机库嵌入到运行于不同设备平台上的智能设备中。使用客户机构建的应用程序使用 MQ Telemetry Transport(MQTT) 和 WebSphere MQ Telemetry 服务并借助 WebSphere MQ 来可靠地发布和预订消息。一个高级 MQTT 客户机(即设备的 WebSphere MQ Telemetry 守护程序)可以运行于多种平台上。它可以充当一个网络集中器,能够将更多的 MQTT 客户机连接至单个队列管理器。对于在网络发生短暂中断期间无法缓存消息的小型设备,它还可以为这些小型设备提供存储转发功能。
服务器/客户端选择
官方网站:http://mqtt.org/software
Mosquitto介绍
Mosquitto is an Open Source MQTT server with C, C++, Python. For JavaScript, Mosquitto recommends the Eclipse Paho Javascript client. A public, hosted test server is also available
Mosquitto项目官网:http://projects.eclipse.org/projects/technology.mosquitto或者http://mosquitto.org
fedora22环境下安装步骤:
Mosquitto安装配置
安装必要的库和工具包
sudo dnf groupinstall "Development tools"
sudo dnf groupinstall "Development Libraries"
sudo dnf install cmake gcc-c++ openssl-devel c-ares-devel
下载源代码包:mosquitto-1.4.5
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
配置
cmake .
编译
make
安装
sudo make install
可以看出默认配置文件目录为/usr/local/etc/mosquitto
查看帮助文件
mosquitto --help
mosquitto is an MQTT v3.1 broker.
Usage: mosquitto [-c config_file] [-d] [-h] [-p port]
-c : specify the broker config file.
-d : put the broker into the background after starting.
-h : display this help.
-p : start the broker listening on the specified port.
Not recommended in conjunction with the -c option.
-v : verbose mode - enable all logging types. This overrides
any logging options given in the config file.
See http://mosquitto.org/ for more information.
启动mosquitto并载入配置文件
cd /usr/local/etc/mosquitto/
mosquitto -c mosquitto.conf -d
ubuntu系统环境下安装
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
sudo apt-get update
如果出现问题:"apt-add-repository " command not fount 运行一下命令
sudo apt-get install python-software-properties
sudo apt-get install software-properties-common