- MQTT.fx — HiveMQ MQTT Toolbox
- Written by Jens Peters
- Category: MQTT Toolbox MQTT
- Published: February 3, 2016
- Short Profile
- General Information
- Main Window
- Connection Profiles
- Broker Connection
- Publish
- Subscribe
- Scripts
- Broker Status
- Download and Installation
- Updates
- About Jens Peters
- Thanks for this guest blog post
- Mqtt fx windows что это
- Re: Подключеие MQQT Windows
- Re: Подключеие MQQT Windows
- Re: Подключеие MQQT Windows
- Re: Подключеие MQQT Windows
- Re: Подключеие MQQT Windows
- Re: Подключеие MQQT Windows
- Re: Подключеие MQQT Windows
- Re: Подключеие MQQT Windows
- esp8266 — Сообщество разработчиков
- Свой собственный облачный MQTT брокер с поддержкой WebSockets, сертификатами LetsEncrypt, мониторингом и визуализацией в Grafana и сохранением данных в Influx. Бесплатно и навсегда
- Получаем VPS сервер бесплатно и навсегда
- Получаем домен второго уровня бесплатно
MQTT.fx — HiveMQ MQTT Toolbox
Written by Jens Peters
Category: MQTT Toolbox MQTT
Published: February 3, 2016
Short Profile
General Information
MQTT.fx aims to be an quick and easy to use desktop tool for MQTT debugging and testing. Since about 2 years it is continuously extended (and bug-fixed) by Jens Deters.
Recently version 1.0.0 was released, including:
- Connection Profiles for different setup of MQTT broker connections
- ad-hoc connections
- publish / subscribe
- username/password authentication
- SSL/TLS support
- clipboard for predefined messages
- $SYS-Topics / Broker Status (HiveMQ & mosquitto)
- proxy-support
- stored history of last used topics (per profile)
- Scripting support via Nashorn Engine
- logging console
- bundled installers for all platforms
- update check
- Free! (Apache 2.0 license)
MQTT.fx is the recommended tool for Amazon Web Services IoT quickstart.
Furthermore there is a tutorial by Lady Ada to use MQTT.fx as Desktop MQTT Client for Adafruit.io.
Twitter: @mqtt_fx
Main Window
At the top of the main window you find the options to edit the broker connection profiles and to connect / disconnect to a broker based on the chooses method (ad-hoc or via profile).
Each major use case has its own tab: Publish, Subscribe, Scripts, Broker Status, Log. The Tabs are detachable so each tab content can be separated in a window. So a „publish“ windows can be placed next to „subscribe/receive“. If you close such a window it is moving back as a tab at the former position.
Connection Profiles
Different setups for re-usable broker connections can be defined (and stored). E. g. you can easily setup up different profiles for the same broker connection either with or without security settings. Profiles can be edited and are identified by a unique chosen name. The profile editor can be opened either via the menu entry „Extras/Connection Profiles“, via keyboard shortcut ( or the gears icon in the main window:
All kind of settings for broker connections can be defined here: „broker address“ and „broker port“, client id and common values like „clean session“ and the MQTT protocol version…
Broker Connection
To connect to a broker there are basically two options: ad-hoc or via the profile. The ad-hoc connection allows to establish a broker connection by the entered host address and port to connect via profile the connection is made based on the chosen profile.
Publish
Messages are published via the „Publish“ tab. Once the broker connection is established, the topic to publish can simply be entered in the drop-down field. The big text area contains the message body a click in „Submit“ sends the message to the broker.
Messages can also be stored by name on a clipboard for re-usage. A stored message is then send my just a click on the named button.
Subscribe
Topic subscriptions can be made via the „Subscribe“ tab. Like in the „Publish“ context, the wanted topics is to be entered in the drop-down-field and subscription is done via the „Subscribe“ button.
Subscribed topics are stored in the application configuration for later usage and can me chosen from the drop-dow list. Registered topics are listed on the left in the „Subscribe“ tab and can be unsubscribed by click on the „-“ icon (or by being selected and a click on „Unsubscribe“). For better identification a color can be set for each topic. Received messages are colored according to the chosen topic color.
Scripts
MQTT.fx has a scripting interfaces to allow programmed MQTT message handling via the Java8 Nashorn JavaScript Engine. The scripting is dedicated to e.g. simulate published sensor data. The current API of the provided „mqttManager“ supports publish(), subscribe(), unsubscribe(), Logging and output to the console.
Broker Status
Some brokers are supporting sending messages to a certain topic hierarchy stating with „$SYS“ to provide internal status information like via „$SYS/broker/version“ the broker version can be get or the broker uptime is provided via „$SYS/broker/timestamp“. Currently MQTT.fx supports HiveMQ and mosquitto.
The „Log“ tab shows the logging console. The same information is also written to the mqttfx.log file located in the application configuration folder.
Download and Installation
“Bundled” means, the Java Runtime Environment to run the application is already included by the Installer, so no pre-installed JRE is needed. The bundles JRE is used only to run MQTT.fx. It is not installed on the System.
Updates
The application is checking for available updates during start-up and prompting the user:
Loadable packages are listed, loaded and installed via the download dialog:
About Jens Peters
Thanks for this guest blog post
Jens Deters started with (home-) computing about 25 years ago. During the last 15 years he owned several roles in the IT & Telecommunication sector (Software Developer, Trainer, Consultant, Project Manager and Product Manager).
Website В В
Contact Us
Mqtt fx windows что это
Сообщение sergejey » Вт июн 24, 2014 11:17 am
Re: Подключеие MQQT Windows
Сообщение Wmixa » Вт июн 24, 2014 12:10 pm
Re: Подключеие MQQT Windows
Сообщение sergejey » Вт июн 24, 2014 1:42 pm
Re: Подключеие MQQT Windows
Сообщение Wmixa » Вт июн 24, 2014 2:13 pm
Re: Подключеие MQQT Windows
Сообщение sergejey » Вт июн 24, 2014 2:46 pm
Re: Подключеие MQQT Windows
Сообщение tammat » Вт июн 24, 2014 4:56 pm
Re: Подключеие MQQT Windows
Сообщение sergejey » Вт июн 24, 2014 5:39 pm
Тишина, потому что не приходят никакие сообщения от MQTT-брокера по указанному пути подписки либо некорректно прописаны данные подключения к брокеру.
Вот, к примеру, как настраивается для Wiren Board:
Re: Подключеие MQQT Windows
Сообщение Jager » Вт июн 24, 2014 6:18 pm
Re: Подключеие MQQT Windows
Сообщение Wmixa » Вт июн 24, 2014 6:52 pm
С другой машины по команде mosquitto_sub -h 192.168.11.60 -t /devices/wb-w1/controls/0000058d80ac данные с датчиков идут, список подписок тоже показывает.
Вот настройки в вебе
Hostname: (*) 192.168.11.60
Port: (*) 1883
Subscription path: (*) /devices/#
Название: (*) Temp00
Местоположение: Rooms
Путь: (*) /devices/wb-w1/controls/0000058d80ac
esp8266 — Сообщество разработчиков
Свой собственный облачный MQTT брокер с поддержкой WebSockets, сертификатами LetsEncrypt, мониторингом и визуализацией в Grafana и сохранением данных в Influx. Бесплатно и навсегда
Уровень сложности для продвинутого пользователя ПК: средний. Потребуются навыки работы с командной строкой linux через SSH, возможно понадобится изучение технической документации на английском языке. Хочу предупредить, что эта статья не туториал для начинающих, в котором достаточно скопировать все команды из статьи в консоль и все заработает. То, что мы будем делать, потянет на тестовое задание для начинающего DevOps инженера. Может быть я упустил что-то очевидное для меня и Вам придется немного поработать напильником. Ориентировочное время: от 1 часа до бесконечности, в зависимости от Ваших навыков и желания учиться.
TLDR; Получаем бесплатный VPS сервер, бесплатный домен 2 уровня и запускаем docker контейнеры: portainer, nginx, certbot, RabbitMQ, Grafana, Prometheus, Telegraf, InfluxDB с помощью docker-compose файла, который я заботливо приготовил для Вас.
Для домашней автоматизации часто необходим MQTT брокер, который должен быть доступен из интернета. Поднимать брокер на RaspberryPi и пробрасывать порты во внешний мир через домашний роутер — можно, но это далеко не идеальное решение (еще и валидные сертификаты при этой схеме непросто получить), а вот построить bridge (мост) между домашним брокером и облачным, чтобы иметь доступ и из дома и из любой точки мира и не оказаться в «умершем умном доме» при отсутствии интернета — неплохое решение.
Раньше в качестве облачного бесплатного брокера использовали CloudMQTT.com, но недавно эта компания прекратила регистрацию новых бесплатных инстансов и оставила возможность только платной регистрации.
Чаще всего, в качестве MQTT брокера разворачивают mosquitto — это отличный быстрый брокер, не требующий излишних вычислительных ресурсов. Но есть у него и недостатки — список пользователей и их права доступа необходимо прописывать в текстовых файлах. Я предлагаю Вам пострелять из пушки по воробьям и использовать в качестве MQTT сервера брокер сообщений RabbitMQ, который имеет плагин MQTT в базовой поставке и простой WEB интерфейс для настройки и управления пользователями.
Также мы будем использовать Prometheus плагин для RabbitMQ, для мониторинга состоянии брокера и ресурсов, которые он использует.
RabbitMQ написан на языке erlang, позволяет объединять брокеры в кластер, успешно используется во многих коммерческих проектах.
RabbitMQ имеет и другие замечательные возможности (очереди, например), но описание этих возможностей выходит за рамки данной статьи и я предлагаю Вам самостоятельно их изучить, если будет интересно.
Для полноценного использования MQTT мы настроим автоматическое получение бесплатных SSL(TLS) сертификатов LetsEncrypt, подключение WebSockets (MQTT over WebSockets), настроим WEB сервер nginx, так что сделать еще и собственный сайт — дело пяти дополнительных минут.
Современные DevOps инженеры не представляют свою работу без контейнеров, поэтому и мы будем использовать best practices — развернем весь необходимый софт в контейнерах. Я не фанатичный линуксоид, который признает исключительно командную строку в терминале, поэтому для обычных людей установим Portainer — удобный WEB интерфейс для управления docker контейнерами.
Раз уж мы используем Prometheus для мониторинга брокера, то установим и node-exporter для мониторинга нашего VPS сервера.
Также мы, легким движением руки, реализуем задачу сохранения MQTT сообщений в базе данных InfluxDB, используя для этого Telegraf.
Вишенкой на торте будет визуализация данных в одном из самых популярных современных продуктов — Grafana. Там мы увидим статистику и нашего VPS сервера и статистику RabbitMQ и сами данные, полученные по MQTT. По факту, мы сделаем собственный универсальный dashboard (точнее, можем сделать множество наборов панелей, в зависимости от задач), переплюнув популярные облачные сервисы.
Grafana: мониторинг VPS
Grafana: мониторинг RabbitMQ
Grafana: визуализация MQTT данных
Получаем VPS сервер бесплатно и навсегда
Здесь я не буду останавливаться подробно — Вы сможете без труда найти статьи как это сделать. Мне понравились VPS, которые предоставляет Oracle — они дают две виртуальных машины и у них 1Gb RAM в каждой, а для нашего проекта 512 может не хватить.
Активация аккаунта Oracle для получения бесплатной виртуальной машины требует международную карту Visa/MasterCard типа WORLD с балансом не менее 100 рублей (списанные средства будут возвращены, это необходимо для верификации карты и владельца). Проверить тип Вашей карты можно заранее на любом сервисе по BIN коду (первые 6 цифр карты), в строке Категория карты должно быть WORLD.
Могу сказать, что эта акция на бесплатные VPS действующая, я зарегистрировал такой аккаунт неделю назад (август 2020).
На этапе выбора образа для виртуалки выберите Ubuntu 20.04 или любой другой дистрибутив linux, если обоснованно считаете это необходимым.
На окончании этого шага Вы должны получить доступ по SSH к новой виртуалке и знать ее внешний (публичный) IP адрес (не пугайтесь, с настройками по умолчанию этот адрес не пингуется из интернета). Для новичков могу сообщить, что приватные (частные) IP адреса начинаются на 10. и выглядят, например, так 10.0.0.15 (есть и другие частные подсети, погуглите) Нам нужен не этот адрес, а другой, общедоступный IP-адрес.
Получаем домен второго уровня бесплатно
Если у Вас уже есть собственный домен и DNS, тогда вы должны создать DNS запись типа А и вписать туда общедоступный IP-адрес VPS. После этого можете переходить к следующему пункту.
Если у Вас еще нет собственного домена, то идем на Freenom.com (кредитная карта не понадобится) подбираем свободный домен и регистрируем его. Большинство доменов, даже 4-х буквенные бесплатны, кроме премиальных (по мнению авторов сервиса). Регистрация аккаунта происходит в момент регистрации домена, также пусть вас не смущает кнопка Оформить заказ — да, для регистрации бесплатного домена нужно оформить заказ. Еще не забудьте указать, что регистрируете домен на 12 месяцев (по умолчанию регистрируют только на 3).
Регистрация бесплатного домена
В момент регистрации домена (на большом мониторе, а не на маленьком как у меня на скриншоте) вы можете сразу указать общедоступный IP адрес вашей виртуалки для нового доменного имени. Указать его нужно два раза (обычно для каждого WEB сервера создается две DNS записи: первая только с именем домена и вторая www.+имя домена). Если у Вас нет поля для ввода IP адреса при регистрации, то ничего страшного, Вы сможете это сделать после регистрации.
После регистрации домена и аккаунта на freenom нужно залогиниться и перейти в меню Services — My Domains — напротив Вашего домена нажать Manage Domain, выбрать вкладку Manage Freenom DNS, ввести два раза общедоступный IP-адрес в поле Target и сохранить изменения.
Дальше можете подождать и попить кофе пока обновится кэш DNS.
Успешным результатом этого шага станет возможность подключаться по SSH к Вашей VPS не только по общедоступному IP-адресу, но и по доменному имени.