emqx-5.1.4开源版使用记录
windows系统安装eqmx
去官网下载 emqx-5.1.4-windows-amd64.zip,然后找个目录解压
进入bin目录,执行命令启动emqx
执行命令
emqx.cmd start
使用emqx
访问内置的web管理页面
浏览器访问地址
http://localhost:18083/#/dashboard/overview
默认登录账户admin 密码public ,第一次登录后会提示要求更改密码
设置客户端认证(mqtt账密)
进入客户端认证菜单,创建认证
创建mqtt用户名/密码认证
使用内置数据库
设置账号类型username,密码加密方式 sha256,加盐方式suffix
进入用户管理tab,添加mqtt连接的账号密码,
建议设置1个超级用户和多个普通用户,
超级用户可以用来订阅/管理或监控其他用户 (详见客户端授权配置)
使用MQTTX工具测试MQTT联通性
emqx提供的mqtt-server的端口和地址分别是
第1种mqtt协议
url: mqtt://127.0.0.1
port: 1883
第2种websocket协议
url: ws://127.0.0.1:8083/mqtt
测试刚刚创建的3对mqtt账密,看看是否能登录连接成功,登录成功则说明账户是可用的
mqtt账号 | mqtt密码 | |
---|---|---|
管理员 | admin | emqx |
普通1 | c01 | 123456 |
普通2 | c02 | 123456 |
设置客户端授权(acl管控)
进入客户端授权菜单,创建acl授权
创建acl授权信息使用的数据源,这里我继续使用内置数据库
修改权限管理tab页面,按用户名设置ACL权限信息
这里我分别对admin , c01 ,c02 这3个用户设置了ACL权限,如下表
用户 | 允许 | 禁止 |
---|---|---|
admin | 允许对 # 发布和订阅 | |
c01 | 允许订阅up/cck/stat/cck2 ,允许发布up/cck/stat/cck1 | 禁止订阅$SYS/# |
c02 | 允许订阅up/cck/stat/cck1 ,允许发布up/cck/stat/cck2 | 禁止订阅$SYS/# |
同使用时MQTTX、MQTT Explorer 和通信猫工具来测试ACL权限
先使用 通信猫 工具登陆c01用户,订阅up/cck/stat/cck2 ,向up/cck/stat/cck1发布消息
然后使用 MQTTX 工具 登陆c02用户,订阅up/cck/stat/cck1 ,向up/cck/stat/cck2发布消息
再使用 MQTT Explorer 工具 登陆admin用户 ,观察EMQX所有Topic主题情况
使用emqx提供的swagger服务
swagger访问地址
http://localhost:18083/api-docs/index.html
通过api密钥使用emqx的开放api
eqmx新增API密钥
记下emqx页面上生成的api密钥对信息,后面java代码http调用emqx时会用到这个api密钥对
swagger在线测试刚刚的API密钥对
swagger在线接口文档使用API密钥登录后,即可在线测试EQMX开放的这些接口
实际开发中,如 java开发 IOT云平台,可以从emqx 开放的api 中获取mqtt服务器 所有暴露出的信息指标