Создайте сервер сообщений MQTT в Windows.
Создайте сервер сообщений MQTT в Windows.

MQTT уже является де-факто стандартным протоколом связи для Интернета вещей. Среди различных серверов MQTT с открытым исходным кодом, доступных в настоящее время на рынке, наиболее распространенные основаны на платформе Linux. Платформа Windows поддерживается меньше. Даже если она поддерживается, существуют такие проблемы, как низкая производительность, отдельные функции, и совместимость версий.

Однако в области промышленной автоматизации и интеллекта зданий существует множество сценариев, которые по-прежнему полагаются на Windows экологическая среда. В частности, до сих пор широко используются промышленные управляющие ПК. C# разработка запускается при установке Windows Среди промышленных компьютеров некоторые до сих пор используются в сценариях, чувствительных к затратам. WinCE Операционная система. Чтобы позволить этим пользователям также Windows Он прост в использовании, легок, компактен и полнофункционален. MQTT Служба обмена сообщениями, сверхлегкая периферия Интернета вещей MQTT сервер сообщений NanoMQ Опираясь на свои сильные возможности кросс-платформенности и совместимости, посредством MinGW из POSIX Среда компиляции была успешно перенесена в различные Windows среда.

Эта статья будет основана на NanoMQ На примере продемонстрируем, как установить установочный пакет и скомпилировать исходный код двумя способами. Windows Быстро создайте систему, поддерживающую многопротокольные соединения из Интернета. вещей MQTT сервер сообщений。

Введение в NanoMQ

