一直想搭建一套智能家居,通过手机远程控制家里一些设备或者通过条件出发控制某些设备,无奈DS216J没法用Docker,最近突然发现群辉的套件里自带了MQTT套件(社群http://packages.synocommunity.com/),遂打算装下试试。
装完在网上下了个测试软件测试了下
默认端口1883,连上家里的VPN上光猫后台加端口转发。
默认匿名用户可以订阅和发布,这个不太安全,所以打算关掉,启用账户认证。(这里踩了好久的坑,网上看到的设置文件都是在/volume1/@appstore/mosquitto/etc/mosquitto文件夹里面,结果设置半天发现没起作用,一度怀疑是设置错了,后来发现有问题才用文件搜索到下面的文件夹)
通过SSH登录上服务器,进入/volume1/@appstore/mosquitto/var
打开设置文件 vim mosquitto.conf
在开头加入
password_file /volume1/@appstore/mosquitto/var/pwfile //账户信息的位置
allow_anonymous false //关闭匿名
acl_file /volume1/@appstore/mosquitto/var/aclfile //账户配置文件
这就关闭了匿名用户。
在aclfile文件里添加账户
user read test // test账户只能订阅TEST下的
topic TEST
-------------------------------------------------------------------------------------
user write test //test账户只能发布TEST下的
topic TEST
------------------------------------------------------------------------------------
user test //既能发布也能订阅
topic TEST
由于群辉里没有添加账户的命令,所以只能在别的linux系统上创建账户然后把加密账户数据复制过来。
要想做到自动控制,条件触发,还得加上数据处理的服务器,群辉套件里有HomeAssistant,接下来有空可以试一下。
评论 (0)