当前位置: 首页 > news >正文

EMQX本地部署

一、MQTT简介

        MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息协议,专为远程传感器和控制设备的网络通信设计,尤其是在低带宽、不可靠或者延迟较高的网络环境下。它由Andy Stanford-Clark(IBM)和Arlen Nipper(Eurotech)于1999年发明,旨在解决卫星通信中遇到的高延迟和低速问题。

MQTT的特点

  • 轻量级:MQTT设计时考虑了低功耗和小内存占用,非常适合资源受限的设备使用。
  • 发布/订阅模式:这种通信模式允许消息生产者(发布者)与消费者(订阅者)解耦,二者不需要直接知道对方的存在,通过主题(topics)进行沟通。
  • 高效:MQTT在传输层使用TCP/IP协议,并且为了进一步减少网络负载,采用二进制格式编码,这使得它的开销比其他一些协议要小。
  • 服务质量(QoS):MQTT支持三种不同的服务质量等级,确保消息可靠传递:0 - 最多一次、1 - 至少一次、2 - 恰好一次。
  • 遗嘱消息:客户端可以在连接到服务器时定义一条遗嘱消息,当客户端异常断开连接时,服务器会将这条消息发送给相关的订阅者。
  • 保留消息:如果一个主题设置了保留消息,则任何新的订阅者订阅该主题时都会立即收到这条消息。

应用场景

        MQTT广泛应用于物联网(IoT)领域,比如智能家居、工业自动化、智能城市等。此外,由于其高效的通信机制,也适用于移动应用开发,特别是在需要保持长时间在线状态的应用中。

        随着物联网的发展,MQTT已经成为事实上的标准之一,许多平台和服务都提供了对MQTT的支持,包括阿里云、AWS IoT、Microsoft Azure等。


二、EMQX公用服务器

        在EMQX的服务中,在调试阶段,可以使用免费的公用的服务器进行调试,其具体的网址如下:Easy-to-Use Online MQTT Client | Try Now,但是公用服务器中因为使用者比较多,如果所设置的订阅和发布名称比较大众的话,容易接收到别人的数据。

登录之后的页面如下:

         具体的使用教程文档链接如下:MQTT 协议快速入门 2025:基础知识和实用教程 | EMQ


三、EMQX本地化部署

        在部署时,本案例使用的是腾讯云的服务器部署,支持的擦欧总系统和平台如下:

        但是在部署的过程中,需要先将需要的端口打开,至于具体的需要打开那一个端口,可以去查找官方文档,每一个端口的作用,本文不详细说明了。

端口号协议/用途说明
1883MQTT over TCP默认的非加密MQTT通信端口,用于设备或客户端通过TCP连接。
8883MQTT over SSL/TLS加密的MQTT通信端口,需配置SSL证书。
8083MQTT over WebSocket (WS)非加密的WebSocket端口,适用于浏览器等需要通过HTTP协议访问MQTT的场景。
8084MQTT over WebSocket Secure (WSS)加密的WebSocket端口,需SSL证书,适用于需要安全的浏览器通信场景。
18083HTTP API & 管理控制台 (Dashboard)用于访问EMQX的Web管理界面和REST API,默认账号 admin/public
4369Erlang Port Mapper (EPMD)Erlang分布式节点通信端口,用于集群节点发现(仅在集群部署时需要)。
6370MQTT-SN (非加密)MQTT-SN协议端口,适用于低功耗设备(如传感器网络)。
6369MQTT-SN over TLS加密的MQTT-SN端口,需SSL证书。

        即在防火墙中释放一些端口:下面的端口可能不全,因为没有截全。

        部署的教程如下:在 Ubuntu 上安装 EMQX | EMQX文档,在官方文档中有具体的配置内容,根据官方给的链接或者指令直接下载就行。

        部署完成之后的登录页面如下:

 登录后节目如下:

http://www.xdnf.cn/news/416035.html

相关文章:

  • 传奇游戏跟奇迹游戏的区别
  • 序列检测器
  • Wi-Fi网络角色及功能详解
  • 强大的Lora绘图模型使用-StableDiffusion
  • 用1W字讲透数据预处理,数据增强
  • 【Unity3D插件】Unity3D插件之天气系统/日夜系统插件-UniStorm
  • Linux 内核参数
  • vue+threeJS 大理石贴图
  • 网络层:ICMP协议
  • Femap许可使用统计与分析
  • 电脑端音乐播放器推荐:提升你的听歌体验!
  • python3数据类型
  • 导轨式直流电表在充电桩中的新突破:DJSF1352-D实战解析
  • 【数据结构与算法】二分查找
  • 嵌入式软件开发常见warning之 warning: implicit declaration of function
  • HTTP协议解析:Session/Cookie机制与HTTPS加密体系的技术演进(一)
  • 专题二:二叉树的深度搜索(求根节点到叶节点数字之和)
  • 构建Android系统UI架构方法论
  • telnetlib关键流程示意图
  • ​​Python大数据分析专项课程​​
  • 解析文件加密软件,文件加密软件是什么?2025最新分享
  • 【深度学习-Day 9】机器学习核心概念入门:监督、无监督与强化学习全解析
  • 如何用vi编辑器的打开,创建和保存文件的基本操作
  • 谈AI/OT 的融合
  • LVGL(lv_switch开关)
  • 【JS逆向基础】前端基础-JS
  • 技术视界 | 具身感知与生成大模型:开启智能新时代(上)
  • 多线程(一)
  • 2025/5/7 心得
  • 进销存ERP系统,Java+Vue,含源码及文档,整合进销存各环节,实现数据精准互通,提升企业运营效能