一、MQTT简介
MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的消息传输协议,专为低带宽、高延迟或不可靠的网络环境设计,特别适用于物联网(IoT)场景中的设备间通信。MQTT的核心组件包括客户端和服务器(也称为代理或经纪人Broker);主要由客户端、服务器、主提、服务质量组成;
- 客户端(Client):可以是发布者、订阅者或同时具备两种角色的设备或应用程序。
- 服务器(Broker):中心节点,负责接收来自客户端的发布消息,并根据订阅关系将消息转发给相应的订阅者。
- 主题(Topic):消息的分类标签,客户端通过订阅特定主题来接收相关消息。
- 服务质量(QoS):分为0、1、2三个等级,分别对应“至多一次”、“至少一次”和“刚好一次”的消息传输保证。
二、mosquitto服务
主要以第三方组件mosquitto为例介绍MQTT服务
1、在线安装:
# 服务端
sudo apt install mosquitto 或 sudo apt install mosquitto-dev
# 客户端
sudo apt install mosquitto-clients
2、源码安装:
# 安装依赖
sudo apt-get install uuid-de
# 下载源码
wget https://mosquitto.org/files/source/mosquitto-2.0.15.tar.gz
# 源码解压
tar -zxvf mosquitto-2.0.15.tar.gz
cd mosquitto-2.0.15
# 编译安装
make & sudo make install
3、服务开启和使用
默认安装后,mosquitto代理服务会自动启动
使用 systemctl status mosquitto.service 命令可以查看当前服务状态
mosquitto.service - Mosquitto MQTT Broker
Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset: en