@@ -102,17 +102,21 @@ ArduinoIoTCloudTCP::ArduinoIoTCloudTCP()
102
102
103
103
int ArduinoIoTCloudTCP::begin (ConnectionHandler & connection, String brokerAddress, uint16_t brokerPort)
104
104
{
105
- _connection = &connection;
106
105
_brokerAddress = brokerAddress;
107
- _brokerPort = brokerPort;
108
- time_service.begin (&connection);
109
- return begin (_brokerAddress, _brokerPort);
106
+ _brokerIp = INADDR_NONE;
107
+ return begin (connection, brokerPort);
110
108
}
111
109
112
- int ArduinoIoTCloudTCP::begin (String brokerAddress, uint16_t brokerPort)
110
+ int ArduinoIoTCloudTCP::begin (ConnectionHandler & connection, IPAddress const brokerIp, uint16_t const brokerPort)
113
111
{
112
+ _brokerAddress = " " ;
113
+ _brokerIp = brokerIp;
114
+ return begin (connection, brokerPort);
115
+ }
114
116
115
- _brokerAddress = brokerAddress;
117
+ int ArduinoIoTCloudTCP::begin (ConnectionHandler & connection, uint16_t brokerPort)
118
+ {
119
+ _connection = &connection;
116
120
_brokerPort = brokerPort;
117
121
118
122
#ifdef BOARD_HAS_ECCX08
@@ -242,7 +246,11 @@ int ArduinoIoTCloudTCP::reconnect()
242
246
243
247
int ArduinoIoTCloudTCP::connect ()
244
248
{
245
- if (!_mqttClient.connect (_brokerAddress.c_str (), _brokerPort)) return CONNECT_FAILURE;
249
+ if (_brokerIp == INADDR_NONE) {
250
+ if (!_mqttClient.connect (_brokerAddress.c_str (), _brokerPort)) return CONNECT_FAILURE;
251
+ } else {
252
+ if (!_mqttClient.connect (_brokerIp, _brokerPort)) return CONNECT_FAILURE;
253
+ }
246
254
if (_mqttClient.subscribe (_stdinTopic) == 0 ) return CONNECT_FAILURE_SUBSCRIBE;
247
255
if (_mqttClient.subscribe (_dataTopicIn) == 0 ) return CONNECT_FAILURE_SUBSCRIBE;
248
256
if (_mqttClient.subscribe (_ota_topic_in) == 0 ) return CONNECT_FAILURE_SUBSCRIBE;
0 commit comments