行业知识

当前位置:首页>新闻中心>行业知识
全部 53 公司动态 11 行业动态 24 行业知识 18

教你自建MQTT服务器

时间:2025-04-01   访问量:1003


概述

随着物联网技术的快速发展,MQTT( )消息队列遥测传输协议,作为一种轻量级的通讯协议,被广泛应用于物联网设备之间的通讯。

MQTT 是一种基于发布/订阅(/)模式的轻量级通讯协议,该协议构建于TCP/IP协议上。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。

v2-83f8e580ef2d1ee164968371353b8850_1440w.png


图片

本次教程中,将探讨如何基于EMQX平台自建MQTT服务器,并实现设备之间的高效通讯。无论是在工业控制、智能家居还是智能城市等领域,搭建自己的MQTT服务器都能为我们带来更大的灵活性和可扩展性。让我们一起深入了解这个过程,为物联网应用打下坚实的基础。

MQTT通信的架构

v2-83f8e580ef2d1ee164968371353b8850_1440w.png


上面架构图来自EMQX官网,其中中间绿色部分即我们要搭建的MQTT ,MQTT服务器搭建完成后,我们可以通过各种编程语言类库对服务器发起连接请求,以及主题发布和订阅。而编程语言类库中我们就可以使用的mqtt扩展库与服务器进行通信。

MQTT概念

QoS 0( Once):至多一次,只发送一次,会发生消息丢失或重复;

QoS 1( Once):至少一次,确保消息到达,但消息重复可能会发生;

QoS 2( Once):只有一次,确保消息只到达一次。

EMQX

EMQX平台作为一款开源的MQTT消息服务器,提供了稳定可靠的消息传输服务。本次教程中,我们将探讨如何基于EMQX平台自建MQTT服务器,并实现设备之间的高效通讯。无论是在工业控制、智能家居还是智能城市等领域,搭建自己的MQTT服务器都能为我们带来更大的灵活性和可扩展性。

EMQX 官网:

v2-83f8e580ef2d1ee164968371353b8850_1440w.png

安装 MQTTX 服务端

本次教程中,我们将使用 部署,使用 指令直接部署,可以使用以下命令

获取 镜像

docker pull emqx/emqx

v2-b33b4ad5d108be4ba5b009259374f933_1440w.png


图片

启动 容器

docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:latest

访问仪表板

安装完成后,打开浏览器,并在地址栏中输入:18083以访问EMQX仪表板,您可以从那里连接到客户端或检查运行状态。


v2-b33b4ad5d108be4ba5b009259374f933_1440w.png

默认用户名: admin默认密码:public

进入 EMQX 管理页面:

v2-b33b4ad5d108be4ba5b009259374f933_1440w.png


安装 MQTTX 客户端

MQTTX 客户端我们选用的mqtt扩展库与服务器进行通信。/mqtt是一个基于的异步mqtt 客户端库,可用于接收或者发送mqtt协议的消息。支持QoS 0、QoS 1、QoS 2。支持MQTT、3.1、3.1.1、5版本。

安装

composer require workerman/mqtt


上一篇:为什么在物联网应用中不是使用 HTTP,而使用MQTT?

下一篇:一台监控摄像头的组成

发表评论:

评论记录:

未查询到任何数据!