ntrip, testMode, zed9 gnss modul
This commit is contained in:
+12
-6
@@ -15,6 +15,7 @@ IPAddress Network::local_IP;
|
||||
IPAddress Network::gateway;
|
||||
IPAddress Network::subnet;
|
||||
IPAddress Network::mqtt_server;
|
||||
IPAddress Network::dnsServer;
|
||||
|
||||
WiFiClient Network::wifi_client;
|
||||
PubSubClient* Network::mqtt_client;
|
||||
@@ -24,17 +25,20 @@ void Network::setIps() {
|
||||
gateway.fromString(WLAN_GATEWAY);
|
||||
subnet.fromString(WLAN_SUBNETMASK);
|
||||
mqtt_server.fromString(MQTT_SERVER);
|
||||
dnsServer.fromString(WLAN_DNS_SERVER);
|
||||
}
|
||||
|
||||
void Network::setupMQTT() {
|
||||
Network::mqtt_client = new PubSubClient(wifi_client);
|
||||
// mqtt_client->setServer(mqtt_server, MQTT_PORT);
|
||||
Network::mqtt_client->setServer(MQTT_SERVER, MQTT_PORT);
|
||||
Network::mqtt_client->setSocketTimeout(1);
|
||||
// Network::connectMQTT();
|
||||
}
|
||||
|
||||
bool Network::connectMQTT() {
|
||||
#ifndef MQTT
|
||||
return false;
|
||||
#endif
|
||||
|
||||
// Create a random client ID
|
||||
String clientId = "ESP32Rover-";
|
||||
clientId += String(random(0xffff), HEX);
|
||||
@@ -54,7 +58,7 @@ bool Network::connectMQTT() {
|
||||
}
|
||||
bool Network::connectWifi() {
|
||||
// Configures static IP address
|
||||
if (!WiFi.config(local_IP, gateway, subnet))
|
||||
if (!WiFi.config(local_IP, gateway, subnet, dnsServer))
|
||||
std::cout << "STA Failed to configure" << std::endl;
|
||||
|
||||
// Connect to Wi-Fi network with SSID and password
|
||||
@@ -80,18 +84,20 @@ bool Network::connectWifi() {
|
||||
return true;
|
||||
}
|
||||
|
||||
void Network::checkMQTT() {
|
||||
bool Network::checkMQTT() {
|
||||
static uint64_t lastReconnectAttempt = 0;
|
||||
if (!mqtt_client->connected()) {
|
||||
long now = millis();
|
||||
if (now - lastReconnectAttempt > MQTT_TIME_RECONNECT) {
|
||||
lastReconnectAttempt = now;
|
||||
// Attempt to reconnect
|
||||
if (connectMQTT())
|
||||
if (connectMQTT())
|
||||
lastReconnectAttempt = 0;
|
||||
}
|
||||
} else
|
||||
return false;
|
||||
}
|
||||
mqtt_client->loop();
|
||||
return true;
|
||||
}
|
||||
|
||||
void Network::checkWiFi() {
|
||||
|
||||
Reference in New Issue
Block a user