共计 3226 个字符,预计需要花费 9 分钟才能阅读完成。
MQTT 曾经是物联网事实上的规范通信协议。在目前市面上提供的各类开源 MQTT 服务器中,最常见的是 Linux 平台为根底,对于 Windows 平台的反对较少,即便反对也存在性能较弱、性能繁多、版本兼容性等问题。
然而在工业自动化和修建智能畛域,有许多场景依然依赖于 Windows 的生态环境。特地是工控上位机依然大量应用 C# 开发运行在装置 Windows 的工控机中,有的老本敏感场景甚至还在应用 WinCE 操作系统。为了能让这些用户也能在 Windows 上应用到不便易用、轻量玲珑、功能齐全的 MQTT 音讯服务,超轻量级物联网边缘 MQTT 音讯服务器 NanoMQ 依赖其弱小的跨平台和可兼容能力,通过 MinGW 的 POSIX 编译环境胜利移植到了各类 Windows 环境。
本文将以 NanoMQ 为例,演示如何通过安装包和源代码编译两种装置形式,在 Windows 零碎中疾速搭建一个能够反对多协定连贯的物联网 MQTT 音讯服务器。
NanoMQ 简介
NanoMQ 是 EMQ 推出的面向物联网边缘计算场景的超轻量级高性能 MQTT 音讯服务器 + 音讯总线具备超轻量、高吞吐、低提早、兼容性高和可移植等长处,可能在各类操作系统和 CPU 架构上部署。
目前 NanoMQ 具备的性能有:
残缺反对 MQTT 3.1.1/5.0。
嵌入式规定引擎,反对音讯的实时处理和长久化。
反对云端桥接,并能够进行音讯离线缓存和主动重传。
提供丰盛的 HTTP REST APIs,不便云边协同和近程运维监控。
多协定反对:MQTT over WebSocket,ZeroMQ 和 nanomsg 等。
反对第三方 HTTP 认证和 WebHook 集成形式。
-
安装包装置
第一种办法咱们将间接应用二进制安装包进行装置。
下载安装包
首先进入 NanoMQ 官网下载页面:https://nanomq.io/zh/downloads,并抉择 Windows 平台下载安装包:
从 NanoMQ 官网下载 Windows 公布包
目前最新的 NanoMQ Windows Release 版本是 0.10.5。
安装包装置
下载会失去一个 msi 格局的安装包,双击进行装置。
下载的安装包
抉择装置门路和所需装置的性能,安装包也蕴含了 NanoSDK 的库文件:
装置实现后程序主动退出。
测试和启动 NanoMQ 服务
目前 NanoMQ 还不蕴含可视化界面,所以须要通过命令行或者服务启动,启动形式如下:
关上命令行窗口或者 PowerShell,输出 nanomq 能够看到:
查看命令是否可能失常应用
阐明零碎曾经胜利装置了 NanoMQ,能够通过输出 –help 理解具体有哪些命令选项。
启动的话能够应用 nanomq start --conf C:\nanomq\config\nanomq.conf
配置文件指定的门路请依据第二步的装置抉择的门路找到对应的配置文件,简略的配置选项有:
## url
## Connect with the host and port
## 监听的端口和 IP 地址
## Value: nmq-tcp://host:port
url=nmq-tcp://localhost:1883
## num_taskq_thread
## Use a specified number of taskq threads
## 线程数,倡议设置成和 CPU 核数雷同
## Value: 1-255
num_taskq_thread=4
## max_taskq_thread
## Use a specified maximunm number of taskq threads
## 线程数,倡议设置成和 CPU 核数雷同
## Value: 1-255
max_taskq_thread=4
## msq_len
## The queue length in-flight window
## This is essential for performance and memory consumption
## 航行窗口长度大小,影响 broker 最大内存占用
## Value: 1-infinity
msq_len=256
在 Windows 平台,监听的 URL 须要设置成 nmq-tcp://localhost:1883
。除了 nanomq.conf 配置文件外,其余性能的具体配置办法能够参考 NanoMQ 的文档页面。
测试 NanoMQ 服务是否失常运行,能够应用 NanoMQ 自带的客户端工具间接测试:
通过 NanoMQ 的 Pub/Sub 命令,能够看到曾经能够失常收发音讯,Sub 客户端能够收到 Pub 客户端发的 Hello 音讯。
源码编译及运行
第二种办法是通过源代码进行编译装置,这种办法容许咱们在 Windows 上对 NanoMQ 进行二次开发并减少本人须要的性能。
目前 NanoMQ 在 Windows 下的编译须要 MinGW-w64、Make 和 CMake。
MinGW-w64 下载地址: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe/download
Make 下载地址:https://sourceforge.net/proje…
CMake 下载地址: https://cmake.org/download/
源码筹备
首先须要从 NanoMQ 源代码仓库下载源代码,留神 NanoMQ 外部蕴含一个子模块 NNG。
下载链接:https://github.com/nanomq/Nan…
NNG 的源代码须要搁置在 nanomq 的 nng 目录下,筹备好源代码后就能够开始编译。
编译装置 NanoMQ
命令行编译
以下命令在 Windows PowerShell 或 Git bash 中运行.
# 1. clone 源码(已通过 ZIP 下载源代码则不须要这一步)PS: D:\Project> git clone https://github.com/emqx/nanomq.git
PS: D:\Project> cd nanomq
# 2. 更新和初始化 git 子模块
PS: D:\Project\nanomq> git submodule update --init --recursive
# 3. 创立并进入 build 目录
PS: D:\Project\nanomq> mkdir build
PS: D:\Project\nanomq> cd build
# 4. 编译 NanoMQ
PS: D:\Project\nanomq\build> cmake -G "MinGW Makefiles" ..
PS: D:\Project\nanomq\build> make -j 8
# 5. 运行 NanoMQ
PS: D:\Project\nanomq\build> .\nanomq\nanomq.exe broker start
Visual Studio Code 中编译
需提前装置 VS Code 的 C/C++ 和 CMake 相干插件
- 点击抉择编译工具链;
- 抉择 GCC 8.1.0 i686-w64-mingw32(可能依据你所装置的 MinGW 版本不同而有所不同);
- 点击 build 开始编译 NanoMQ。
运行测试
除了 NanoMQ 自带的客户端工具,还能够应用 开源 MQTT 测试客户端工具 MQTT X 来进行根底的音讯收发测试。
MQTT X 下载地址:https://www.emqx.com/zh/try?p…
从 MQTTX 能够看到音讯可能通过 NanoMQ 进行失常收发。
结语
至此,咱们曾经胜利在 Windows 平台搭建了残缺的 MQTT Broker,为宽广 Windows 生态用户和其余无奈应用 Linux 环境的场景提供了一个轻量且性能弱小功能齐全的 MQTT 音讯服务器。后续咱们还将进一步介绍如何在 Windows 上应用 NanoMQ 的规定引擎和 WebHook 等更多高级性能。
版权申明:本文为 EMQ 原创,转载请注明出处。
原文链接:https://www.emqx.com/zh/blog/install-mqtt-broker-on-windows