Windows下搭建MQTT服务器
Windows下搭建MQTT服务器
- 1、MQTT服务器软件筛选
- 2、MQTT服务器软件mosquitto下载
- 3、修改mosquitto配置,并启动mosquitto服务
- 4、利用mosquitto工具测试订阅与发布
- 5、可视化MQTT客户端工具MQTTX使用
1、MQTT服务器软件筛选
MQ遥测传输(MQTT)是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适用于低带宽受限环境。
特点包括以下:
- 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。
- 对负载内容屏蔽的消息传输。
- 使用TCP/IP提供网络连接。
- 小型传输,开销很小(固定长度的头部是2字节),协议交换最小化,以降低网络流量。
- 使用Last Will和Testament特性通知有关各方客户端异常中断的机制。
- 有三种消息发布服务质量:
- (1)“至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
- (2)“至少一次”,确保消息到达,但消息重复可能会发生。
- (3)“只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
能够搭建MQTT服务器的软件有很多,比如:
- mosquitto,Eclipse Mosquitto使用 C 语言实现的 MQTT 服务器。
- EMQX,使用 Erlang 语言开发的 MQTT 服务器,内置强大的规则引擎,支持许多其他 IoT 协议比如 MQTT-SN、 CoAP、LwM2M 等。
- Mosca,使用 Node.JS 开发的 MQTT 服务器,简单易用。
- VerneMQ,使用 Erlang 开发的 MQTT 服务器。
本文是以mosquitto在windows下搭建过程为例进行介绍。
2、MQTT服务器软件mosquitto下载
1、进入mosquitto下载网址:https://mosquitto.org/download/,如下图:
2、点击上图中红框的链接进行下载,下载到本地计算机,如下图:
3、右键点击mosquitto-2.0.14-install-windows-x64.exe以管理员身份进行安装,如下图:
4、点击"Next >"按钮,如下图:
5、继续点击“Next >”按钮,如下图:
6、可以更改安装目录,我更改到D盘,点击“Install”按钮,如下图:
7、等待安装完毕,如下图:
8、点击"Finish"按钮,至此安装完成。
3、修改mosquitto配置,并启动mosquitto服务
1、安装完毕后,需要对配置文件进行修改,配置文件位置:D:\mosquitto\mosquitto.conf,如下:
2、这里我们主要是改一下侦听端口和开启用户验证(即设置用户名和密码)
2.1 修改侦听端口
打开mosquitto.conf,找到linstener,取消前面的#注释,并指定要侦听的端口,如下:
listener 7788
2.2 设置用户名密码
2.2.1 找到找到allow_anonymous节点,这个节点作用是,是否开启匿名用户登录,默认是true。打开此项配置(将前面的 # 号去掉)之后将其值改为true
修改前:#allow_anonymous
修改后:allow_anonymous false
2.2.2 找到password_file节点,这个节点是告诉服务器你要配置的用户将存放在哪里。打开此配置并指定pwfile.example文件路劲(注意是绝对路劲)
修改前:#password_file
修改后:password_file D:\pwfile.example
3、在管理工具->服务,中找到Mosquitto Broker,启动mosquitto服务,如下图:
4、以管理员身份打开CMD,并切换到d:/mosquitto目录下,运行以下命令添加用户名和密码:
mosquitto_passwd.exe -c d:/pwfile.example admin
提示连续两次输入密码、创建成功。命令解释: -c 创建一个用户、/etc/mosquitto/pwfile.example 是将用户创建到 pwfile.example 文件中、admin 是用户名。如下图:
注意:添加用户和密码后,需要对mosquitto服务进行重启才能生效。
4、利用mosquitto工具测试订阅与发布
再以管理员启动2个CMD窗口,并进入d:/mosquitto目录,cmd窗口1作为订阅者,cmd窗口2作为发布者,如下图:
在cmd窗口1中执行以下命令,进行消息订阅
mosquitto_sub.exe -h 127.0.0.1 -p 7788 -u admin -P 123456 -v -t sensor
在cmd窗口2中执行以下命令,进行消息发送
mosquitto_pub.exe -h 127.0.0.1 -p 7788 -u admin -P 123456 -t sensor -m "消息测试"
如下图:
5、可视化MQTT客户端工具MQTTX使用
MQTT的客户端测试工具有很多,而MQTTX无疑是其中的佼佼者,下面就介绍一下其使用过程。
1、首先从官网下载,MQTTX下载地址:https://github.com/emqx/MQTTX/releases
2、选择适合你操作系统的版本进行下载,如下图:
3、下载后如下图:
4、以管理员方式安装MQTTX-Setup-1.7.3.exe,如果出现Microsoft Defender SmartScreen阻止提示,则点击“仍要运行”,如下图:
5、安装步骤如下图:
6、安装过程中可以更改安装目录,如下图:
7、点击“安装”按钮,如下图:
8、安装完毕是会出现完成提示,如下图:
9、勾选运行MQTTX(R),点击“完成”按钮,则运行MQTTX,如下图:
10、点击“New Connection”按钮,则出现新建连接对话框,根据MQTT服务器的信息,输入对应的参数,如下图:
11、点击Connect按钮,如下图:
12、如果想订阅一个主题,则点击“New Subscription”按钮,则出现新建订阅对话框,如下图:
13、输入对应的主题后,点击“Confirm”按钮,如下图:
14、结合CMD窗口使用mosquitto_pub.exe发布工具发一个消息测试一下,如下图:
从上图中可以看出,订阅的主题已经接收到了测试的消息。
Windows下搭建MQTT服务器相关推荐
- MQTT在Windows下搭建MQTT服务器
MQTT 在Windows下搭建MQTT服务器 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012163234/article/details/ ...
- 转 【MQTT】在Windows下搭建MQTT服务器
MQTT简介 MQ 遥测传输 (MQTT) 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放.简单.轻量.易于实现.这些特点使它适用于受限环境.该协议的特点有: 使用发布/订阅消息模式,提供 ...
- 【MQTT】在Windows下搭建MQTT服务器
MQTT简介 MQ 遥测传输 (MQTT) 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放.简单.轻量.易于实现.这些特点使它适用于受限环境.该协议的特点有: 使用发布/订阅消息模式,提供 ...
- linux如何搭建mqtt服务器,【MQTT】在Ubuntu下搭建MQTT服务器
前言 博主之前写了一篇<在Windows下搭建MQTT服务器>,这次要尝试在Ubuntu下搭建MQTT服务器.实际上,下载好源码包后,后面的都和那篇文章差不多了. 开发环境 虚拟机 Ubu ...
- windows下搭建NFS服务器
windows下搭建NFS服务器 在windows下,搭建NFS服务器最简单的方式就是下载一个NFS服务器软件,然后安装就可以了. 使用的NFS服务器软件:NFS Server 1.2.43. 下载地 ...
- 文件服务器 ldap,windows下搭建ldap服务器
windows下搭建ldap服务器 内容精选 换一换 当您发现云服务器的运行速度变慢或云服务器突然出现网络断开的情况,则可能是云服务器的带宽和CPU利用率过高导致.如果您已经通过云监控服务创建过告警任 ...
- Ubuntu16.04LTS环境下搭建MQTT服务器以及QT实现MQTT客户端
MQTT服务器搭建 使用EMQX搭建MQTT服务器,EMQX 4.2.14 for Ubuntu 16.04下载 下载zip包,选择安装方式为zip,cpu架构选择x86_64 按照网页的指示进行下载 ...
- Redis学习笔记(一)—— 在windows下搭建redis服务器
redis简介: redis是一个缓存数据库,里面的数据都是字符串,使用key-value形式存储,使用redis缓存数据可以提高系统的访问性能,一般开发时使用windows下的redis服务器,生产 ...
- 【音视频】RTMP:windows下搭建rtmp服务器(未完结...)
0.RTMP服务器简介 0.1 Nginx-RTMP 使用Nginx和Nginx的RTMP模块(nginx-rtmp-module)搭建RTMP流媒体服务器. Nginx 是一款轻量级的 Web 服务 ...
最新文章
- 农行数据中台建设与应用实践
- pt,px,rem和em之间区别总结
- java 互斥量_什么是Java中的互斥和信号量?主要区别是什么?
- 成功解决‘pip‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件
- Kubernetes v1.16 发布 | 云原生生态周报 Vol. 20
- C99 calloc、malloc和realloc区别
- Oracle SQL Loader的详细语法
- 保时捷服务器连接不到车辆信息,检修保时捷老款卡宴无法启动故障
- 调研《构建之法》指导下的优秀实践作品三篇
- rk3399_android7.1调试串口uart功能和测试是否能通讯
- 综述|重邮高新波等最新《少样本目标检测算法》
- android网页去广告插件下载,Adblock Plus(去广告插件)APP增强稳定版
- linux常中的cat命令,linux下cat命令详解
- 红日安全ATT&CK靶机实战系列之vulnstack1
- @PreAuthorize、@Secured、 @RolesAllowed优先级
- (完全理解)二重积分中的换元积分中的雅可比矩阵
- 《牛客刷题》sql错题集
- c++ break语句
- Python 如何安装 MySQLdb ?
- 怀旧服最新开的服务器是哪个,魔兽老玩家教你选怀旧服职业!开服首发首选猎人,当个牧师人人爱!...