用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

12

主题

39

帖子

4146

积分

论坛元老

Rank: 8Rank: 8

积分
4146
2019-10-27 21:00:46 咸味土豆 论坛元老 楼主 1200
本文为咸味土豆原创文章,未经许可,严禁转载!
如经许可转载时务必注明原作者咸味土豆及原始链接,并注明“发表于ioBroker中国”,转载不得对作品进行修改。 https://bbs.iobroker.cn/thread-376-1-1.html
本帖最后由 咸味土豆 于 2019-11-2 18:46 编辑

1、关于EMQX

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

emqx是一个开源和企业版都有分支的mqtt工具,玩物联网、MQTT本身的作用就不赘述了,坛子里面关于mqtt的Broker部署和Client配置萝卜和老妖大佬都发过帖子:

Client(客户端):

 ioBroker MQTT适配器配置指南【1. Client篇】
 iobroker-2.3接入mqtt服务

Broker(服务端):eclipse-mosquitto

iobroker--docker版的mqtt服务器端安装方法

EMQX

EMQX是作为MQTT集群服务使用的(就是企业级、大型、N多设备xxxx之类的用的,这句我瞎写的),因为用了HA的HIVEMQ发现比较好,所以想找个纯docker环境下的中文+web界面+调试的工具,所以还是选择了这个,他自带中文(应该是国人开发的)而且有简单的WEB配置界面,凑个热闹补充下unraid下面安装的方法,debian和群晖的docker环境安装更简单,需要的可以搜搜。

2、安装教程

2.1、容器配置

第一步:还是先添加容器:

TIM截图20191027192926.png

第二步:配置容器

TIM截图20191027193340.png

RepositoryDocker Hub URL需要按照emqx官方的docker配置规则来,具体详见hub地址:https://hub.docker.com/r/emqx/emqx

Icon URL:随意,我是用了个免费图床;

WebUI:填写:http://[IP]:[PORT:18083](镜像自身定义的web端口);

Network Type:我选择了br0,因为我的所有模块都设置完毕了mqtt的IP,br0可以方便的配置IP;

映射1个端口和1个变量出来(最下方的Add another Path, Port, Variable, Label or Device),端口选择PORT,变量选择 Variable,因为我的灯控模块以前已经设置过了MQTT用户名+密码的登陆方式(拜HA当初的MQTT插件所赐),所以当初取消了匿名登录;

TIM截图20191027194417.png

取消匿名登录的设置见下图,变量名字选择EMQX_ALLOW_ANONYMOUS:出来如果需要就不用这一步了,下面的2.2也不用看了。

TIM截图20191027194429.png

完成上面的步骤,就可以APPLY,然后等待镜像的pull和布置过程了,如果一切正常,就会部署上最新的emqx开源版本分支的镜像,然后打开它的WEB配置界面(你的IP+18083),然后就可以很直观的看到MQTT的一些配置和信息了,默认用户名”admin,默认密码public

2.2、配置emqx_auth_username鉴权(客户端的用户名+密码登录)

TIM截图20191027200143.png

启用这个插件,我这几天下载的已经是3.2.3版本了,emqx的username这个配置方式经历过好几次调整,请教了下老妖,然后搜了搜发现最新版的直接用命令行就可以搞定了。

emqx_ctl users add 用户名 密码   

上面的命令在console里面输入,注意空格,感谢zhuzhuaini的帖子,配置完了之后

剩下的就是看看界面信息了,这个就比较直观了。

3、EMQX的MQTT相关界面

因为比较直观,如果有事先配置过的待连接的设备,做完这些就能看到很多信息了。

监控选项卡

TIM截图20191027201959.png TIM截图20191027201952.png TIM截图20191027201946.png TIM截图20191027201936.png

工具选项卡(类似就是mqtt.fx的调试功能)

选择Websocket选项,然端口和地址如果没有更改可以默认,客户端ID随意,输入你刚才定义的username和密码(如果有),点击连接,就可以连上自带的mqtt服务器了(broker)

TIM截图20191027202358.png

连接成功会提示成功.

TIM截图20191027202605.png

4、调试及订阅方法

完成上面的Websocket配置之后,就可以进行调试了。

4.1、测试订阅MQTT主题相关:

TIM截图20191027203115.png

通过MQTT发送控制命令(调试):

举个DC1通过MQTT的例子(我用的固件是ZIP大佬的DC1固件,别人帮我刷的,有MQTT服务),当初在HomeAssistant里面的配置情况如图:
这个是sensor(电量这些)相关的订阅(主要关注state_topic)
TIM截图20191027203652.png
这个是switch(控制插座插孔开关)的订阅配置(还是看state_topic)
TIM截图20191027204959.png

然后操作一下emqx的订阅,上面两个就可以输出下面的信息:

插座的,点击关闭之后(iobroker的WEB UI界面其实比这个简单,我是那我现成的HA界面控制,把这个MQTT设备关闭):

TIM截图20191027205233.png

emqx输出信息如下图:

TIM截图20191027205308.png

结合我的HA这个设备插座的接入订阅主题和上面在emqx里面的设置(参考2张图),应该就知道怎么调试了,用mqtt.fx其实一样的,不放订阅DC1sensor的例子了(就是把主题改成state_topic: 'homeassistant/sensor/#之后,你会看到下面会刷新很多信息了,包括你配置的多个同样主题的DC1)。

OK,就这样吧。

最后多说一句,混这个群或者这个论坛的其实都不需要看到这个,我就是想写写,谢谢大佬们带给我们的环境和教程,锦上添花吧,写的有点乱,错误的地方,真有人尝试的时候再Q我或者回帖。


使用道具 举报 回复
谢谢土豆大佬的教程
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册