adafruit / Adafruit_MQTT_Library

Arduino library for MQTT support

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Connectivity issue when using broker on local IP

peterbraden opened this issue · comments

When using a local broker with an IP rather than a hostname, I experienced an inability to connect (error code -1). Using a different MQTT library with exactly the same connection settings and credentials worked perfectly.

Unfortunately, even when enabling the debug settings, I didn't get any more information to help diagnose - client->connect returned 0 in connectServer, but I didn't get any deeper into diagnosis.

  • Arduino board: ESP32

  • Arduino IDE version (found in Arduino -> About Arduino menu): 2.0.0

  • List the steps to reproduce the problem below (if possible attach a sketch or
    copy the sketch code in too):

Connect to a broker on a local IP (ie. "192.168.0.12", port "1883").

I am currently running into the exact same issue. Which other MQTT library(ies) worked for you?

commented

@jeffmcfadden did you try passing in the IP address as in XXX.XXX.XXX.XXX (not a string!) or an actual 'servername', as in "http://XXX.XXX.XXX.XXX/"?

Edit: checked again, the Adafruit MQTT library currently does not support IP addresses (passing in XXX.XXX.XXX.XXX) as how they are defined in the Arduino ESP32. The best options are to either try passing in "http(s)//XXX.XXX.XXX.XXX/" or assignning a name to the device on your DNS server or using a different library.