天涯论坛

 找回密码
 立即注册
搜索
查看: 20|回复: 2

物联网基本:运用EMQ搭建MQTT服务器

[复制链接]

3001

主题

220

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99099138
发表于 2024-10-3 12:53:14 | 显示全部楼层 |阅读模式

1 EMQ介绍

EMQ (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台研发的开源物联网 MQTT 信息服务器。Erlang/OTP 是出色的软实时(Soft-Realtime)、低延时(Low-Latency)、分布式(Distributed) 的语言平台。MQTT 是轻量的(Lightweight)、发布订阅模式(PubSub) 的物联网信息协议

EMQ 项目设计目的是承载移动终端或物联网终端海量 MQTT 连接,并实此刻海量物联网设备间快速低延时信息路由:

稳定承载大规模的 MQTT 客户端连接,单服务器节点支持50万到100万连接。分布式节点集群,快速低延时的信息路由,单集群支持1000万规模的路由。信息服务器内扩展,支持定制多种认证方式、有效存储信息到后端数据库。完整物联网协议支持,MQTT、MQTT-SN、CoAP、WebSocket 或私有协议支持。

EMQ官网:https://www.emqx.io/cn

2 准备工作

搭建MQTT服务器之前,需要先下载EMQ软件包,个人运用选取EMQ X Broker,EMQ X Broker 是基于高并发的 Erlang/OTP 语言平台研发,支持百万级连接和分布式集群架构,发布订阅模式的开源 MQTT 信息服务器

进入官网下载:https://www.emqx.io/cn/downloads#broker

选取版本,软件包,笔者下载的是V2.3.11,软件包选取Window,Window10的压缩包

下载完成解压,打开emqttd文件夹,软件包里即包括如下文件(重视:EMQ的下载存放路径别有中文):

EMQ 2.0用户手册:https://docs.emqx.net/broker/v2/cn/

3 安装EMQ

运用管理员身份运行cmd命令窗口,到emqttd的存放路径下/bin文件夹路径

输入命令 emqttd install ,安装emq

输入命令 emqttd start ,起步emq,第1次安装起步emq时可能会卡住,不碍事,关闭命令窗口,再次起步emq,当显现以下界面时候即暗示已成功起步emq

EMQ 信息服务器起步后,会默认加载 Dashboard 插件,起步 Web 管理掌控台。可经过 Web 掌控台,查看服务器运行状态、统计数据、客户端(Client)、会话(Session)、主题(Topic)、订阅(Subscription)、插件(Plugin)。

掌控位置: http://127.0.0.1:18083,默认用户: admin,秘码:public

尝试登录掌控台,验证 EMQ 是不是成功起步

能进入掌控台,即暗示EMQ安装成功

4 添加用户

EMQ 2.0 支持丰富的扩展插件,包含掌控台、扩展模块、多种认证方式、多种接入协议等:

能够在 Web 掌控台查看各个插件的运行状况

用户名、秘码认证插件(emq_auth_username)默认是停止运行的,咱们需要将其更改为起步

在命令行窗口运用 emqttd_ctl users add 命令添加用户,添加一个用户名和秘码均为test的用户做MQTT测试,可运用命令 emqttd_ctl users list 查看用户列表验证是不是成功添加用户

4 数据交互测试

4.1 MQTTBox连接

运用MQTTBox工具测试 EMQ MQTT服务器是不是能正常通信,自定义发布主题和订阅主题,得到MQTTBox连接信息如下:

连接信息 参数 位置 127.0.0.1 端口 1883 用户名 test 秘码 test 发布主题 publish_test订阅主题 subscribe_test

MQTTBox连接上EMQ MQTT服务器,且订阅subscribe_test主题

4.2 Websocket 连接

EMQ 2.0 信息服务器默认占用的 TCP 端口包含:

端口 用途 1883 MQTT 协议端口 8883 MQTT/SSL 端口 8083 MQTT/WebSocket 端口8080 HTTP API 端口 18083 Dashboard 管理掌控台端口

咱们用WebSocket做MQTT连接时端口应该为8083,而不是1883,故得到WebSocket连接信息如下:

连接信息 参数 位置 127.0.0.1 端口 8083 用户名 test 秘码 test发布主题 subscribe_test 订阅主题 publish_test

WebSocket连接上EMQ MQTT服务器,且订阅publish_test主题

4.3 信息交互测试

MQTTBox发布一条主题为publish_test的信息能够在EMQ WebSocket上看到发布的信息WebSocket发布一条主题为subscribe_test的信息能够在MQTTBox上看到发布的信息 EMQ MQTT服务器能正常接收、发送数据,正常通信,运用EMQ搭建MQTT服务器成功

重视:此处搭建的MQTT服务器只能运用局域网通信进行数据传输





上一篇:EMQ vs. VerneMQ
下一篇:开源物联网MQTT 5.0服务器——EMQ安装及运行教程
回复

使用道具 举报

2953

主题

3万

回帖

9997万

积分

论坛元老

Rank: 8Rank: 8

积分
99979403
发表于 2024-11-10 10:26:14 | 显示全部楼层
我完全赞同你的观点,思考很有深度。
回复

使用道具 举报

3094

主题

3万

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098754
发表于 2024-11-11 10:08:55 | 显示全部楼层
楼主果然英明!不得不赞美你一下!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-24 19:29 , Processed in 0.113483 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.