物联网云智能开发—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
目录
相关文章
|
30天前
|
JavaScript 前端开发 应用服务中间件
【Vue面试题三十】、vue项目本地开发完成后部署到服务器后报404是什么原因呢?
这篇文章分析了Vue项目在服务器部署后出现404错误的原因,主要是由于history路由模式下服务器缺少对单页应用的支持,并提供了通过修改nginx配置使用`try_files`指令重定向所有请求到`index.html`的解决方案。
【Vue面试题三十】、vue项目本地开发完成后部署到服务器后报404是什么原因呢?
|
1月前
|
开发框架 JavaScript 前端开发
震撼!破解 ASP.NET 服务器控件 Button 执行顺序之谜,颠覆你的开发认知!
【8月更文挑战第16天】在ASP.NET开发中,通过Button控件实现先执行JavaScript再触后台处理的需求十分常见。例如,在用户点击按钮前需前端验证或提示,确保操作无误后再传递数据至后台深度处理。此过程可通过设置Button的`OnClientClick`属性调用自定义JavaScript函数完成验证;若验证通过,则继续触发后台事件。此外,结合jQuery也能达到相同效果,利用`__doPostBack`手动触发服务器端事件。这种方式增强了应用的交互性和用户体验。
36 8
|
2月前
|
弹性计算 应用服务中间件 Linux
阿里云服务器开放端口完整图文教程
笔者近期开发完成的服务端程序部署在阿里云的ECS云服务器上面,一些应用程序配置文件需要设置监听的端口(如Tomcat的8080、443端口等),虽然通过CentOs 7系统的的「防火墙」开放了对应的端口号,任然无法访问端口号对应的应用程序,后面了解到原来还需要设置云服务器的「安全组规则」,开放相应的端口权限,服务端的接口才能真正开放。
490 1
阿里云服务器开放端口完整图文教程
|
10天前
|
域名解析 搜索推荐 Apache
服务器301重定向详细教程
301重定向是一种HTTP状态码,用于指示网页已永久移至新位置,对SEO和用户体验至关重要。本文详解了301重定向的作用,包括提升搜索引擎排名和自动引导用户访问新URL。同时介绍了多种设置方法,如通过网站控制面板、Apache的mod_rewrite模块、IIS的URL重写模块等,并提醒注意新URL的准备、链接更新及流量监控。合理设置301重定向有助于网站平稳过渡和长期发展。
35 6
|
17天前
|
开发框架 JavaScript 前端开发
|
20天前
|
传感器 物联网 测试技术
未来科技浪潮中的领航者:区块链、物联网与虚拟现实的融合与创新探索自动化测试之美——以Selenium为例
【8月更文挑战第30天】本文深入探讨了当前最前沿的技术趋势——区块链、物联网和虚拟现实,并分析了它们各自的发展脉络及相互之间的融合可能性。我们将通过具体应用场景描绘这些技术如何塑造未来社会的面貌,同时提供代码示例以加深理解。文章旨在为读者揭示这些技术背后的巨大潜力,以及它们将如何影响我们的工作和生活方式。
|
1月前
|
Ubuntu 网络协议
怎么在Ubuntu系统云服务器搭建自己的幻兽帕鲁服务器?幻兽帕鲁搭建教程
《幻兽帕鲁》是热门开放世界生存游戏,玩家收集并利用“帕鲁”进行多样活动。为享受多人模式,需自建服务器:选云主机(推荐4C/16G/5M起)、装Steamcmd及游戏环境。登录Steam购游戏后,输入服务器地址即可联机畅玩。
95 1
怎么在Ubuntu系统云服务器搭建自己的幻兽帕鲁服务器?幻兽帕鲁搭建教程
|
27天前
|
Ubuntu 网络协议 Linux
Linux下快速搭建七日杀官方私人服务器教程
本文提供了一份详尽的《七日杀》服务器搭建指南,专为Linux系统设计。教程分为九大部分,涵盖从前期准备到服务器维护的全过程。主要内容包括:选择具备公网IP的云服务器、安装Ubuntu 20 X64系统、下载SteamCMD等必备软件;详细指导如何配置服务器、设置防火墙及端口规则、启动与关闭服务器;此外还提供了服务器管理、环境配置(如设置swap分区)等实用技巧。适合有一定Linux基础的玩家参考实践。
|
12天前
|
域名解析 监控 负载均衡
智能DNS解析:自动选择最快服务器的奥秘
【9月更文挑战第7天】智能DNS解析是一种根据用户网络环境和服务器负载动态选择最佳服务器的技术,显著提升了访问速度与稳定性。本文详细介绍了其工作原理,包括实时监控、数据分析和路由选择,并探讨了自动选择最快服务器背后的算法策略,如负载均衡、地理位置识别及实时测试。附带示例代码帮助理解其基本实现过程。
41 0
|
1月前
|
域名解析 监控 负载均衡
【域名解析DNS专栏】智能DNS解析:自动选择最快服务器的奥秘
在互联网中,智能DNS解析作为一项先进技术,根据用户的网络环境和服务器负载情况,自动挑选最优服务器进行域名解析,显著提升访问速度与体验。其工作原理包括实时监控服务器状态、分析数据以选择最佳路由。通过负载均衡算法、地理位置识别及实时性能测试等策略,确保用户能获得最快的响应。这项技术极大提高了互联网服务的稳定性和效率。
89 5

相关产品

  • 物联网平台