文章目录
前言
物联网通信最常用的协议之一是MQTT,而EMQX是作为一个消息中间件或者是一个MQTT的服务器,能够支持MQTT协议的通信
一、mqtt是什么?
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT协议属于应用层的协议,和HTTP属于统一层级。
MQTT协议的通信是通过一条条消息通道,在这里称为主题(topic),来进行消息的传输。 例如,现在有一条主题 :a/b/c 其中拥有发布权限的客户端A,可以向 a/b/c中发布消息。而具有这条主题的订阅权限的客户端B,则可以订阅主题a/b/c。那么在A向主题a/b/c发布一条消息之后,B则可以接收到该消息。
而EMQX则是实现mqtt消息代理分发的一个消息中间件。
二、EMQX部署步骤
1.下载压缩包
2.解压
3.配置EMQX连接属性
在etc目录下有一个emqx.conf文件。在该文件中,可以配置mqtt的连接地址信息
listener.tcp.external = 0.0.0.0:1883 tcp连接地址
listener.ssl.external = 8883 ssl加密连接地址
以及配置证书路径
listener.ssl.external.cacertfile =
listener.ssl.external.keyfile=
4.配置redis认证
配置文件位于etc/plugin/emqx_auth_redis.conf,该文件中可配置redis地址以及客户端账号密码和主题权限
auth.redis.type = single redis节点类型
auth.redis.server= redis连接地址
auth.redis.password redis连接密码
auth.redis.auth_cmd = HMGET mqtt_user:%u password redis中用户名密码存储格式
auth.redis.password_hash = sha256 密码加密算法plain代表明文
auth.redis.acl_cmd = HGETALL iot_mqtt_acl:%u redis中权限存储格式
5.配置默认启用插件
配置文件位于 data/load_plugins
6.EMQX – Dashboard
dashboard相当于emqx的后台管理员运维界面。
默认地址ip:18083
账号 admin
密码 public
可以在etc/plugin/emqx_dashboard.conf中配置
clinet是客户端管理,可以在此强制踢出客户端
topic 是当前使用的主题列表
Subscriptions 当前已经被订阅的主题信息
plugin菜单中可以对dashboard进行启动、停止操作
listener菜单中可以看到mqtt的连接信息
7.MQTT.fx工具连接mqtt
①配置mqtt客户端连接信息
②订阅或发布主题
总结
EMQX还可以使用MYSQL,配置文件,命令等方式进行密码和权限的认证,具体请参考plugin中的各个插件的使用
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/71760.html