windows平台Mosquitto使用

介绍

mosquitto是一款实现了消息推送协议 MQTT v3.1/v3.1.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。
本博客的测试是基于win10系统。其他平台没有测试

安装

下载地址:http://mosquitto.org/download/

这里写图片描述

下载进行安装,在安装过程中,会提示需要自己下载它的依赖库:openssl和ptherads。到安装包给的路径下载依赖库,继续完成安装。

Openssl依赖库:http://slproweb.com/products/Win32OpenSSL.html
这里写图片描述

pthreads依赖库:ftp://sources.redhat.com/pub/pthreads-win32/dll-latest/dll/x86/ 下载pthreadVC2.dll

最后拷贝Openssl路径下的libeay32.dll ssleay32.dll 和pthreads依赖库pthreadVC2.dll,到mosquitto安装路径即可。

使用

mosquitto手册:http://mosquitto.org/man/

1、默认broker配置的无SSL连接
  • 启动命令提示符,首先启动mosquitto服务器
mosquitto -v 

这里写图片描述

  • 启动另外两个命令提示符,客户端进行消息订阅和发布
订阅消息:mosquitto_sub -v -t #
发布消息:mosquitto_pub -t topic -m "hello world"

这里写图片描述

这里写图片描述

  • 可以看到发布的消息已经推送给订阅者了。关于发布订阅的命令,可以mosquitto_pub.exe –help和mosquitto_sub –help查阅,也可以直接到手册页,进入相关主题查阅。
2、自定义broker配置的无SSL认证
  • 设置自己的用户名和密码
mosquitto_passwd -c password.file develop 666666 
  • 配置Broker
相关参数的说明可以在配置文件找到。
port 8883
password_file password.file
bind_address 192.168.1.38
  • Broker应用配置
mosquitto -v -c mosquitto.conf
  • 发布和订阅
订阅:mosquitto_sub.exe -h 192.168.1.38 -p 8883 -u develop -P 666666 -v -t #
发布:mosquitto_pub.exe -h 192.168.1.38 -p 8883 -u develop -P 666666 -t topic -m "hello world"
3、自定义broker配置的单向SSL认证
1.单向SSL证书,指的是,MQTT的客户端访问MQTT的服务器端的时候,如果用到了SSL加密通信,在建立SSL加密通信前,客户端需要通过证书来验证服务端是否是可信任的,所以客户端会把服务器端传过来的证书和自身的已经的在某种途径下得到的服务器端CA证书或者服务器证书进行比较,如果匹配成功,则运行建立可信任的安全的SSL连接。*
2.所谓的双向的SSL认证,打个通俗的比方就是,在进行SSL加密通信前,通信的双方(在咱们的例子中是mosquitto服务器端和MQTT客户端(消息的发送或者接收端))需要相互验证各自的证书是否合法。比如,是否是一个合法的CA颁发的等等。

为了能通信认证成功,必须保证ca.crt client.crt server.crt证书文件的参数信息是有区别的,不然客户端和服务端会因为证书信息相同,区分不了客户端和服务端的证书文件

retry_interval 20
port 8883
password_file password.file
bind_address 192.168.1.38
cafile C:\MqttSSL\ca.crt
#tls_version tlsv1.0
certfile C:\MqttSSL\server.crt
keyfile C:\MqttSSL\server.key
  • Broker应用配置
mosquitto.exe -v -c mosquitto.conf
  • 发布和订阅
订阅:mosquitto_sub.exe -h 192.168.1.38 -p 8883 -u develop -P 666666 --cafile C:\MqttSSL\ca.crt -v -t #
发布:mosquitto_pub.exe -h 192.168.1.38 -p 8883 -u develop -P 666666 --cafile C:\MqttSSL\ca.crt -t topic -m "hello world"

虽然客户端能认证成功服务端的证书文件,但是因为ca.crt不是系统信任的证书,所以不会通信成功,此时需要将自己生成的ca证书添加到系统根证书信任名单中:在“运行”输入“mmc”打开管理控制台,然后点击“文件”中的“添加/删除管理单元”,在“可用的管理单元”列表中找到“证书”,点击“添加”-“计算机账户”-“下一步”-“本地计算机”-“完成”,点击确定,可以看到控制台中出现了证书树,找到“受信任的根证书颁发机构”-“证书”,点击右键,所有任务,导入ca.file。此时再次订阅发布,客户端可以成功连接服务器。

4、自定义broker配置的双向SSL认证
  • 发布和订阅
订阅:mosquitto_sub.exe -h 192.168.1.38 -p 8883 -u develop -P 666666 -i mosquitto_test --cafile C:\MqttSSL\ca.crt --cert C:\MqttSSL\client.crt --key C:\MqttSSL\client.key -v -t #
发布:mosquitto_pub.exe -h 192.168.1.38 -p 8883 -u develop -P 666666 --cafile C:\MqttSSL\ca.crt --cert C:\MqttSSL\client.crt --key C:\MqttSSL\client.key -t topic -m "hello world"

broker
发布主题
订阅主题

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows使用Mosquitto,首先需要进行安装和配置。关于Mosquitto配置的资料在网上还是有一些的,尽管大多数都是基于Linux的。以下是一个基本的配置过程: 1. 首先,在Windows上安装Mosquitto。你可以从Mosquitto的官方网站下载最新版本的Windows安装程序。下载后,运行安装程序并按照提示进行安装。 2. 安装完成后,打开命令提示符,并导航到Mosquitto的安装目录。 3. 在Mosquitto的安装目录中,找到名为"mosquitto.conf"的配置文件。你可以使用文本编辑器打开该文件。 4. 在配置文件中,你可以设置Mosquitto的各种参数。例如,你可以配置Mosquitto的监听端口、日志文件位置、身份验证等。根据你的需求,对配置文件进行相应的修改。 5. 如果你想配置用户账号密码,可以使用命令行工具"mosquitto_passwd"来添加用户。使用以下命令添加新的用户: mosquitto_passwd /path/to/pwfile.example SecondUserName 这将在指定的密码文件中添加一个新的用户名为"SecondUserName"的用户。 6. 配置完成后,保存并关闭配置文件。 7. 最后,通过命令提示符启动Mosquitto服务器。使用以下命令启动Mosquittomosquitto -v 这将启动Mosquitto服务器,并在命令提示符中显示它的输出。 注意,这只是一个基本的配置过程。如果你需要更详细的信息或遇到问题,请参考Mosquitto的官方文档或进行更多的网络搜索。 总之,以上是在Windows使用Mosquitto的基本配置过程,包括安装Mosquitto、编辑配置文件以及设置用户账号密码。希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Windows环境下安装配置Mosquitto服务及入门操作介绍](https://blog.csdn.net/weixin_33971130/article/details/93148048)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [windows平台Mosquitto使用](https://blog.csdn.net/sxpsxp12/article/details/77870109)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值