Android приложение не подключается к локальному брокеру MQTT - PullRequest
0 голосов
/ 13 апреля 2020

Я очень новичок в MQTT и Node Red

Я настроил Node Red на своем ноутбуке и Mosquitto в качестве брокера, и кажется, что оба назначены на мой локальный адрес

Теперь я пытаюсь подписаться на это приложение android на моем телефоне, подключенном к тому же Wi-Fi-соединению, что и на ноутбуке, с помощью приложения под названием MQTT Client, но кажется, что я не могу подключиться, хотя у меня есть настроить ip для localhost и client-id для сопоставления.

Обратите внимание, что я пытаюсь подписаться на topi c в приложении и получать сообщение, которое я добавляю через красный узел

Я пропустил какой-либо шаг?

1 Ответ

1 голос
/ 13 апреля 2020

localhost всегда относится к машине, на которой фактически выполняется приложение.

В этом случае вы ввели localhost в приложение, работающее на устройстве android, поэтому приложение попытается и подключиться к брокеру, работающему по телефону. Который, конечно, не имеет брокера, работающего на нем.

Если вы хотите подключиться к брокеру, работающему на Raspberry Pi, то вам придется ввести IP-адрес пи в локальной сети Wi-Fi (Это обычно это что-то, начинающееся с 192.168.xx).

localhost работает, когда вы сконфигурировали узлы MQTT Node-RED, потому что он также работает на Raspberry Pi.

Вы также упомянули наличие соответствующих клиентов это также не будет работать, каждому клиенту, подключающемуся к MQTT-брокеру, нужен уникальный идентификатор клиента. Если у вас 2 клиента с одинаковым клиентом, то при попытке второго подключиться он просто отключит первый. Обычно клиенты настроены на автоматическое переподключение, если они отключены, поэтому теперь запущенный клиент попытается переподключиться, что, в свою очередь, отключит другого, и вы попадете в al oop, где подключен только один клиент. Если вы оставите поле cliententid пустым в Node-RED, оно сгенерирует собственный случайный идентификатор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...