一、EMQX 安装使用
1. windows安装
官网下载对应压缩包 Download EMQX
ps:本地安装路径不能有空格,中文
进入emqx/bin 目录,运行emqx console后,会显示Erlang运行弹框
网页端进入http://localhost:18083/#/, 若能成功进入,说明启动成功,不能进入,可能是18083端口被占用,修改 etc/plugins/emqx_dashboard.conf中的文件,修改对应端口,即可进入dashboard;
如果进入dashboard后显示 URL not found,是8081端口被占用,修改etc/plugins/emqx_management.conf 文件中的端口,即可成功登陆。
采用http插件认证授权,需要先在网页开启该插件,然后在plugins目录下,修改emqx_auth_http.conf文件中http接口的地址及端口。(还需关闭emqx.conf文件中的匿名登录)
2、docker安装
docker search emqx docker pull emqx/emqx 拉取最新版的emqx
由于服务器的18083、1883端口未开,对应修改emqx_dashboard.conf和emqx.conf文件中的对应端口;
网页开启http插件,并修改配置文件中的请求http接口ip、端口、参数的修改。
由于启用了http认证,需要调用外部接口,所以在docker中不能以默认的bridge桥接网络模式启动,以--network host启动,将能访问宿主机网络(还有container网络模式及link链接方法)。
两个系统安装,都遇到bug,问题较多,但基本都是因为端口问题!!!
springcloud教程 -- 1.快速搭建入门级demo,看这一篇就够了_叶巨岩的博客-CSDN博客_springcloud
二、EMQX 5.0
1. 遗嘱消息(Will Message)
MQTT 遗嘱消息(Will Message)的使用 | EMQ
2. Keep Alive
MQTT 协议 Keep Alive 详解 | EMQ
Keep Alive:客户端发送心跳的间隔时间;
超时时间:客户端发送心跳到收到服务器对心跳响应的超时时间;
如果客户端在 Keep Alive
期间没有发送消息,那么其必须向代理者发送一个 PINGREQ
数据包,以确认当前代理者仍然可用;而代理者必须断开未发送消息或者 PINGREQ
数据包的客户端连接,断开连接时间是 Keep Alive 时间间隔的 1.5 倍。
3. Clean Start 、Session Expiry Interval
MQTT 5.0 新特性(四)Clean Start 与 Session Expiry Interval_EMQX的博客-CSDN博客_mqtt clean start
4. 设备上下线
设备上下线可以通过订阅系统的上下线主题,或者采用webhook桥接(以event上下线事件作为数据源)在接受上下线通知;两种方式建议采用订阅系统主题,更简洁方便;
5. Qos
Qos 0:最多一次
Qos 1:最少一次
Qos 2:只有1次
6.