Как протестировать mqtt на docker в windows? - PullRequest
2 голосов
/ 10 июля 2020

Я вытащил изображение комара-затмения на docker. Как я могу протестировать клиент mqtt, подписавшись и опубликовав какое-либо сообщение через docker?

Ниже приведены сведения о моей системе:

Операционная система: Windows 10 Домашняя страница

Docker версия 19.03.1

Может ли кто-нибудь помочь мне с инструкциями по тестированию mqtt на docker на windows 10?

Спасибо

Ответы [ 2 ]

1 голос
/ 11 июля 2020

Вы можете протестировать, используя MQTT client docker container.

  • server

Start eclipse-mosquitto container

docker run --name mq -it -p 1883:1883 -p 9001:9001  eclipse-mosquitto

  • клиент:

Затем откройте другое окно терминала и запустите команду подписчика, используя docker MQTT-клиент

docker run --rm -it   --link mq   ruimarinho/mosquitto mosquitto_sub -h mq -t '#'

Теперь откройте другой окно терминала и опубликовать sh сообщение, вы сможете увидеть сообщение в окне 2.

docker run --rm -it   --link mq   ruimarinho/mosquitto mosquitto_pub -h mq -t home-assistant/switch/1/on -m "Docker pub-subtest message"

введите описание изображения здесь

0 голосов
/ 11 июля 2020

Вам необходимо установить клиент MQTT, который может выполнять как Publi sh, так и подписку. Я обычно использую модуль Node.JS MQTT, который включает в себя клиент, который будет делать и то, и другое.

Сначала вам нужно будет установить Node.JS. Затем выполните:

> npm install mqtt

Это установит модуль MQTT Node.JS в каталог ./node_modules в вашем текущем каталоге.

После этого вам нужно запустить подписчика и Издатель. Подписчик, которого вы запускаете, выглядит следующим образом:

> node ./node_modules/mqtt/mqtt.js sub -t "my/local/#" -h "mqtt-broker-host.home.local" -vv

Где mqtt-broker-host.home.local - это полное доменное имя или IP-адрес вашего контейнера брокера MQTT.

В другом сеансе терминала вы можете запускать издатели MQTT :

> node ./node_modules/mqtt/mqtt.js pub -t "my/local/test-topic" -h "mqtt-broker-host.home.local' -m '{"msg": "This is a test" }' 

В вашем «дополнительном» терминале вы должны теперь увидеть сообщение «Это тестовый», если все работает правильно. Если нет, поищите сообщения об ошибках в сеансе терминала pub. Если его нет, вам следует посмотреть в файл журнала MQTT Broker, чтобы узнать, что он думает о нем.

...