Compare commits
2 Commits
684df16eb1
...
69a8f32179
Author | SHA1 | Date | |
---|---|---|---|
|
69a8f32179 | ||
|
e99474c3cf |
@ -20,6 +20,8 @@ struct WifiConfiguration {
|
||||
|
||||
// The interval to reconnect to WiFi if the connection is broken
|
||||
uint32_t reconnectInterval;
|
||||
|
||||
uint32_t periodicReconnectInterval;
|
||||
};
|
||||
|
||||
struct KeyConfiguration {
|
||||
@ -76,4 +78,6 @@ private:
|
||||
void prepareResponseBuffer(SesameEvent event, uint8_t deviceId = 0);
|
||||
void sendPreparedLocalResponse(AsyncWebServerRequest *request);
|
||||
void sendPreparedServerResponse();
|
||||
|
||||
void periodicallyReconnectWifiAndSocket(uint32_t millis);
|
||||
};
|
@ -49,6 +49,9 @@ constexpr const char* networkName = "Sesame-Device";
|
||||
// The interval to reconnect to WiFi if the connection is broken
|
||||
constexpr uint32_t wifiReconnectInterval = 10000;
|
||||
|
||||
// The interval to reconnect to WiFi if the connection is broken
|
||||
constexpr uint32_t wifiPeriodicReconnectInterval = 86400;
|
||||
|
||||
/* Local server */
|
||||
|
||||
// The port for the local server to directly receive messages over WiFi
|
||||
|
@ -14,6 +14,6 @@ board = az-delivery-devkit-v4
|
||||
framework = arduino
|
||||
lib_deps =
|
||||
links2004/WebSockets@^2.3.7
|
||||
madhephaestus/ESP32Servo@^0.13.0
|
||||
madhephaestus/ESP32Servo@^1.1.0
|
||||
ottowinter/ESPAsyncWebServer-esphome@^3.0.0
|
||||
monitor_speed = 115200
|
||||
|
@ -46,6 +46,7 @@ void SesameController::loop(uint32_t millis) {
|
||||
server.loop();
|
||||
servo.loop(millis);
|
||||
|
||||
periodicallyReconnectWifiAndSocket(millis);
|
||||
ensureWiFiConnection(millis);
|
||||
ensureWebSocketConnection();
|
||||
}
|
||||
@ -213,4 +214,14 @@ bool SesameController::convertHexMessageToBinary(const char* str) {
|
||||
receivedMessageBuffer[pos/2] = (uint8_t)(hashmap[idx0] << 4) | hashmap[idx1];
|
||||
};
|
||||
return true;
|
||||
}
|
||||
|
||||
void SesameController::periodicallyReconnectWifiAndSocket(uint32_t millis) {
|
||||
static uint32_t nextWifiReconnect = wifiConfig.periodicReconnectInterval;
|
||||
if (millis > nextWifiReconnect) {
|
||||
nextWifiReconnect += wifiConfig.periodicReconnectInterval;
|
||||
|
||||
server.disconnect();
|
||||
WiFi.disconnect();
|
||||
}
|
||||
}
|
@ -49,6 +49,7 @@ void setup() {
|
||||
.password = wifiPassword,
|
||||
.networkName = networkName,
|
||||
.reconnectInterval = wifiReconnectInterval,
|
||||
.periodicReconnectInterval = wifiPeriodicReconnectInterval,
|
||||
};
|
||||
|
||||
KeyConfiguration keyConfig {
|
||||
|
Loading…
Reference in New Issue
Block a user