kopia lustrzana https://github.com/lora-aprs/LoRa_APRS_iGate
fix hostname and static ip settings
rodzic
3d6dded543
commit
f1e64a6acf
|
@ -1,13 +1,18 @@
|
||||||
{
|
{
|
||||||
"callsign": "NOCALL-10",
|
"callsign": "NOCALL-10",
|
||||||
"network": {
|
"network": {
|
||||||
"hostname": "NOCALL-10",
|
|
||||||
"DHCP": true,
|
"DHCP": true,
|
||||||
"staticIP": "192.0.2.100",
|
"static": {
|
||||||
"subnet": "255.255.255.0",
|
"ip": "192.168.0.100",
|
||||||
"gateway": "192.0.2.1",
|
"subnet": "255.255.255.0",
|
||||||
"dns1": "192.0.2.1",
|
"gateway": "192.168.0.1",
|
||||||
"dns2": "192.0.2.2"
|
"dns1": "192.168.0.1",
|
||||||
|
"dns2": "192.168.0.2"
|
||||||
|
},
|
||||||
|
"hostname": {
|
||||||
|
"overwrite": false,
|
||||||
|
"name": "NOCALL-10"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"wifi": {
|
"wifi": {
|
||||||
"active": true,
|
"active": true,
|
||||||
|
|
|
@ -39,7 +39,6 @@ void WiFiEvent(WiFiEvent_t event) {
|
||||||
break;
|
break;
|
||||||
case SYSTEM_EVENT_ETH_CONNECTED:
|
case SYSTEM_EVENT_ETH_CONNECTED:
|
||||||
logPrintlnI("ETH Connected");
|
logPrintlnI("ETH Connected");
|
||||||
ETH.setHostname("esp32-ethernet");
|
|
||||||
break;
|
break;
|
||||||
case SYSTEM_EVENT_ETH_GOT_IP:
|
case SYSTEM_EVENT_ETH_GOT_IP:
|
||||||
logPrintI("Hostname: ");
|
logPrintI("Hostname: ");
|
||||||
|
@ -105,9 +104,13 @@ bool EthTask::setup(System &system) {
|
||||||
ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK);
|
ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK);
|
||||||
|
|
||||||
if (!system.getUserConfig()->network.DHCP) {
|
if (!system.getUserConfig()->network.DHCP) {
|
||||||
ETH.config(system.getUserConfig()->network.staticIP, system.getUserConfig()->network.gateway, system.getUserConfig()->network.subnet, system.getUserConfig()->network.dns1, system.getUserConfig()->network.dns2);
|
ETH.config(system.getUserConfig()->network.static_.ip, system.getUserConfig()->network.static_.gateway, system.getUserConfig()->network.static_.subnet, system.getUserConfig()->network.static_.dns1, system.getUserConfig()->network.static_.dns2);
|
||||||
|
}
|
||||||
|
if (system.getUserConfig()->network.hostname.overwrite) {
|
||||||
|
ETH.setHostname(system.getUserConfig()->network.hostname.name.c_str());
|
||||||
|
} else {
|
||||||
|
ETH.setHostname(system.getUserConfig()->callsign.c_str());
|
||||||
}
|
}
|
||||||
ETH.setHostname(system.getUserConfig()->network.hostname.c_str());
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,11 @@ bool OTATask::setup(System &system) {
|
||||||
else if (error == OTA_END_ERROR)
|
else if (error == OTA_END_ERROR)
|
||||||
logPrintlnE("End Failed");
|
logPrintlnE("End Failed");
|
||||||
});
|
});
|
||||||
_ota.setHostname(system.getUserConfig()->callsign.c_str());
|
if (system.getUserConfig()->network.hostname.overwrite) {
|
||||||
|
_ota.setHostname(system.getUserConfig()->network.hostname.name.c_str());
|
||||||
|
} else {
|
||||||
|
_ota.setHostname(system.getUserConfig()->callsign.c_str());
|
||||||
|
}
|
||||||
_stateInfo = "";
|
_stateInfo = "";
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,10 +20,14 @@ bool WifiTask::setup(System &system) {
|
||||||
WiFi.mode(WIFI_STA);
|
WiFi.mode(WIFI_STA);
|
||||||
|
|
||||||
WiFi.onEvent(WiFiEvent);
|
WiFi.onEvent(WiFiEvent);
|
||||||
WiFi.setHostname(system.getUserConfig()->callsign.c_str());
|
if (system.getUserConfig()->network.hostname.overwrite) {
|
||||||
|
WiFi.setHostname(system.getUserConfig()->network.hostname.name.c_str());
|
||||||
|
} else {
|
||||||
|
WiFi.setHostname(system.getUserConfig()->callsign.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
if (!system.getUserConfig()->network.DHCP) {
|
if (!system.getUserConfig()->network.DHCP) {
|
||||||
WiFi.config(system.getUserConfig()->network.staticIP, system.getUserConfig()->network.gateway, system.getUserConfig()->network.subnet, system.getUserConfig()->network.dns1, system.getUserConfig()->network.dns2);
|
WiFi.config(system.getUserConfig()->network.static_.ip, system.getUserConfig()->network.static_.gateway, system.getUserConfig()->network.static_.subnet, system.getUserConfig()->network.static_.dns1, system.getUserConfig()->network.static_.dns2);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Configuration::Wifi::AP ap : system.getUserConfig()->wifi.APs) {
|
for (Configuration::Wifi::AP ap : system.getUserConfig()->wifi.APs) {
|
||||||
|
|
|
@ -8,14 +8,25 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen
|
||||||
if (data.containsKey("callsign"))
|
if (data.containsKey("callsign"))
|
||||||
conf.callsign = data["callsign"].as<String>();
|
conf.callsign = data["callsign"].as<String>();
|
||||||
|
|
||||||
if (data.containsKey("network") && data["network"].containsKey("DHCP")) {
|
if (data.containsKey("network")) {
|
||||||
conf.network.hostname = data["network"]["hostname"].as<String>();
|
conf.network.DHCP = data["network"]["DHCP"] | false;
|
||||||
conf.network.DHCP = data["network"]["DHCP"];
|
if (data["network"].containsKey("static")) {
|
||||||
conf.network.staticIP.fromString(data["network"]["staticIP"].as<String>());
|
if (data["network"]["static"].containsKey("ip"))
|
||||||
conf.network.subnet.fromString(data["network"]["subnet"].as<String>());
|
conf.network.static_.ip.fromString(data["network"]["static"]["ip"].as<String>());
|
||||||
conf.network.gateway.fromString(data["network"]["gateway"].as<String>());
|
if (data["network"]["static"].containsKey("subnet"))
|
||||||
conf.network.dns1.fromString(data["network"]["dns1"].as<String>());
|
conf.network.static_.subnet.fromString(data["network"]["static"]["subnet"].as<String>());
|
||||||
conf.network.dns2.fromString(data["network"]["dns2"].as<String>());
|
if (data["network"]["static"].containsKey("gateway"))
|
||||||
|
conf.network.static_.gateway.fromString(data["network"]["static"]["gateway"].as<String>());
|
||||||
|
if (data["network"]["static"].containsKey("dns1"))
|
||||||
|
conf.network.static_.dns1.fromString(data["network"]["static"]["dns1"].as<String>());
|
||||||
|
if (data["network"]["static"].containsKey("dns2"))
|
||||||
|
conf.network.static_.dns2.fromString(data["network"]["static"]["dns2"].as<String>());
|
||||||
|
}
|
||||||
|
if (data["network"].containsKey("hostname")) {
|
||||||
|
conf.network.hostname.overwrite = data["network"]["hostname"]["overwrite"] | false;
|
||||||
|
if (data["network"]["hostname"].containsKey("name"))
|
||||||
|
conf.network.hostname.name = data["network"]["hostname"]["name"].as<String>();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
conf.wifi.active = data["wifi"]["active"];
|
conf.wifi.active = data["wifi"]["active"];
|
||||||
|
@ -77,13 +88,14 @@ void ProjectConfigurationManagement::writeProjectConfiguration(Configuration &co
|
||||||
data["callsign"] = conf.callsign;
|
data["callsign"] = conf.callsign;
|
||||||
|
|
||||||
if (!conf.network.DHCP) {
|
if (!conf.network.DHCP) {
|
||||||
data["network"]["hostname"] = conf.network.hostname;
|
data["network"]["DHCP"] = conf.network.DHCP;
|
||||||
data["network"]["DHCP"] = conf.network.DHCP;
|
data["network"]["static"]["ip"] = conf.network.static_.ip.toString();
|
||||||
data["network"]["staticIP"] = conf.network.staticIP.toString();
|
data["network"]["static"]["subnet"] = conf.network.static_.subnet.toString();
|
||||||
data["network"]["subnet"] = conf.network.subnet.toString();
|
data["network"]["static"]["gateway"] = conf.network.static_.gateway.toString();
|
||||||
data["network"]["gateway"] = conf.network.gateway.toString();
|
data["network"]["static"]["dns1"] = conf.network.static_.dns1.toString();
|
||||||
data["network"]["dns1"] = conf.network.dns1.toString();
|
data["network"]["static"]["dns2"] = conf.network.static_.dns2.toString();
|
||||||
data["network"]["dns2"] = conf.network.dns2.toString();
|
data["network"]["hostname"]["overwrite"] = conf.network.hostname.overwrite;
|
||||||
|
data["network"]["hostname"]["name"] = conf.network.hostname.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
data["wifi"]["active"] = conf.wifi.active;
|
data["wifi"]["active"] = conf.wifi.active;
|
||||||
|
|
|
@ -6,18 +6,29 @@
|
||||||
|
|
||||||
class Configuration {
|
class Configuration {
|
||||||
public:
|
public:
|
||||||
|
class Static {
|
||||||
|
public:
|
||||||
|
IPAddress ip;
|
||||||
|
IPAddress subnet;
|
||||||
|
IPAddress gateway;
|
||||||
|
IPAddress dns1;
|
||||||
|
IPAddress dns2;
|
||||||
|
};
|
||||||
|
|
||||||
|
class Hostname {
|
||||||
|
public:
|
||||||
|
bool overwrite;
|
||||||
|
String name;
|
||||||
|
};
|
||||||
|
|
||||||
class Network {
|
class Network {
|
||||||
public:
|
public:
|
||||||
Network() : DHCP(true) {
|
Network() : DHCP(true) {
|
||||||
}
|
}
|
||||||
|
|
||||||
String hostname;
|
bool DHCP;
|
||||||
bool DHCP;
|
Static static_;
|
||||||
IPAddress staticIP;
|
Hostname hostname;
|
||||||
IPAddress subnet;
|
|
||||||
IPAddress gateway;
|
|
||||||
IPAddress dns1;
|
|
||||||
IPAddress dns2;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class Wifi {
|
class Wifi {
|
||||||
|
|
Ładowanie…
Reference in New Issue