当前位置: 首页 > 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.dtcms.com/a/186996.html

相关文章:

  • 软件测试——开发模型
  • 批量重命名bat
  • 【PXIE301-211】基于PXIE总线的16路并行LVDS数据采集、1路光纤数据收发处理平台
  • 制作一款打飞机游戏45:简单攻击
  • 处理 Websocket 超时问题
  • 密码学--仿射密码
  • 5月12日信息差
  • Matlab 模糊控制平行侧边自动泊车
  • 动态IP技术赋能业务创新:解锁企业数字化转型新维度
  • Vue 2 项目中配置 Tailwind CSS 和 Font Awesome 的最佳实践
  • 最大m子段和
  • Costmap代价地图
  • ActiveMQ 高级特性:延迟消息与优先级队列实战(一)
  • Java中的线程
  • 编程题 02-线性结构3 Reversing Linked List【PAT】
  • Arduino快速入门
  • 组合数学——容斥原理
  • K8S Ingress、IngressController 快速开始
  • [数据结构高阶]并查集初识、手撕、可以解决哪类问题?
  • AI Agent开发第64课-DIFY和企业现有系统结合实现高可配置的智能零售AI Agent(上)
  • Matlab 空调温度时延模型的模糊pid控制
  • M8040A/M8199助力数据中心收发信机测试
  • 25、Tailwind:魔法速记术——React 19 样式新思路
  • 数据治理域——数据治理体系建设
  • Hive HA配置高可用
  • 多样本整合Banksy空间聚类分析(Visium HD, Xenium, CosMx)
  • AAAI-2025 | 中科院无人机导航新突破!FELA:基于细粒度对齐的无人机视觉对话导航
  • 深入浅出:Java 中的动态类加载与编译技术
  • 15.three官方示例+编辑器+AI快速学习webgl_buffergeometry_instancing
  • IOT藍牙探測 C2 架構:社會工程/節點分離防追尋