在这里插入图片描述

群晖NAS使用套件安装MQTT服务器(mosquitto)

部署环境

群晖:DS918+ DSM 6.2.3-25426
mosquitto version 1.6.15
MQTTX version 1.9.2

前言

MQTT(Message Queuing Telemetry Transport)是一种基于发布/订阅(publish/subscribe)模式的”轻量级”通讯协议。客户端的发布者不直接将消息传递给订阅者,而是服务端(MQTT Broker)进行分发,一个客户端既可以是发布者,也可以是订阅者,更多介绍请参看维基百科上的词条 。以智能家居的情形简单举例,人体感应器(发布者)感应到有人时发布主题为”有人“的消息到服务端,而由于摄像头订阅了该主题,因此收到消息,开始录像,此时摄像头角色为(接收者),同时摄像头也作为(发布者)发布”监控异动“消息到服务器,而我们手机订阅了此主题,作为(接收者)便可收到消息。

添加社群套件(第三方)

在套件中心里新增社群套件来源:https://spk.imnks.com/
在这里插入图片描述

安装mosquitto套件

  • 安装套件
    套件中心-社群里,找到Mosquitto套件,然后点击“安装套件”。因我已经安装,所以显示的是“已安装”。
    在这里插入图片描述

  • 增加用户名和密码
    因套件安装完后没有用户名和密码,且群晖下没有mosquitto_passwd命令,所以没法直接修改。此处提供网上的一种解决办法,创建“pwfile.conf”文件并写入用户名(mqtt)和密码(mqtt),具体内容如下:

mqtt:$6$zwY/9Y4t7gdfjv/e$lpa0Bfgv75ObUE9n+MJF953lX1wt+8YlYVmmDdI8IluM1JRBHSoOXJ6i4zfS4udBiDKyREWEXt5fzJAQMcvZFw==

具体步骤:
1.暂停Mosquitto套件。
2. SSH登陆群晖(使用root账户),进入mosquitto目录下

cd /volume1/@appstore/mosquitto/etc/mosquitto
  1. 创建“pwfile.conf”文件
touch pwfile.conf
  1. 修改“pwfile.conf”,添加用户名和密码
vim pwfile.conf //添加用户名和密码的字符串,具体见上文所列内容。

5.启动Mosquitto套件。

使用MQTT客户端验证

协议:mqtt,端口号:1883,用户名:mqtt,密码:mqtt,服务器地址:XXX.XXX.XXX.XXX(服务器所安装地址)

  1. 参数设置
    在这里插入图片描述

  2. 连接Mosquitto服务器成功
    在这里插入图片描述

  3. 添加订阅和发布,验证服务器正常运行。
    在发布端发布一个订阅端一样的主题:humidity,然后输入发布的消息,点击”Publish“后完成发布,该主题的订阅者即可收到该条消息
    在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