物联网云智能开发—MosQuitto服务器的安装 测试 订阅&发布及加密教程

简介: 物联网云智能开发—MosQuitto服务器的安装 测试 订阅&发布及加密教程

 

Eclipse Mosquitto是一个开放源码(EPL/EDL许可)消息代理,它实现了MQTT协议版本5.0、3.1.1和3.1。mosquitto服务器是轻量级的,适用于所有设备,从低功率单板计算机到全服务器。

目录

MosQuitto服务器简介

安装MosQuitto服务器

测试MosQuitto服务器

消息的订阅&发布

消息订阅

消息发布

多订阅者消息接收

设置用户名&密码


Hello,你好哇,我是灰小猿!一个努力赚钱买生发水的程序猿。

在物联网云智能开发中,MQTT协议是最为常用的协议之一,之前在一篇文章中和大家简要的介绍了MQTT协议的基本概念,感兴趣的小伙伴可以移步这篇文章“浅谈物联网开发最热协议-MQTT协议”。

我们知道MQTT协议是基于服务器的订阅/发布式通信协议,所以该协议的实现一定是基于服务器而成立的。所以这一篇大灰狼就来和大家分享一下在Windows环境下搭建/测试MosQuitto服务器的教程。

MosQuitto服务器简介

关于MosQuitto服务器的官方介绍是这样的:

官方介绍

Eclipse Mosquitto是一个开放源码(EPL/EDL许可)消息代理,它实现了MQTT协议版本5.0、3.1.1和3.1。mosquitto是轻量级的,适用于所有设备,从低功率单板计算机到全服务器。MQTT协议提供了使用发布/订阅模型执行消息传递的轻量级方法。这使得它适用于物联网消息传递,如低功耗传感器或手机、嵌入式计算机或微控制器等移动设备。mosquitto项目还提供了一个用于实现MQTT客户机的C库,以及非常流行的mosquitto_pub和mosquitto_sub命令行MQTT客户机。

从这个官方说明中我们基本也就可以了解到MosQuitto服务器基本作用。

安装MosQuitto服务器

接下来就是关于该服务器的下载和安装过程。

官方下载地址

之后在页面中找到Windows环境下的EXE版本下载,

image.gif编辑

之后找到我们下载好的文件点击进行安装,然后我们就可以在对应的安装文件夹下看到这样的诸多文件:

image.gif编辑

关于这几个主要文件的作用介绍如下:

模块

功能

mosquitto.conf

mosquitto服务器的配置文件

mosquitto

用来开启broker

mosquitto_passwd

用来设置用户的账号与密码

mosquitto_pub

用来发布消息

mosquitto_sub

用来订阅消息

pwfile.example

通过mosquitto_passwd来存储用户的账号密码的文件

测试MosQuitto服务器

在下载安装完成MosQuitto服务器之后,当然要对其进行测试,看其是否安装成功,

测试方法为打开cmd命令行,找到我们安装MosQuitto服务器的文件路径下,之后输入如下的命令行:

mosquitto -c mosquitto.conf

image.gif

若没有任何输出,则表示MosQuitto服务器启动成功!

效果如下:

image.gif编辑

消息的订阅&发布

在确定我们的MosQuitto服务器安装并启动没有问题之后,我们就可以尝试使用该服务器进行MQTT协议中消息的订阅和发布试验了,在MQTT协议中订阅和发布都是在客户端进行的,所以我们这里称为订阅者和发布者,

消息订阅

订阅者订阅的方法为:重新打开cmd命令行,同样找到MosQuitto服务器所在的文件夹下,按照如下的命令行格式进行输入:

mosquitto_sub -v -t {topic}

image.gif

其中的“topic”为消息主题,可以根据实际应用自行命名,在关于MQTT协议概念中有对其相关的介绍,

如下所示:

image.gif编辑

消息发布

发布者发布消息的方法为:再次打开一个cmd命令行,同样找到MosQuitto服务器所在的文件夹下,按照如下的命令行格式进行输入:

mosquitto_pub -t {topic} -m {Hello}

image.gif

其中的“topic”为发布的消息的主题,和上面订阅者订阅的主题是同一个概念,第二个大括号中的内容为将要发布的消息,在这里要注意的是,在使用cmd命令行发布消息时,消息中间不应该有空格,否则会发送失败!

如下所示:

image.gif编辑

之后如上图所示,我们在订阅者界面就可以接收到相应的主题发送来的消息。

多订阅者消息接收

我们知道MQTT协议中的消息订阅者可以存在多个,所以我们可以在新的cmd命令行中继续订阅该发布者的topic主题消息,之后我们再通过发布者发布,在另一个订阅者中就可以接收到发布者之后发送的消息了!

如下所示:

image.gif编辑

设置用户名&密码

关于设置服务器用户名和密码的官方介绍如下,

mosquitto.conf man page

其中mosquitto_passwd是一个为mosquitto MQTT代理管理密码文件的工具。并且用户名不能包含":"。密码以与crypt(3)相似的格式存储。

我们可以使用cmd命令行在MosQuitto服务器所在的文件夹下,按照如下的命令行格式进行输入:

mosquitto_passwd [ -c | -D ] passwordfile username

image.gif

关于其中具体的使用可以查看官方文档。

例如下所示:

image.gif编辑

由于密码是加密的,所以我们无法看到。之后我们可以在相应的文件下找到我们保存用户名和密码的该文件,打开之后就可以看到如下所示的我们设置的用户名和被加密后的密码。

image.gif编辑

之后修改mosquitto.conf中的 password_file  pwfile.example, 将其修改成我们刚刚创建的passwordfile使即可生效。

好了,关于MosQuitto服务器的搭建和使用暂且和大家分享到这里,折后也会继续分享关于其更加详细深入的学习。

觉得不错记得点赞关注哟!

大灰狼陪你一起进步!

image.gif编辑

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
1月前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
4天前
|
IDE 测试技术 开发工具
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
在Python开发中,调试是提升效率的关键技能。本文总结了10个实用的调试方法,涵盖内置调试器pdb、breakpoint()函数、断言机制、logging模块、列表推导式优化、IPython调试、警告机制、IDE调试工具、inspect模块和单元测试框架的应用。通过这些技巧,开发者可以更高效地定位和解决问题,提高代码质量。
56 8
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
|
27天前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
61 1
|
28天前
|
存储 算法 C语言
用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容
本文探讨了用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容,旨在为开发者提供全面的指导和灵感。
46 2
|
1月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
38 4
|
1月前
|
安全 应用服务中间件 网络安全
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
如何测试Nginx反向代理实现SSL加密访问的配置是否正确?
61 3
|
2月前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
150 32
|
2月前
|
缓存 监控 测试技术
服务器压力测试
【10月更文挑战第11天】服务器压力测试
106 31
|
1月前
|
安全 测试技术 持续交付
云计算时代的软件开发与测试:高效、灵活、可扩展
云计算时代的软件开发与测试:高效、灵活、可扩展
|
2月前
|
人工智能 监控 测试技术
云应用开发平台测试
云应用开发平台测试
79 2

相关产品

  • 物联网平台