diff --git a/FingerprintDoorbell/lib/Keypad/src/Keypad.cpp b/FingerprintDoorbell/lib/Keypad/src/Keypad.cpp index f146a6d..bed7939 100644 --- a/FingerprintDoorbell/lib/Keypad/src/Keypad.cpp +++ b/FingerprintDoorbell/lib/Keypad/src/Keypad.cpp @@ -85,7 +85,7 @@ void Keypad::scanKeys() { for (byte r=0; r sunrise && timeinfo.tm_min + timeinfo.tm_hour*60 < sunset){ + night = false; + mqttClient.publish((String(settingsManager.getAppSettings().mqttRootTopic) + "/night").c_str(), "false",true); + }else{ + night = true; + mqttClient.publish((String(settingsManager.getAppSettings().mqttRootTopic) + "/night").c_str(), "true",true); + } + fingerManager.setNightMode(night); + }else{ + mqttClient.publish((String(settingsManager.getAppSettings().mqttRootTopic) + "/night").c_str(), "N/A",true); + fingerManager.setNightMode(true); + } +} + void setup() { @@ -936,9 +960,7 @@ void setup() } unsigned long lastSunsetCkeck = 0, lastNightCheck = 0; -bool night = true; -uint32_t sunrise = 0; -uint32_t sunset = 0; + void loop() { unsigned long currentMillis = millis(); @@ -959,19 +981,12 @@ void loop() mqttClient.publish((String(settingsManager.getAppSettings().mqttRootTopic) + "/sunset").c_str(), buff,true); } } - if(currentMillis - lastNightCheck > 10*60*1000){ //check every 10 minutes - lastNightCheck = currentMillis; - tm timeinfo; - if(getLocalTime(&timeinfo)){ - if(timeinfo.tm_min + timeinfo.tm_hour*60 > sunrise && timeinfo.tm_min + timeinfo.tm_hour*60 < sunset){ - night = false; - }else{ - night = true; - } - fingerManager.setNightMode(night); - }else{ - fingerManager.setNightMode(true); + if(currentMillis - lastNightCheck > 10*60*1000 || lastNightCheck == 0){ //check every 10 minutes + if(!WiFi.isConnected() && currentMode != Mode::wificonfig && lastNightCheck != 0) { + shouldReboot = true; } + lastNightCheck = currentMillis; + checkForNight(); } // Reconnect handling @@ -1001,7 +1016,10 @@ void loop() { case Mode::cooldown: if(openingDoor){ + io.digitalWrite(buzzerOutputPin, HIGH); fingerManager.setLedRingOk(); + delay(300); + io.digitalWrite(buzzerOutputPin, LOW); openingDoor = false; } break; diff --git a/README.md b/README.md index 7bf6b7a..1f99594 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ Dieses Projekt nutzt einen **ESP32C3 Super Mini**, einen **R503 Fingerabdrucksen ## 📦 Komponenten -- [ESP32-C3 Super Mini Board](https://de.aliexpress.com/item/1005005097410991.html) -- [R503 Fingerabdrucksensor](https://datasheet.lcsc.com/lcsc/1811141221_FPM-Fingerprint-R503_C83050.pdf) -- [3x4 Matrix Keypad (Tastenfeld)](https://www.handsontec.com/dataspecs/module/Keypad%203x4.pdf) +- [ESP32-C3 Super Mini Board (Aliexpress EstarDyn)](https://de.aliexpress.com/item/1005007446928015.html?spm=a2g0o.order_list.order_list_main.49.48d35c5fCRylRE&gatewayAdapt=glo2deu) +- [R503 Fingerabdrucksensor ](https://datasheet.lcsc.com/lcsc/1811141221_FPM-Fingerprint-R503_C83050.pdf) +- [3x4 Matrix Keypad (Tastenfeld Aliexpress EstarDyn)](https://de.aliexpress.com/item/1005007728795501.html?spm=a2g0o.order_list.order_list_main.50.1c895c5fVEI011&gatewayAdapt=glo2deu) - Jumper-Kabel, Stromversorgung (5 V oder USB), Gehäuse etc. --- @@ -64,11 +64,13 @@ Dieses Projekt nutzt einen **ESP32C3 Super Mini**, einen **R503 Fingerabdrucksen | bell | GPIO10 | Glocke innen | --- -## 📸 ESP32C3 Super Mini Pinout +## 📸 Pinouts und Datenblätter -![ESP32C3 Super Mini Pinout](https://github.com/SENTHILRAJ-K/ESP32-C3-SuperMini/raw/main/images/esp32-c3-supermini-pinout.png) +![ESP32C3 Super Mini Pinout](https://gitea.nas.el-wa.org/admin/Doorbell/src/branch/main/doku/azci_esp32-c3-super-mini-pinout.jpg) -Quelle: [SENTHILRAJ-K/ESP32-C3-SuperMini (GitHub)](https://github.com/SENTHILRAJ-K/ESP32-C3-SuperMini) +![Keypad Pinout](https://gitea.nas.el-wa.org/admin/Doorbell/src/branch/main/doku/raspberry_pi_PID3845_pinout.jpg) + +[R503 Datasheet](https://gitea.nas.el-wa.org/admin/Doorbell/src/branch/main/doku/R503_datasheet.pdf) --- diff --git a/doku/R503_datasheet.pdf b/doku/R503_datasheet.pdf new file mode 100644 index 0000000..23d25c8 Binary files /dev/null and b/doku/R503_datasheet.pdf differ diff --git a/doku/S322819c6637d4d648334f0de26a5db00R.jpg_960x960q75.jpg b/doku/S322819c6637d4d648334f0de26a5db00R.jpg_960x960q75.jpg new file mode 100644 index 0000000..d111a50 Binary files /dev/null and b/doku/S322819c6637d4d648334f0de26a5db00R.jpg_960x960q75.jpg differ diff --git a/doku/azci_esp32-c3-super-mini-pinout.jpg b/doku/azci_esp32-c3-super-mini-pinout.jpg new file mode 100644 index 0000000..d68d1d7 Binary files /dev/null and b/doku/azci_esp32-c3-super-mini-pinout.jpg differ diff --git a/doku/raspberry_pi_PID3845_pinout.jpg b/doku/raspberry_pi_PID3845_pinout.jpg new file mode 100644 index 0000000..eee7ee0 Binary files /dev/null and b/doku/raspberry_pi_PID3845_pinout.jpg differ