Windows环境下安装配置Mosquitto服务及入门操作介绍
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
文章目录
参考: 博客
一、概念梳理
- Mosquitto是一款实现了消息推送协议MQTT 3.1的开源消息代理软件提供轻量级的、支持可订阅/可发布的消息推送模式是设备与设备之间的短消息通信变得简单广泛应用于低功耗传感器、手机app消息推送是场景之一、嵌入式电脑、微型控制器等移动设备。
- 那什么是MQTT他的英文全称Message Queuing Telemetry Transport翻译过来就是“消息队列遥测传输”是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。目前支持MQTT的服务器中间件有EMQTT、Mosquitto、Apollo。本章讲的就Mosquitto。
- MQTT的协议内容有很多其中一个一定要知道就是“消息发布服务质量”只有三个值分别是:
QoS 0:“至多一次”消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况环境传感器数据丢失一次读记录无所谓因为不久后还会有第二次发送。
QoS 1:“至少一次”确保消息到达但消息重复可能会发生。
QoS 2:“只有一次”确保消息到达一次。这一级别可用于如下情况在计费系统中消息重复或丢失会导致不正确的结果。
二、下载与安装
-
Mosquitto存在很多版本如果想体验比较新版本可以上github但是比较麻烦的是需要自己去编译成windows文件编译需要用到cmake软件可以参照其他博主的文章:博客
-
官方后面提供了比较稳定的window安装版本安装完成后可以直接使用并且自动添加成 windows服务非常方便下载路径:下载地址
-
双击下载好的程序
-
点击Next
-
点击Next
-
选择安装路径点击Install
-
在弹出的对话框中选择同意然后点击安装
-
安装完成点击关闭
-
点击Finish完成安装
-
同时按“Windows 徽标键+R键”打开运行框
-
输入“services.msc”按回车快速调出“服务”如下图示:
-
找到Mosquitto Broker,点击启动此服务
-
Mosquitto服务默认占用 1883端口所以可不在配置文件中显式设置。
三、关于配置文件的一些重要说明
- 配置文件在安装目录下的mosquitto.conf默认情况下不做任何修改就可以启动mosquitto。
- 配置说明中出现的地址例如:“/var/run/mosquitto”“/var/log/messages”都是相对路径相对于系统盘根目录。这个地方很重要他可不是相对于安装目录的根目录。例如“/var/run/mosquitto”表示的是“c:\var\run\mosquitto”。
- 安装目录的完整路径中不能出现空格否则在命令行就无法通过。Mosquitto默认安装路径是在“C:\Program Files\mosquitto”这里面的“Program Files”就存在空格导致很多问题这个也要特别注意。所以后来我改为安装在“C:\MosquittoTest”
四、配置登录账号和密码
-
如果想方便测试可以下载安装MQTT客户端
-
在配置文件mosquitto.conf中任意位置加入下面文本保存退出我说的全新安装的情况下如果是维护已经使用很久的系统可在配置文件中找到对应的属性进行更改
#设置不允许匿名登录 allow_anonymous false #设置账户密码文件位置为C:\MosquittoTest\pwfile.example password_file /MosquittoTest/pwfile.example
-
在配置文件中选择查找listener port-number添加监听端口号1883
-
重启mosquitto服务配置文件的修改才能生效。为了方便调试和操作我们后面的操作全部通过命令行模式进行。
-
插入新用户名及密码输入密码时界面是不会显示的直接输入后回车就可以需要连续输入两次。保证pwfile.example的路径和上面的配置一致。下面打开CMD并进入mosquitto根目录输入:
mosquitto_passwd -c /MosquittoTest/pwfile.example FirstUserName 使用-c 参数会导致清空密码文件重新插入用户 mosquitto_passwd /MosquittoTest/pwfile.example SecondUserName 不使用-c 表示追加用户不影响旧用户
-
创建成功后pwfile.example会出现刚刚添加的用户信息。
-
启动mosquitto 进行测试。
首先启动第一个cmd窗口启动服务:mosquitto.exe -c mosquitto.conf
然后启动第二个cmd窗口订阅’dissun/topic’主题其中***是自己的账号…是自己的密码:
`mosquitto_sub -u *** -P ... -t 'dissun/topic' -v`
最后启动第三个cmd窗口发布订阅’腰疼不加班’信息:mosquitto_pub -u *** -P … -t ‘dissun/topic’ -m ‘毕小姐不听话’
-
服务器开放1883端口访问