目录
使用的是mosquitto,下载网址:
无脑安装即可,可参考:
Windows下搭建MQTT服务器_CodingPioneer的博客-CSDN博客_mqtt服务器
但是使用这个方法
mosquitto_passwd.exe -c pwfile.example admin
创建用户不成功,总是提示:
Password:Error:Empty password。
百度了很多次,没有一个相关的博客,无奈,甚是无奈。
翻看一下help手册吧,终于还是找到了解决方案:
mosquitto_passwd -c -b pwfile.example admin 111111
然后打开pwfile.example文件,发现已经替换过去了,Nice!
然后就可以启动服务了,具体可参照上面的博客。
在 计算机->管理->服务和应用程序->服务,英文状态下按下m,跳转到M开头的服务,然后选择 mosquitto broker,重启动即可。
mosquitto_sub -h 127.0.0.1 -p 7788 -u admin -P 111111 -v -t localNet_test
mosquitto_pub -h 127.0.0.1 -p 7788 -u admin -P 111111 -t localNet_test -m "消息测试"
-m后的是消息内容,可以双引,也可以不引
参考下面的连接,安装是使用的编译源码的方法。
树莓派+Ubuntu 20.04安装Mosquitto MQTT服务_晨之清风的博客-CSDN博客_树莓派mosquitto基本上没什么问题。
启动服务和windows不同,使用命令行进行:
在调试的时候使用下面的命令,-v 查看运行信息:
mosquitto -c /etc/mosquitto/mosquitto.conf -v
实际使用时命令多个 -d 在后台运行:
mosquitto -d -c /etc/mosquitto/mosquitto.conf
mosquitto_pub -h 127.0.0.1 -p 7788 -u admin -P 111111 -t localNet_test -m "Hello!"
mosquitto_sub -h 127.0.0.1 -p 7788 -u admin -P 111111 -t localNet_test
在启动服务的时候出问题,默认的1883端口占用,然后提示错误:
Address already in use
然后使用:
ps -ef | grep mosquitto
找到相关的进程号,然后杀掉:
sudo kill xxxx
这里注意,不要使用 kill -9 xxxx,不知道为什么使用 kill -9 杀不彻底。然后就正常启动了
我配置在树莓派上的mosquitto的端口号是 7788, 账号密码是admin 111111。
基本上都是启动了相关的服务没有关闭。查看下面的连接。
mosquitto启动时Address already in use 和 一般的 Address already in use_林尧彬的博客-CSDN博客
在Windows上安装好之后,mosquitto broker服务会开机自动启动,很方便,树莓派上基本都是订阅或者发布,无需启动broker即可直接使用。
服务器配置在局域网中,只需要配置以下几条:
listener 7788 // 监听的端口,此时必须只有一个IP,多个IP的话这样设置是无效的
listener 7788 192.168.18.66 // 当网卡有多个IP时,必须指定其中一个IP,订阅或发布时也必须使用 -h 指定服务器的IP
allow_anonymous false // 不允许匿名访问,必须使用设置好的用户名和密码
password_file D:/mosquitto/pwfile.example //设置好密码文件,也就是之前设置密码的文件
其他的根据需要自行设定,包括帧长度,默认是无限长;等