选择软件
打开menuconfig以后选择以下选项
Network --->
<*> mosquitto-client-ssl......... mosquitto - client tools (With SSL support)
<*> mosquitto-ssl...... mosquitto - an MQTT message broker (with SSL support)
[*] libwebsockets support (NEW)
[*] Include mosquitto_ctrl utility (NEW)
[*] Install mosquitto_dynamic_security.so (NEW)
[*] Include mosquitto_passwd utility (NEW)
Utilities --->
<*> openssl-util........................... Open source SSL toolkit (utility)
配置软件
配置软件需要两个文件,一个是初始化文件mosquitto.conf,另一个是账号密码文件pwfile。在package/feeds/packages/mosquitto/files/etc下创建一个文件夹mosquitto存放这两个文件。
mosquitto/
|-- mosquitto.conf
`-- pwfile
两个文件内容如下
####### mosquitto.conf
listener 1883
# 设置监听端口
allow_anonymous false
# 关闭匿名登录
password_file /etc/mosquitto/pwfile
# 连接mqtt服务器的账号密码
####### pwfile
# 这里的账号是root,密码是12345678
root:$7$101$yr0sFgahpDRCJvXO$NsrHzWgZ/HVhvJrt+SYpDk/gI4lnoY35+lnsDkTJokZcn2JNHTzFN9XAV22oAwc9Etw9rWK9Nlee2UsGX+jNzA==
如下想要自己创建账号密码,可以在openwr设备的命令行输入以下指令(必须已经安装了mosquitto)。
mosquitto_passwd -c /etc/mosquitto/pwfile admin
该指令会删掉以前的用户然后重新创建一个admin用户,如果希望创建多个用户可以用以下指令。
mosquitto_passwd /etc/mosquitto/pwfile admin
配置完软件以后,重新编译一次源码就可以正常使用mqtt服务器了。
调用mosquitto的库
我自己编写了一个基于c语言的程序,调用mosquitto的库去使用mqtt,有兴趣的可以去看一下。
https://gitee.com/moqi-smile/linux-openwrt-project/blob/master/mosquitto-client/