Skip to content

Commit 1804e45

Browse files
committed
Overloading begin function in such way that it also accepts IPAddress objects.
1 parent 814b481 commit 1804e45

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/ArduinoIoTCloudTCP.cpp

+5-1
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,11 @@ int ArduinoIoTCloudTCP::reconnect()
242242

243243
int ArduinoIoTCloudTCP::connect()
244244
{
245-
if (!_mqttClient.connect(_brokerAddress.c_str(), _brokerPort)) return CONNECT_FAILURE;
245+
if (_brokerIp == INADDR_NONE) {
246+
if (!_mqttClient.connect(_brokerAddress.c_str(), _brokerPort)) return CONNECT_FAILURE;
247+
} else {
248+
if (!_mqttClient.connect(_brokerIp, _brokerPort)) return CONNECT_FAILURE;
249+
}
246250
if (_mqttClient.subscribe(_stdinTopic) == 0) return CONNECT_FAILURE_SUBSCRIBE;
247251
if (_mqttClient.subscribe(_dataTopicIn) == 0) return CONNECT_FAILURE_SUBSCRIBE;
248252
if (_mqttClient.subscribe(_ota_topic_in) == 0) return CONNECT_FAILURE_SUBSCRIBE;

src/ArduinoIoTCloudTCP.h

+7-1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ static uint16_t const DEFAULT_BROKER_PORT_SECURE_AUTH = 8883;
4949
static char const DEFAULT_BROKER_ADDRESS_USER_PASS_AUTH[] = "mqtts-up.iot.arduino.cc";
5050
static uint16_t const DEFAULT_BROKER_PORT_USER_PASS_AUTH = 8884;
5151

52+
static IPAddress const DEFAULT_BROKER_SECURE_AUTH_IP_1(34,206,248,111);
53+
static IPAddress const DEFAULT_BROKER_SECURE_AUTH_IP_2(3,209,5,114);
54+
5255
/******************************************************************************
5356
* CLASS DECLARATION
5457
******************************************************************************/
@@ -70,7 +73,9 @@ class ArduinoIoTCloudTCP: public ArduinoIoTCloudClass
7073
#else
7174
int begin(ConnectionHandler & connection, String brokerAddress = DEFAULT_BROKER_ADDRESS_USER_PASS_AUTH, uint16_t brokerPort = DEFAULT_BROKER_PORT_USER_PASS_AUTH);
7275
#endif
73-
int begin(String brokerAddress = DEFAULT_BROKER_ADDRESS_SECURE_AUTH, uint16_t brokerPort = DEFAULT_BROKER_PORT_SECURE_AUTH);
76+
int begin(ConnectionHandler & connection, IPAddress const brokerIp, uint16_t const brokerPort = DEFAULT_BROKER_PORT_SECURE_AUTH);
77+
int begin(ConnectionHandler & connection, uint16_t brokerPort);
78+
7479

7580
#ifdef BOARD_ESP
7681
inline void setBoardId (String const device_id) { setDeviceId(device_id); }
@@ -101,6 +106,7 @@ class ArduinoIoTCloudTCP: public ArduinoIoTCloudClass
101106

102107
int _lastSyncRequestTickTime;
103108
String _brokerAddress;
109+
IPAddress _brokerIp;
104110
uint16_t _brokerPort;
105111
uint8_t _mqtt_data_buf[MQTT_TRANSMIT_BUFFER_SIZE];
106112
int _mqtt_data_len;

0 commit comments

Comments
 (0)