@@ -68,8 +68,19 @@ void WifiManager::setupWiFi(void (*manageDisconnections)(), void (*manageHardwar
6868
6969 WiFi.mode (WIFI_STA); // Disable AP mode
7070 // WiFi.setSleepMode(WIFI_NONE_SLEEP);
71- WiFi.setAutoConnect (true );
72- WiFi.config (IP_MICROCONTROLLER, IP_DNS, IP_GATEWAY);
71+ WiFi.setAutoConnect (true );
72+ WiFi.config (IPAddress (helper.getValue (microcontrollerIP,' .' ,0 ).toInt (),
73+ helper.getValue (microcontrollerIP,' .' ,1 ).toInt (),
74+ helper.getValue (microcontrollerIP,' .' ,2 ).toInt (),
75+ helper.getValue (microcontrollerIP,' .' ,3 ).toInt ()),
76+ IPAddress (helper.getValue (IP_GATEWAY,' .' ,0 ).toInt (),
77+ helper.getValue (IP_GATEWAY,' .' ,1 ).toInt (),
78+ helper.getValue (IP_GATEWAY,' .' ,2 ).toInt (),
79+ helper.getValue (IP_GATEWAY,' .' ,3 ).toInt ()),
80+ IPAddress (helper.getValue (IP_DNS,' .' ,0 ).toInt (),
81+ helper.getValue (IP_DNS,' .' ,1 ).toInt (),
82+ helper.getValue (IP_DNS,' .' ,2 ).toInt (),
83+ helper.getValue (IP_DNS,' .' ,3 ).toInt ()));
7384 #if defined(ESP8266)
7485 WiFi.hostname (WIFI_DEVICE_NAME);
7586 // Set wifi power in dbm range 0/0.25, set to 0 to reduce PIR false positive due to wifi power, 0 low, 20.5 max.
@@ -112,9 +123,9 @@ void WifiManager::setupWiFi(void (*manageDisconnections)(), void (*manageHardwar
112123 }
113124
114125 helper.smartPrintln (F (" WIFI CONNECTED" ));
115- IP = WiFi.localIP ().toString ();
126+ microcontrollerIP = WiFi.localIP ().toString ();
116127 MAC = WiFi.macAddress ();
117- helper.smartPrintln (IP );
128+ helper.smartPrintln (microcontrollerIP );
118129
119130 delay (DELAY_1500);
120131
@@ -286,9 +297,12 @@ void WifiManager::createWebServer() {
286297 content += " </h1>" ;
287298 content += htmlString;
288299 content += " <br><br><form method='get' action='setting' id='form1'>" ;
300+ content += " <label for='microcontrollerIP'>IP ADDRESS</label><input type='text' id='microcontrollerIP' name='microcontrollerIP'>" ;
289301 content += " <label for='ssid'>SSID</label><input type='text' id='ssid' name='ssid'>" ;
290302 content += " <label for='pass'>WIFI PASSWORD</label><input type='password' id='pass' name='pass'>" ;
291303 content += " <label for='OTApass'>OTA PASSWORD</label><input type='password' id='OTApass' name='OTApass'>" ;
304+ content += " <label for='mqttIP'>MQTT SERVER IP</label><input type='text' id='mqttIP' name='mqttIP'>" ;
305+ content += " <label for='mqttPort'>MQTT SERVER PORT</label><input type='text' id='mqttPort' name='mqttPort'>" ;
292306 content += " <label for='mqttuser'>MQTT USERNAME</label><input type='text' id='mqttuser' name='mqttuser'>" ;
293307 content += " <label for='mqttpass'>MQTT PASSWORD</label><input type='password' id='mqttpass' name='mqttpass'>" ;
294308 content += " </form><br><br><button type='submit' form='form1' value='Submit' class='button button3'>STORE CONFIG</button><br><br><br></div></body>" ;
@@ -297,30 +311,42 @@ void WifiManager::createWebServer() {
297311 });
298312
299313 server.on (" /setting" , []() {
314+ String microcontrollerIP = server.arg (" microcontrollerIP" );
300315 String qsid = server.arg (" ssid" );
301316 String qpass = server.arg (" pass" );
317+ String mqttIP = server.arg (" mqttIP" );
318+ String mqttPort = server.arg (" mqttPort" );
302319 String OTApass = server.arg (" OTApass" );
303320 String mqttuser = server.arg (" mqttuser" );
304321 String mqttpass = server.arg (" mqttpass" );
305322
306- if (qsid.length () > 0 && qpass.length () > 0 && OTApass.length () > 0 && mqttuser.length () > 0 && mqttpass.length () > 0 ) {
307-
323+ if (microcontrollerIP.length () > 0 && qsid.length () > 0 && qpass.length () > 0 && OTApass.length () > 0 && mqttIP.length () > 0 && mqttPort.length () > 0 && mqttuser.length () > 0 && mqttpass.length () > 0 ) {
324+
325+ Serial.println (" microcontrollerIP" );
326+ Serial.println (microcontrollerIP);
308327 Serial.println (" qsid" );
309328 Serial.println (qsid);
310329 Serial.println (" qpass" );
311330 Serial.println (qpass);
312331 Serial.println (" OTApass" );
313332 Serial.println (OTApass);
333+ Serial.println (" mqttIP" );
334+ Serial.println (mqttIP);
335+ Serial.println (" mqttPort" );
336+ Serial.println (mqttPort);
314337 Serial.println (" mqttuser" );
315338 Serial.println (mqttuser);
316339 Serial.println (" mqttpass" );
317340 Serial.println (mqttpass);
318341
319342 DynamicJsonDocument doc (1024 );
320- doc[" qsid" ] = qsid;
343+ doc[" microcontrollerIP" ] = microcontrollerIP;
344+ doc[" qsid" ] = qsid;
321345 doc[" qpass" ] = qpass;
322- doc[" OTApass" ] = OTApass;
323- doc[" mqttuser" ] = mqttuser;
346+ doc[" OTApass" ] = OTApass;
347+ doc[" mqttIP" ] = mqttIP;
348+ doc[" mqttPort" ] = mqttPort;
349+ doc[" mqttuser" ] = mqttuser;
324350 doc[" mqttpass" ] = mqttpass;
325351
326352 #if defined(ESP8266)
0 commit comments