@@ -75,6 +75,22 @@ httpd_handle_t start_webserver(void);
75
75
76
76
static const char * TAG = "ESP32NRE" ;
77
77
78
+
79
+ char * ssid = NULL ;
80
+ char * passwd = NULL ;
81
+ char * static_ip = NULL ;
82
+ char * subnet_mask = NULL ;
83
+ char * gateway_addr = NULL ;
84
+ char * ap_ssid = NULL ;
85
+ char * lock_pass = NULL ;
86
+
87
+ char * ap_passwd = NULL ;
88
+ char * ap_ip = NULL ;
89
+
90
+ /* WPA2 settings */
91
+ char * sta_identity = NULL ;
92
+ char * sta_user = NULL ;
93
+
78
94
static void initialize_nvs (void )
79
95
{
80
96
esp_err_t err = nvs_flash_init ();
@@ -407,18 +423,20 @@ void fillMac()
407
423
408
424
void setDnsServer (esp_netif_t * network , esp_ip_addr_t * dnsIP )
409
425
{
426
+ if ((strlen (static_ip ) == 0 ) && (strlen (subnet_mask ) == 0 ) && (strlen (gateway_addr ) == 0 ))
427
+ {
428
+ esp_netif_dns_info_t dns_info = {0 };
429
+ memset (& dns_info , 8 , sizeof (dns_info ));
430
+ dns_info .ip = * dnsIP ;
431
+ dns_info .ip .type = IPADDR_TYPE_V4 ;
410
432
411
- esp_netif_dns_info_t dns_info = {0 };
412
- memset (& dns_info , 8 , sizeof (dns_info ));
413
- dns_info .ip = * dnsIP ;
414
- dns_info .ip .type = IPADDR_TYPE_V4 ;
415
-
416
- esp_netif_dhcps_stop (network );
417
- ESP_ERROR_CHECK (esp_netif_set_dns_info (wifiAP , ESP_NETIF_DNS_MAIN , & dns_info ));
418
- dhcps_offer_t opt_val = OFFER_DNS ; // supply a dns server via dhcps
419
- esp_netif_dhcps_option (network , ESP_NETIF_OP_SET , ESP_NETIF_DOMAIN_NAME_SERVER , & opt_val , sizeof (opt_val ));
420
- esp_netif_dhcps_start (network );
421
- ESP_LOGI (TAG , "set dns to: " IPSTR , IP2STR (& (dns_info .ip .u_addr .ip4 )));
433
+ esp_netif_dhcps_stop (network );
434
+ ESP_ERROR_CHECK (esp_netif_set_dns_info (wifiAP , ESP_NETIF_DNS_MAIN , & dns_info ));
435
+ dhcps_offer_t opt_val = OFFER_DNS ; // supply a dns server via dhcps
436
+ esp_netif_dhcps_option (network , ESP_NETIF_OP_SET , ESP_NETIF_DOMAIN_NAME_SERVER , & opt_val , sizeof (opt_val ));
437
+ esp_netif_dhcps_start (network );
438
+ ESP_LOGI (TAG , "set dns to: " IPSTR , IP2STR (& (dns_info .ip .u_addr .ip4 )));
439
+ }
422
440
}
423
441
424
442
static void wifi_event_handler (void * arg , esp_event_base_t event_base ,
@@ -583,7 +601,7 @@ void wifi_init(const char *ssid, const char *passwd, const char *static_ip, cons
583
601
.ap = {
584
602
.authmode = WIFI_AUTH_WPA2_WPA3_PSK ,
585
603
.ssid_hidden = hiddenSSID ,
586
- .max_connection = 10 ,
604
+ .max_connection = 15 ,
587
605
.beacon_interval = 100 ,
588
606
.pairwise_cipher = WIFI_CIPHER_TYPE_CCMP }};
589
607
@@ -624,7 +642,9 @@ void wifi_init(const char *ssid, const char *passwd, const char *static_ip, cons
624
642
esp_ip_addr_t dnsserver ;
625
643
char * defaultIP = getDefaultIPByNetmask ();
626
644
dnsserver .u_addr .ip4 .addr = esp_ip4addr_aton (defaultIP );
645
+
627
646
setDnsServer (wifiAP , & dnsserver );
647
+
628
648
free (defaultIP );
629
649
630
650
xEventGroupWaitBits (wifi_event_group , CONNECTED_BIT ,
@@ -644,20 +664,7 @@ void wifi_init(const char *ssid, const char *passwd, const char *static_ip, cons
644
664
start_dns_server ();
645
665
}
646
666
647
- char * ssid = NULL ;
648
- char * passwd = NULL ;
649
- char * static_ip = NULL ;
650
- char * subnet_mask = NULL ;
651
- char * gateway_addr = NULL ;
652
- char * ap_ssid = NULL ;
653
- char * lock_pass = NULL ;
654
-
655
- char * ap_passwd = NULL ;
656
- char * ap_ip = NULL ;
657
667
658
- /* WPA2 settings */
659
- char * sta_identity = NULL ;
660
- char * sta_user = NULL ;
661
668
662
669
char * param_set_default (const char * def_val )
663
670
{
0 commit comments