localhost
всегда относится к машине, на которой фактически выполняется приложение.
В этом случае вы ввели localhost
в приложение, работающее на устройстве android, поэтому приложение попытается и подключиться к брокеру, работающему по телефону. Который, конечно, не имеет брокера, работающего на нем.
Если вы хотите подключиться к брокеру, работающему на Raspberry Pi, то вам придется ввести IP-адрес пи в локальной сети Wi-Fi (Это обычно это что-то, начинающееся с 192.168.xx).
localhost
работает, когда вы сконфигурировали узлы MQTT Node-RED, потому что он также работает на Raspberry Pi.
Вы также упомянули наличие соответствующих клиентов это также не будет работать, каждому клиенту, подключающемуся к MQTT-брокеру, нужен уникальный идентификатор клиента. Если у вас 2 клиента с одинаковым клиентом, то при попытке второго подключиться он просто отключит первый. Обычно клиенты настроены на автоматическое переподключение, если они отключены, поэтому теперь запущенный клиент попытается переподключиться, что, в свою очередь, отключит другого, и вы попадете в al oop, где подключен только один клиент. Если вы оставите поле cliententid пустым в Node-RED, оно сгенерирует собственный случайный идентификатор.