Подтвердить что ты не робот

Может ли веб-браузер использовать MQTT?

Мы рассматриваем использование MQTT в качестве протокола обмена сообщениями на новом устройстве, которое мы создаем. Нам также нужен веб-интерфейс для устройства. Кто-нибудь знает, можете ли вы реализовать клиентское приложение браузера (без дополнительных плагинов), в котором говорится о MQTT?

4b9b3361

Ответ 1

Да, как упоминалось в комментарии Steve-o MQTT через websockets очень возможно.

В настоящий момент есть 2 варианта

  • IBM MQ 7.5 поставляется с поддержкой websockets, вы можете найти детали here.
  • У брокера Mosquitto есть javascript-клиент с примером здесь.

Чтобы ответить на ваш второй вопрос, lighttpd имеет модуль веб-карт, который можно использовать для пересылки существующего брокера с подробностями здесь.

Я не смог найти что-либо для Apache, вам не нужно писать свою собственную библиотеку для пересылки.

Ответ 2

Чтобы продлить решение hardillbs:

Теперь есть третий вариант:

HiveMQ поддерживает собственные веб-сайты без необходимости использования какого-либо внешнего веб-сервера. Он отлично работает с клиентом Javascript Eclipse Paho.

Если вы хотите попробовать, общедоступный MQTTDashboard (который использует HiveMQ под капотами) поддерживает веб-порты на порту 8000.

Раскрытие информации: Я являюсь одним из разработчиков HiveMQ

Ответ 4

У нас был хороший опыт использования WSS, WebSocket для TCP-шлюза (для MQTT). Это означает запуск отдельного процесса, но это не позволяет изменять конфигурацию Apache. WSS также поддерживает TLS.

Ответ 5

Блог jpmens является хорошей отправной точкой для установки москитов с функцией websocket. Он клиентский код javascript на основе Paho находится в github.

Этот блог "Как запустить ваш веб-сервер и брокер MQTT WebSockets на том же сервере" объясняет два пути для серверной части:

  • mosquitto с конфигурацией http
  • апач + mod_websocket_mosquitto

Ответ 7

Почему бы не nodejs + socket.io? Они поставляются со всеми включенными гаджетами (webscokets, pub/sub, webserver, mqtt broker...). SocketCluster - еще одна хорошая отправная точка.

Ответ 8

Эта ссылка (Скачать коды) полезна. Скачайте его и изменяйте этот файл mosq-mqttws31.html. Вместо встроенной библиотеки java script используйте этот cdn

https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js

а клиентский экземпляр должен быть client = new Paho.MQTT.Client( "test.mosquitto.org", 8080, "myclien256tiddd_" + parseInt (Math.random() * 100, 10));