diff --git a/include/SystemConfiguration.h b/include/SystemConfiguration.h index 5503b5a..3ccccd0 100644 --- a/include/SystemConfiguration.h +++ b/include/SystemConfiguration.h @@ -98,7 +98,9 @@ char SysName[32]; ///< User Name char SysPass[32]; ///< User Password char OTAURL[64]; ///< OTA URL - uint8_t imei[4]; + + char SN[11]; ///< String of serial number (decimal ID) + char ID[9]; ///< String of ID ( last 4 bytes of MAC) struct { diff --git a/src/HTTPPrintSystem.c b/src/HTTPPrintSystem.c index 2377278..4554ad1 100644 --- a/src/HTTPPrintSystem.c +++ b/src/HTTPPrintSystem.c @@ -150,16 +150,11 @@ static void HTTPPrint_ota(char *VarData, void *arg) static void HTTPPrint_serial(char *VarData, void *arg) { - char ser1[4], ser2[9]; - GetChipId((uint8_t*) ser1); - BytesToStr((unsigned char*) ser1, (unsigned char*) ser2, 4); - snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", ser2); + snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", GetSysConf()->ID); } static void HTTPPrint_serial10(char *VarData, void *arg) { - UINT32_VAL d; - GetChipId((uint8_t*) d.v); - snprintf(VarData, MAX_DYNVAR_LENGTH, "%010u", swap(d.Val)); + snprintf(VarData, MAX_DYNVAR_LENGTH, "%s", GetSysConf()->SN); } static void HTTPPrint_fver(char *VarData, void *arg) diff --git a/src/MQTT.c b/src/MQTT.c index 07298b9..0d35714 100644 --- a/src/MQTT.c +++ b/src/MQTT.c @@ -269,8 +269,7 @@ static void start_mqtt() mqtt_cfg.password = GetSysConf()->mqttStation[i].UserPass; strcpy(tmp, GetSysConf()->mqttStation[i].ClientID); strcat(tmp, "_"); - int len = strlen(tmp); - BytesToStr((unsigned char*) &GetSysConf()->imei, (unsigned char*) &tmp[len], 4); + strcat(tmp, GetSysConf()->ID); mqtt_cfg.client_id = tmp; mqtt[i].is_connected = false; mqtt[i].mqtt_index = i; diff --git a/src/SystemConfiguration.c b/src/SystemConfiguration.c index 295aa8c..2e5430e 100644 --- a/src/SystemConfiguration.c +++ b/src/SystemConfiguration.c @@ -236,6 +236,16 @@ static void InitSysI2C(void) static void ResetSysConfig(SYS_CONFIG *Conf) { + char id[4]; char id2[9]; + GetChipId((uint8_t*) id); + BytesToStr((unsigned char*) id, (unsigned char*) id2, 4); + id2[8] = 0x00; + memcpy(Conf->ID, id2, 9); + + UINT32_VAL d; + GetChipId((uint8_t*) d.v); + snprintf(Conf->SN, 11, "%010u", swap(d.Val)); + memcpy(Conf->NetBIOSName, CONFIG_WEBGUIAPP_HOSTNAME, sizeof(CONFIG_WEBGUIAPP_HOSTNAME)); memcpy(Conf->SysName, CONFIG_WEBGUIAPP_USERNAME, sizeof(CONFIG_WEBGUIAPP_USERNAME)); memcpy(Conf->SysPass, CONFIG_WEBGUIAPP_USERPASS, sizeof(CONFIG_WEBGUIAPP_USERPASS)); @@ -244,15 +254,9 @@ static void ResetSysConfig(SYS_CONFIG *Conf) memcpy(Conf->OTAURL, SYSTEM_DEFAULT_OTAURL, sizeof(SYSTEM_DEFAULT_OTAURL)); #if CONFIG_WEBGUIAPP_WIFI_ENABLE Conf->wifiSettings.Flags1.bIsWiFiEnabled = CONFIG_WEBGUIAPP_WIFI_ON; - - char id[4]; - char id2[9]; - GetChipId((uint8_t*) id); - BytesToStr((unsigned char*) id, (unsigned char*) id2, 4); - id2[8] = 0x00; memcpy(Conf->wifiSettings.ApSSID, CONFIG_WEBGUIAPP_WIFI_SSID_AP, sizeof(CONFIG_WEBGUIAPP_WIFI_SSID_AP)); strcat(Conf->wifiSettings.ApSSID, "_"); - strcat(Conf->wifiSettings.ApSSID, id2); + strcat(Conf->wifiSettings.ApSSID, Conf->ID); esp_netif_str_to_ip4(CONFIG_WEBGUIAPP_WIFI_IP_STA, (esp_ip4_addr_t*) &Conf->wifiSettings.InfIPAddr); esp_netif_str_to_ip4(CONFIG_WEBGUIAPP_WIFI_MASK_STA, (esp_ip4_addr_t*) &Conf->wifiSettings.InfMask); @@ -307,8 +311,6 @@ static void ResetSysConfig(SYS_CONFIG *Conf) memcpy(Conf->mqttStation[1].UserPass, CONFIG_WEBGUIAPP_MQTT_PASSWORD, sizeof(CONFIG_WEBGUIAPP_MQTT_PASSWORD)); #endif #endif - GetChipId(Conf->imei); - memcpy(Conf->sntpClient.SntpServerAdr, DEFAULT_SNTP_SERVERNAME, sizeof(DEFAULT_SNTP_SERVERNAME)); Conf->sntpClient.Flags1.bIsEthEnabled = DEFAULT_SNTP_ETH_IS_ENABLED; Conf->sntpClient.Flags1.bIsWifiEnabled = DEFAULT_SNTP_WIFI_IS_ENABLED;