NanoMQ да EMQ Запущен для Интернета Вещи Сценарий периферийных вычислений Сверхлегкий и высокопроизводительный MQTT сервер сообщений+Шина сообщений (Github адрес: https://github.com/emqx/nanomq),Он обладает такими преимуществами, как сверхлегкий вес, высокая пропускная способность, низкая задержка, высокая совместимость и портативность.,Возможность работы с различными операционными системами и CPU Архитектурно развернуто.

NanoMQ, схема архитектуры
NanoMQ, схема архитектуры

в настоящий момент NanoMQ Функции включают в себя:

  • Полная поддержкаMQTT 3.1.1/5.0
  • Встроенный механизм правил поддерживает обработку и сохранение сообщений в реальном времени.
  • Поддерживает облачные мосты и может выполнять автономное кэширование сообщений и автоматическую повторную передачу.
  • Предоставляет богатые API-интерфейсы HTTP REST для облегчения совместной работы в облаке, а также удаленного мониторинга эксплуатации и обслуживания.
  • Поддержка нескольких протоколов :MQTT over WebSocket, ZeroMQ и nanomsg ждать.
  • Поддержка третьих лиц HTTP Сертификация и WebHook комплексный подход.

Установка инсталляционного пакета

В первом методе мы будем устанавливать напрямую, используя бинарный установочный пакет.

Загрузите установочный пакет

Введите первый NanoMQ Официальный сайт скачатьстраница:https://nanomq.io/zh/downloads,ивыбирать Windows платформа Загрузите установочный пакет:

Скачать NanoMQ
Скачать NanoMQ

Загрузите пакет выпуска Windows с официального сайта NanoMQ.

в настоящий моментдо настоящего временииз NanoMQ Windows Release Версия да 0.10.5。

Установка инсталляционного пакета

Для загрузки получите формат msi из установочного пакета, дважды щелкните для установки.

Установочный пакет NanoMQ
Установочный пакет NanoMQ

скачатьиз Инсталляционный пакет

папки Путь установки и необходимые функции установки,Инсталляционный пакет также содержит NanoSDK из файла библиотеки:

папки Путь установки и необходимые функции установки
папки Путь установки и необходимые функции установки

Программа автоматически закрывается после завершения установки.

Протестируйте и запустите службу NanoMQ.

в настоящий момент NanoMQ Он не имеет визуального интерфейса, поэтому его необходимо запускать через командную строку или службу. Способ запуска следующий:

Откройте окно командной строки или PowerShell и введите nanomq, чтобы увидеть:

MQTT CLI
MQTT CLI

Проверьте, можно ли использовать команду да нормально

Это означает, что NanoMQ успешно установлен в системе. Вы можете ввести --help, чтобы узнать конкретные параметры команды.

Его можно использовать при запуске nanomq start --conf C:\nanomq\config\nanomq.conf Чтобы указать путь к файлу конфигурации, выполните второй шаг установки пути, чтобы найти соответствующий файл конфигурации. Простые варианты конфигурации:

Язык кода:shell
копировать
## 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 
## Число потоков рекомендуется устанавливать равным количеству ядер процессора.
## Value: 1-255
num_taskq_thread=4

## max_taskq_thread
## Use a specified maximunm number of taskq threads
## Число потоков рекомендуется устанавливать равным количеству ядер процессора.
## Value: 1-255
max_taskq_thread=4

## msq_len
## The queue length in-flight window
## This is essential for performance and memory consumption
## Длина окна полета влияет на максимальное использование памяти брокером.
## Value: 1-infinity
msq_len=256

существовать Windows Платформа, мониторинг из URL Необходимо установить на nmq-tcp://localhost:1883 . Кроме nanomq.conf Помимо файла конфигурации, обратитесь к конкретным методам настройки других функций. Страница документации NanoMQiz

тест NanoMQ Служитда нормально функционирует и можно ли ею пользоваться? NanoMQ Поставляется со своим собственным клиентским инструментом:

Клиентские инструменты MQTT
Клиентские инструменты MQTT

проходить NanoMQ из Pub/Sub команды, вы можете видеть, что можете отправлять и получать сообщения в обычном режиме, Sub Клиент может получить Pub Клиент отправляет из Hello информация.

Скомпилируйте и запустите исходный код

Второй метод дапроходить исходный код для Скомпилируйте и Оказывается, этот метод позволяет нам существовать Windows Топ-пара NanoMQ Проведите вторичную разработку и добавьте нужные вам функции.

в настоящий момент NanoMQ существовать Windows Требуется для компиляции под из MinGW-w64Make и CMake

Подготовка исходного кода

Сначала вам необходимо загрузить исходный код из репозитория исходного кода NanoMQ. Обратите внимание, что NanoMQ содержит подмодуль NNG.

NanoMQ Репозиторий исходного кода: https://github.com/emqx/nanomq

скачать Связь:https://github.com/emqx/nanomq/archive/refs/heads/master.zip

NanoNNG Исходный кодсклад:https://github.com/nanomq/NanoNNG/tree/main

скачать Связь:https://github.com/nanomq/NanoNNG/archive/refs/heads/main.zip

NNG из Исходный код должен быть размещен существующим nanomq из nng каталоге, вы можете приступить к компиляции после подготовки исходного кода.

Скомпилируйте и установите NanoMQ.

Компиляция командной строки

Следующая командасуществовать Windows PowerShell или Git bash вбегаю.

Язык кода:text
копировать
# 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

Необходимо заранее установить VS Code из C/C++ и CMake Сопутствующие плагины

C/C++
C/C++
CMake Tools
CMake Tools
CMake Integration
CMake Integration
  1. Нажмите, чтобы выбрать цепочку инструментов компиляции;
  2. выбирать GCC 8.1.0 i686-w64-mingw32 (Возможно, в зависимости от того, что у вас установлено MinGW (варьируется в зависимости от версии);
  3. Нажмите «Сборка», чтобы начать компиляцию NanoMQ.
компилировать NanoMQ
компилировать NanoMQ

Запуск тестов

Кроме NanoMQ Поставляется с клиентским инструментом, вы также можете его использовать Открытый исходный код MQTT клиентский инструмент для тестирования MQTT X Осуществить отправку и получение базовых сообщений в тестовом режиме.

MQTT X скачатьадрес:https://www.emqx.com/zh/try?product=MQTTX

MQTT клиентский инструмент для тестирования MQTT X
MQTT клиентский инструмент для тестирования MQTT X

от MQTTX Можно увидеть сообщение, можно передать NanoMQ Выполните обычную отправку и получение.

Заключение

На данный момент нам удалосьсуществовать Windows Платформа полностью построена MQTT Брокер, для большинства Windows Экологические пользователи и другие лица не могут его использовать. Linux Среда сцены обеспечивает легкий, мощный и полнофункциональный интерфейс. MQTT сервер сообщения. В дальнейшем мы расскажем, как существовать. Windows Использовать на NanoMQ из правила двигателя WebHook и более продвинутые функции.

Заявление об авторских правах: эта статья принадлежит EMQ. При перепечатке указывайте источник.

原文Связь:https://www.emqx.com/zh/blog/install-mqtt-broker-on-windows

boy illustration
Источник зеркала, chromedriver, адрес загрузки Firefox
boy illustration
Поймайте их всех одним махом: подробное объяснение асинхронного артефакта CompletableFuture!
boy illustration
Spring Boot: автоматическая настройка четырех артефактов
boy illustration
Руководство для покупателей Double Eleven: Как использовать краулерную технологию, чтобы отслеживать исторические тенденции цен и совершать рациональные покупки, не наступая на ловушку.
boy illustration
Основные операции с бинарными деревьями (как посчитать количество узлов бинарного дерева и высоту бинарного дерева)
boy illustration
Основы разработки серверной части FastAPI (4): ошибки документации официального сайта FastAPI, ошибки кодирования и записи важных моментов, на которые следует обратить внимание.
boy illustration
fastadmin нажимает кнопку списка, чтобы перейти на страницу с параметрами и ищет соответствующие данные
boy illustration
Как внедрить/получить bean-компоненты в контейнере Spring в классах, не управляемых контейнером Spring?
boy illustration
Весенние аннотации: подробное объяснение @ResponseBody!
boy illustration
Компания Huawei вступила во второй этап и готова спешить!
boy illustration
Быстро изучите в одной статье — концепцию и технологию реализации NL2SQL для передачи данных с нулевыми затратами.
boy illustration
Как использовать SpringBoot для интеграции EasyExcel 3.x для реализации элегантных функций импорта и экспорта Excel?
boy illustration
Почему транзакция не вступает в силу, когда @Transactional добавляется в частный метод?
boy illustration
Знание создания образов Docker: подробное объяснение команды Dockerfile.
boy illustration
Псевдостатическая конфигурация ThinkPHP
boy illustration
Код изображения для загрузки апплета WeChat: последний доступный (код серверной части + код внешнего интерфейса)
boy illustration
Используйте растровое изображение Redis для реализации эффективной функции статистики регистрации пользователей.
boy illustration
[Nginx29] Обучение Nginx: буфер прокси-модуля (3) и обработка файлов cookie
boy illustration
[Весна] SpringBoot интегрирует ShardingSphere и реализует многопоточную вставку 10 000 фрагментов данных в пакетном режиме (выполнение операций с базой данных и таблицами).
boy illustration
SpringBoot обрабатывает форму данных формы для получения массива объектов
boy illustration
Nginx от новичка до новичка 01 - Установка Nginx через установку исходного кода
boy illustration
Проект flask развертывается на облачном сервере и получает доступ к серверной службе через доменное имя.
boy illustration
Порт запуска проекта Spring Boot часто занят, полное решение
boy illustration
Java вызывает стороннюю платформу для отправки мобильных текстовых сообщений
boy illustration
Практическое руководство по серверной части: как использовать Node.js для разработки интерфейса RESTful API (Node.js + Express + Sequelize + MySQL)
boy illustration
Введение в параметры конфигурации большого экрана мониторинга Grafana (2)
boy illustration
В статье «Научно-популярная статья» подробно объясняется протокол NTP: анализ точной синхронизации времени.
boy illustration
Пример разработки: серверная часть Java и интерфейсная часть vue реализуют функции комментариев и ответов.
boy illustration
Nodejs реализует сжатие и распаковку файлов/каталогов.
boy illustration
SpringBootИнтегрироватьEasyExcelСложно реализоватьExcelлистимпортировать&Функция экспорта