rewrite for ElegantOTA, implement battery for master
This commit is contained in:
35
src/battery.h
Normal file
35
src/battery.h
Normal file
@@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
#include <Arduino.h>
|
||||
|
||||
unsigned long lastBatteryRead = 0;
|
||||
|
||||
void setupBattery() {
|
||||
// GPIO Setup
|
||||
pinMode(BATTERY_PIN, INPUT);
|
||||
}
|
||||
|
||||
float readBatteryVoltage() {
|
||||
uint32_t Vbatt = 0;
|
||||
for (int i = 0; i < 16; i++) {
|
||||
Vbatt += analogReadMilliVolts(BATTERY_PIN);
|
||||
}
|
||||
float avg = Vbatt / 16.0;
|
||||
Serial.print("ADC raw (mV): ");
|
||||
Serial.println(avg);
|
||||
float Vbattf = avg * 2 / 1000.0;
|
||||
|
||||
lastBatteryRead = millis(); // Update last read time
|
||||
|
||||
return Vbattf;
|
||||
}
|
||||
|
||||
void loopBattery() {
|
||||
if (millis() - lastBatteryRead > 10000) { // Read every 10 seconds
|
||||
float voltage = readBatteryVoltage();
|
||||
Serial.print("Battery Voltage: ");
|
||||
Serial.println(voltage);
|
||||
|
||||
// Here you can add code to send the voltage to a server or display it
|
||||
// For example, you could publish it to MQTT or update a web interface
|
||||
}
|
||||
}
|
||||
@@ -213,8 +213,7 @@ void handleBatteryTopic(const char *topic, const char *payload) {
|
||||
pushUpdateToFrontend(
|
||||
json); // Diese Funktion schickt das JSON an alle WebSocket-Clients
|
||||
|
||||
// Serial.printf("Battery level for %s (%s): %d%%\n", buttonType.c_str(),
|
||||
macStr.c_str(), batteryLevelP);
|
||||
// Serial.printf("Battery level for %s (%s): %d%%\n", buttonType.c_str(),macStr.c_str(), batteryLevelP);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
#include <AsyncTCP.h>
|
||||
#include <ESPAsyncWebServer.h>
|
||||
#include <Preferences.h>
|
||||
#include <PrettyOTA.h>
|
||||
#include <SPIFFS.h>
|
||||
#include <esp_now.h>
|
||||
#include <esp_wifi.h>
|
||||
|
||||
|
||||
|
||||
#include <communication.h>
|
||||
#include <databasebackend.h>
|
||||
#include <debug.h>
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <timesync.h>
|
||||
#include <webserverrouter.h>
|
||||
#include <wificlass.h>
|
||||
#include <battery.h>
|
||||
|
||||
|
||||
const char *firmwareversion = "1.0.0"; // Version der Firmware
|
||||
@@ -299,12 +300,15 @@ void setup() {
|
||||
setupWebSocket();
|
||||
setupLED();
|
||||
setupMqttServer(); // MQTT Server initialisieren
|
||||
setupRFID();
|
||||
//setupBattery();
|
||||
//setupRFID();
|
||||
}
|
||||
|
||||
void loop() {
|
||||
loopOTA(); // OTA Loop aufrufen
|
||||
checkAutoReset();
|
||||
loopMqttServer(); // MQTT Server in der Loop aufrufen
|
||||
loopWebSocket();
|
||||
loopRFID(); // RFID Loop aufrufen
|
||||
//loopBattery(); // Batterie-Loop aufrufen
|
||||
//loopRFID(); // RFID Loop aufrufen
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#pragma once
|
||||
#include <Arduino.h>
|
||||
#include <ESPmDNS.h> // <-- mDNS hinzufügen
|
||||
#include <PrettyOTA.h>
|
||||
#include <WiFi.h>
|
||||
#include <esp_now.h>
|
||||
#include <esp_wifi.h>
|
||||
#include <ElegantOTA.h> // OTA Updates
|
||||
|
||||
#include "licenceing.h"
|
||||
#include "master.h"
|
||||
@@ -12,10 +12,11 @@
|
||||
|
||||
String uniqueSSID;
|
||||
|
||||
PrettyOTA OTAUpdates;
|
||||
|
||||
String getUniqueSSID();
|
||||
bool isInternetAvailable();
|
||||
void loopOTA();
|
||||
void setupOTA();
|
||||
|
||||
// Initialisiert das WLAN als Access Point oder Station und startet mDNS/OTA.
|
||||
void setupWifi() {
|
||||
@@ -76,16 +77,25 @@ void setupWifi() {
|
||||
// Initialisiert das OTA-Update-System (PrettyOTA) für Firmware-Updates.
|
||||
void setupOTA(AsyncWebServer *server) {
|
||||
// Initialize PrettyOTA
|
||||
OTAUpdates.Begin(server);
|
||||
|
||||
ElegantOTA.begin(server);
|
||||
|
||||
//OTAUpdates.Begin(server);
|
||||
|
||||
// Set unique Hardware-ID for your hardware/board
|
||||
OTAUpdates.SetHardwareID("AquaCross-Master");
|
||||
//OTAUpdates.SetHardwareID("AquaCross-Master");
|
||||
|
||||
// Set firmware version to 1.0.0
|
||||
OTAUpdates.SetAppVersion(firmwareversion);
|
||||
//OTAUpdates.SetAppVersion(firmwareversion);
|
||||
|
||||
// Set current build time and date
|
||||
PRETTY_OTA_SET_CURRENT_BUILD_TIME_AND_DATE();
|
||||
//PRETTY_OTA_SET_CURRENT_BUILD_TIME_AND_DATE();
|
||||
}
|
||||
|
||||
void loopOTA(){
|
||||
|
||||
ElegantOTA.loop();
|
||||
|
||||
}
|
||||
|
||||
// Generiert eine eindeutige SSID auf Basis der MAC-Adresse.
|
||||
|
||||
Reference in New Issue
Block a user