diff --git a/.gitignore b/.gitignore index 4d538d9..e1c64ac 100644 --- a/.gitignore +++ b/.gitignore @@ -52,6 +52,7 @@ build.options.json compile_commands.json Brautomat.ino.elf Brautomat.ino.map +infos.txt includes.cache local.eagle.flash.ld local.eagle.app.v6.common.ld diff --git a/CHANGELOG.md b/CHANGELOG.md index 239d217..fc8ed94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,31 @@ # Changelog -ESP8266 Arduino 3.1.2\ -VSCode 1.87 Arduino-CLI 0.35\ +ESP32 Arduino 2.0.14\ +VSCode 1.87 Arduino 0.6\ VSCode plugin ESP8266Littlefs based on VSCode plugin ESP8266fs\ InnuAPID AutoTune PID lib based on [Brett Beauregard](https://github.com/br3ttb/Arduino-PID-Library)\ InnuTicker task scheduler lib\ InnuFramework CSS/JS bootstrap 4.6.2\ Server Sent Events (8 SSE channels) -Version 1.37d +Version 1.38 +* Update: Anpassungen aus den Testversionen 1.37c bis 1.37j in Release 1.38 zusammengefasst +* Update: Profile WebIf überarbeitet +* Update: Beschreibung Platine erweitert +* Fix: SSE Boradcast typo +* Update: Sprachdateien + +Version 1.37j + +* Geändert: aktiver Maischeplan kann nicht mehr gelöscht werden +* Neu: Funktion Erstelle neuen leeren Maischeplan +* Neu: Funktion Maischeplan umbenennen +* Geändert: Einstellung Maischeplan Anordnung angepasst +* Geändert: BrewFather Import Filter erweitert (tag recipe -> Sud gestartet) +* Neu: BrewFather Import Filter erweitert (Version 2.0) +* Fix: BrewFather Import, Tests mit versch. Rezepten steht noch aus +* Geändert: Ticker handling optimiert * Geändert: Standard SampleTime für Induktion auf 2000ms angepasst * Update: ArduinoJSON lib 7.0.4 * Geändert: Initialisierung Ticker Objekte @@ -23,8 +39,16 @@ Version 1.36 * Geändert: eine Tabellenzeile wird nach einem Klick mit Markierung angezeigt * Geändert: Wird eine Zeile zum Maischeplan hinzugefügt, wird die Zeile mit Markierung angezeigt und der Fokus wird auf die erste Zelle (Rastname) gesetzt -* Geändert: Wird vor dem Hinzufügen einer neuen Zeile zum Maischeplan eine vorhandene Zeile angeklickt, wird die neue Zeile nach der angeklcikten Tabellenzeile eingefügt. +* Geändert: Wenn ein Maischeprozess gestartet wird, werden die Buttons manueller Modus deaktiviert +* Geändert: der Button Maischeplan speichern wird nur noch angezeigt, wenn eine Änderung vorgenommen wurde (der grüne Speichern Button entfällt) + +* Geändert: Wird vor dem Hinzufügen einer neuen Zeile zum Maischeplan eine vorhandene Zeile angeklickt, wird die neue Zeile nach der angeklickten Tabellenzeile eingefügt. * Fix: Script Flashen.cmd Parameter --baud eingefügt +* Geändert: wenn ein neuer Maischeschritt leer bleibt (ohne Name, Dauer, Temperatur), wird die Zeile beim Speichern ignoriert +* Update: ArduinoJSON Version 7 (alloc heap / stack). Alle JSON Verarbeitungen auf API V 7 angepasst +* Geändert: Überarbeitung aller ArduinoJSON arrays und objects +* Geändert: default Leistung bei Sensorfehler auf 0% angepasst (greetz@lowPerformer) +* Fix: Webserver: simplifying webserver file uploads via form POST (#9211) * Fix: Löschen der aller Einstellungen und WLAN Einstellungen löschen * Update: ESPTool 4.7.0 @@ -37,6 +61,7 @@ Version 1.36 * Geändert: Der Fokus wird mit Klick auf Tabellenzeile editieren oder Tabellenzeile hinzufügen auf das Element Name (erste Spalte) gesetzt * Geändert: Der Button Database (Zeitplaner, Maischeplan wechseln, importieren, exportieren oder löschen) wird bei Änderungen am Maischeplan ausgeblendet +* Fix: WebServer: use MD5Builder instead of mbedtls (#9123) * Geändert: Temperaturvorgaben Import in die Maischeplaneinstellungen Tab Voreinstellung Import verschoben * Geändert: Maischeplan Wechsel, Import, Export und Löschen in Tab Verwaltung verschoben * Geändert: Reihenfolge JS Dateien beim Start (lang.js vor brautomat.min.js) @@ -88,17 +113,28 @@ Version 1.33j * Neu: Verzeichnis /language * Neu: offenes Format (JSON) für Sprachdateien und ToolTipps erstellt -Version 1.32c +Version 1.32b -* Fix: Fehler maximale Anzahl an Sensoren -* Fix: Fehler beim reload WebIf nach Neustart -* Fix: Nach Wiederherstellung der Konfiguration wurde das Fenster nicht geschlossen +* Fix: die Rasttemeraturen beim Rezeptimport wurden nicht korrekt gerundet +* Fix: Wenn fehlendes Abmaischen im Rezeptimport kbh2 ausgewählt war, wurde die MaischeSud Abmaischtemperatur nicht übernommen +* Geändert: debug Ausgaben entfernt +* Fix: Button Neustart debug code entfernt +* Geändert: Toasts vom Typ error um einen ok-Button zum Schließen erweitert +* Geändert: mDNS Anzeige im Display, auf der Konsole und in der Anleitung angepasst * Fix: Fehler WebIf behoben (Webseite wurde teilweise geladen) * Fix: Fehler WebIf behoben howler.js entfernt * Geändert: Auf html5audio umgestellt +* Geändert: Anschluss Max31865 geändert. Siehe Readme +* Neu: Fehlerprüfung PT100x Sensoren * Neu: GGM IDS Pin Interrupt kann deaktiviert werden: Errorcodes der IDS werden nicht ausgelesen * Neu: GPIO Pin "Aus" eingefügt. Die Auswahl deaktiviert einen Aktor und gibt den GPIO frei +* Fix: D20 (GPIO10) aus der Liste entfernt. GPIO10 wird intern verwendet (SD3 Flash) +* Fix: Korrektur PT Sensor ID * Fix: Variablentyp mismatch korrigiert +* Fix: Treiber Start Max31865 korrigiert +* Fix: Startmodus Max31865 PT100 und PT1000 vertauscht +* Neu: Unterstützung für PT100 und PT1000 +* Neu: Unterstützung für Max31865 Amplifier implementiert (PT100/PT1000) Version 1.31 @@ -107,463 +143,45 @@ Version 1.31 * Update: jQuery 3.7.1 * Update: Howler 2.2.4 (play audio files) * Optimiert: InnuFramework CSS (purge) +* Geändert: Partionen angepasst - manuelles flashen erforderlich! * Geändert: Display MaischeSud angepasst -Version 1.30b +Version 1.30 * Fix: Bootreihenfolge Treiber Display * Fix: Bootreihenfolge Treiber DS18B20 -* Fix: Absturz bei Displayaktivierung behoben +* Geändert: Ticker Display entfernt + +Version 1.29 + +* Fix: WebUpdate dev branch +* Fix: WebUpdate Protokoll unvollständig * Fix: KBH2 Datei wurde nach Rezeptimport nicht gelöscht (debug) -* Fix: WebUpdate OOM/MFLN github +* Update: ESP32 2.0.14 * Geändert: Anzeigedauer Toast-Nachrichten reduziert: info, success 10s, warning 20s -* Fix: Anzeigefehler Leistung IDS im Status statePlay (Play Button rot) nach Maischeschritt mit deaktiviertem autonext +* Fix: Anzeigefehler Leistung IDS im Status statePlay (Play Button rot) nach Miascheschritt mit deaktiviertem autonext +* Fix: WiFiClient.flush - Properly initialize and check _rxBuffer #8699 * Fix: Anzeigefehler Timer nach Button Prev/Next auf Maischeschritt Aktor schalten behoben +* Fix: Fehler Button Prev und Button Next auf Maischeschritt Aktor schalten springen behoben +* Fix: Anzeigefehler Timer nächste Rast ("6046:00") behoben +* Fix: Zeitgesteuerter Braustart: DateTimePicker im WebIf * Fix: Zeitgesteuerter Braustart: Aktor einschalten als erster Schritt wurde nicht erkannt * Geändert: Sensorkalibrierung auf 15 Messwerte reduziert - -Version 1.29 - +* Fix: Watchdog Reset während Sensorkalibrierung +* Geändert: WiFi.Events angepasst (Timeouts) +* Geändert: Aktoren shortcut entfernt +* Fix: Fehler Laden Web Interface behoben (request handler not found) +* Fix: Profile können nicht gespeichert werden - Wenn das Verzeichnis Profile nicht existiert, wird es erstellt +* Neu: Aktor und Nachguss Tracking im Eeprom +* Fix: Exception WiFiClient.flush +* Fix: Watchdog nach WLAN AP Mode und WebUpdate starten +* Geändert: SSEkeepAlive 60s - WebIf checkAliveSSE 90s +* Neu: Watchdog Task timeout 10s (Test) +* Neu: Autostart Maischeprozess, wenn nach dem Neustart im Eeprom ein Maische Tracking gefunden wird (Reset oder Absturz) + Maische Tracking wird entweder automatisch gelöscht (Maischeschritt beendet) + oder Maische Tracking manuell durch Power Button (Start/Stop) zurücksetzen +* Neu: Tracking aktueller Maischeschritt und Zeit im Eeprom +* Fix: Fehler Board config behoben (cores) +* Fix: Fehler WiFi Client behoben * Fix: Fehler bei der Erkennung Aktor ein/ausschalten im Maischeplan behoben -* Neu: Schalten von Aktoren und Nachguss im Maischeplan - -Version 1.28 - -* Fix: Maischeprozess beendet: nur eine Toastnachricht/Signal "Prozess beendet" -* Geändert: WebIf Sensorkalibrierung -* Geändert: Anzahl Sensorwerte Kalibrierung von 60 auf 30 reduziert -* Fix: Startpage Display -* Fix: PCF8574 Initialisierung (Fehler 0x82) -* Cleanup: Debug Ausgaben entfernt -* Cleanup: Quellcode strukturiert u. optimiert Teil 4 -* Fix: WebUpdate (connection lost) -* Geändert: Update Intervall Sensoren, IDS2, HLT und SYS sind abhängig (Minimum) -* Geändert: Standard Updateintervall Sensoren, IDS und HLT auf 2000ms geändert -* Fix: Fehler bei Änderung SampleTime behoben -* Geändert: Standardauflösung Sensoren auf 12bit gesetzt (+- 0.0625°C) -* Fix: Ticker Anpassungen IDS2, HLT und Sensoren -* Geändert: WLAN reconnect auf WiFi Events umgestellt (builtin) -* Geändert: WLAN Ticker entfernt -* Cleanup: Quellcode strukturiert u. optimiert Teil 3 -* Geändert: Server requests SSE & keepAlive handling -* Cleanup: WebServer response, var -* Fix: Debug output File browser entfernt -* Neu: Tab Sysinfo -* Geändert: Umstellung auf Arduino-CLI -* Fix: kbh2 Import Hopfengabe Type Vorderwuerze 0 (Kochen alt) wurde nicht korrekt eingelesen -* Fix: kbh2 Import Hopfengabe Type Vorderwuerze 0 (Kochen alt) wurde bei der Restzeit Kochen nicht eingerechnet -* Fix: Größe JSON für MaischeSud Kessel angepasst -* Geändert: PWM Aktoren duty cycle -* Geändert: DS18B20 Sensorabfrage (requestTemperatures) und Ausgabe der berechneten Temperaturen unterteilt -* Geändert: minimale Zeitdifferenz zwischen Sensorabfrage und Ausgabe Temperatur auf Resolution Timeout gesetzt (bspw. bei 11bit 375ms) -* Cleanup: Typ und Scope diverser Variablen -* Cleanup: Identifizieren Pin und Typ Aktoren -* Cleanup: alle WebServer Antworten auf minimal response reduziert -* Cleanup: sämltiche String concat Manipulationen in den Flash Speicher verschoben -* Cleanup: sämtliche Klassenvariablen (Sensoren, Aktoren und Induktion) überarbeitet -* Cleanup: Variablentyp String in allen ArduinoJSON (serialize, deserialize) durch char arrays ersetzt -* Cleanup: Quellcode strukturiert u. optimiert Teil2 - -Version 1.27 - -* Cleanup: Quellcode strukturiert u. optimiert -* Geändert: DateiUpdate -* Geändert: Zeichenanzahl für Namen Sensoren und Aktoren auf maximal 15 Zeichen beschränkt -* Korrektur: Bei maximaler Anzahl Aktoren wurde zu wenig RAM für das SSE JSON reserviert -* Korrektur: Web Interface Speichern Profil wurde mit zweifach server.send ok beendet -* Geändert: Uhrzeit NTP Ticker ersetzt (erforderlich für SSL Verbindung) -* Geändert: WebUpdate Standardverbindung SSL -* Geändert: Speicherverbrauch WebUpdate optimiert -* Neu: Log Datei WebUpdate (webUpdateLog.txt) -* Fix: github MFLN Verprobung WebUpdate -* Fix: WebUpdate -* Erneuert: Zertifikate SSL -* Fix: reload Maischetabelle ohne server send ok beendet -* Fix: memory usage Import Filter, wenn sehr große Rezepte (Dateigröße) importiert werden -* Fix: Anzeige Display bei langen (zusammengesetzten) Namen im Maischeplan -* Fix: Anzeige Mengenangaben linksbündig (Schüttung, Wasser, Hopfen, Zugaben) -* Fix: Import KBH2 Rundungsfehler behoben -* Fix: Importfilter kbh2 wurde nach Abschluss Import nicht gelöscht -* Fix: Importfilter BrewFather Berechnung Dauer Kochen Hopfen -* Geändert: Importfilter MMum VWH -* Geändert: Import kleinerBrauhlfer2 Version 2.6 Dekoktion -* Geändert: Status Icon SSE readonly in die Systemzeile verschoben - -Version 1.26: Update kleinerBrauhelfer2 Version 2.6 - -* Geändert: Import kleinerBrauhlfer2 Version 2.6 Einmaischen, Aufheizen, Zubrühen und Zuschütten -* Neu: Verwaltung von Hardware profilen (MaischeSud Kessel: erstellen, löschen, wechseln) -* Neu: Sensorkalibrierung über das WebIf -* Neu: Sensor Offset Berechnung erstellt ein Logfile -* Neu: Sensor Offset Berechnung über Mittelwert aus 60 Messproben -* Fix: eine Veränderung der Zieltemperatur in einem pausierten Maischeprozess wurde nicht im Display angezeigt (WebIf ok) -* Fix: doppelter server.send OK entfernt -* Fix: in der Ansicht Tabelle Maischeplan beim Brauen (kleine Lücke auf der re Seite) -* Fix: Fehler in Dateisystem behoben -* Fix: Löschen letzter Sensor, letzter Aktor oder HLT hat den Eintrag im Dashboard nicht entfernt (erst nach reload) -* Fix: Wenn der Maischeprozess gestartet und ein reload auf das WebIf durchgeführt wurde, waren alle Icons zuum Editieren der Tabelle eingeblendet -* Fix: eine Veränderung der Zieltemperatur in einem pausierten Maischeprozess wurde nicht korrekt übernommen (Anzeige ok, aber Zieltemperatur falsch) -* Geändert: Icon Kalender (geplanter Braustart) entfernt -> im Menü Maischeplan editieren enthalten -* Geändert: Korrekturen WebIf - -Version 1.25 dev - -* Neu: Maischeplan Verwaltung (Maischeplan wechsel) -* Info: Der Maischeplan Name ist auf 26 Zeichen beschränkt (maximale Dateinamenlänge Arduino LittleFS 31 (Sudname plus Endung .json) -* Info: der Maischeplan Name wird als Dateiname verwendet (Leerzeichen und Umlaute werden ersetzt) -* Info: Speicherort der Maischepläne im Flash unter /Rezepte/ -* Info: der vorhandene (alte) Maischeplan (mashplan.json) wird automatisch konvertiert und nach /Rezepte verschoben -* Info: ein vorhandener (neuer) Maischeplan wird bei einem Import mit identischem Maischeplan Namen überschrieben -* Neu: Maischeplan Wechseln -* Neu: Maischeplan löschen -* Neu: SSE auto reconnect -* Neu: SSE checkAlive für Mobile Browser (nur auf iOS getestet) -* Geändert: Funktion Pause Button während der Aufheizphase. Siehe [Anleitung - Die Steuerung](https://innuendopi.gitbook.io/brautomat_de/der-maischeplan/die-steuerung) -* Geändert: Systemmenü Rezepte entfernt. Maischeplan Import/Export nach Maischeplan editieren verschoben -* Geändert: SSE reconnect und CheckAlive timing -* Geändert: Anleitung überarbeitet -* Geändert: Datei Explorer erweitert (Dateiordner) -* Geändert: InnuFramework (CSS, Icons, Tooltips) -* Fix: Auswahl Sensor Einrichtung MaischeSud Kessel -* Fix: Arduino ESP8266 core: No poison after block with current git version (Issue #8952) - -Version 1.23a - -* Geändert: Manuelles Kochen in den Voreinstellungen auf deaktiviert geändert -* Geändert: Grafik Chart in den Voreinstellungen auf deaktiviert geändert -* Korrektur: "Grundkonfiguration ausführen" als Schrittname wurden nicht angezeigt, wenn keine Konfiguration vorhanden ist -* Neu: Chart ein/ausklappbar (Button collapse) - Grafik wird eingeklappt im Hintergrund aktualisiert -* Geändert: Anleitung überarbeitet -* Geändert: InnuFramework - -Version 1.23 - -* Geändert: Anleitung überarbeitet -* Geändert: Abschlusstest AutoTune IDS, AutoTune HLT -* Geändert: Abschlusstest Brauen - -Version 1.22e - 1.22j - -* Neu: Maischeplan ein/ausklappbar (Button collapse) -* Neu: Ändern der Leistung zur Laufzeit in der Aktoren-Tabelle über zwei Buttons (Schritte +/- 10%) -* Neu: Aktoren PWM Schalter (zum Ausblenden der Buttons Änderung der Leistung in der Tabelle Aktoren) -* Geändert: Maischeplan SSE optimiert -* Korrektur: Maischeplan Änderung über SSE (Aktualisierung aller verbundenen Clients) -* Korrektur: Arduino ESP8266 core: Fix for occasional timeout issues #8944 (net error timeout - WebIf Fehler) -* Geändert: PID Nachguss Vorgaben angepasst -* Korrektur: WebIf laden der select box Parameter (empty rsponse) -* Geändert: Ticker Intervalle IDS und HLT -* Geändert: Ticker Intervalle PID Berechnung -* Geändert: Ticker Intervalle und durycylcles Aktoren (PWM) -* Korrektur: Arduino ESP8266 core: Fix for dangerous relocation: j: cannot encode #8925 -* Geändert: Arduino ESP8266 core: Add support WiFiClientSecure TCP KeepAlive #8940 -* Geändert: Intervalle (SampleTime) können im laufendem Betrieb geändert werden -* Geändert: Intervalle (SampleTime) Bereich vergrößert 3000 - 7000 -* Geändert: Nachguss PID Temperatur und GPIO Taktung erweitert -* Geändert: Sensorzuweisung Nachguss -* Korrektur: PID Debug Ausgaben -* Korrektur: SetPoint und Target Nachguss -* Geändert: InnuFramework -* Korrektur: Anzahl Verbindungen (request) WebIf verringert -* Korrektur: Verzögerung beim Start SSE mit Firefox behoben -* Neu: Überprüfung SSE checkAlive für Tablets/Smartphones - -Version 1.22d - -* Geändert: PID Algorithmus IDS: Individuell oder IDS -* Geändert: PID Algorithmus HLT: Individuell oder Nachguss -* Geändert: PID Algorithmus: Button löschen entfernt -* Geändert: Datenmenge und requests PID Manger IDS/HLT minimiert -* Geändert: Web Interface Reihenfolge -* Korrektur: Sudname nach Deaktivierung geplanter Braustart nicht korrekt angezeigt - -Version 1.22c - -* Geändert: Datentranfer Optimierung (push) -* Geändert: Flash Speicher Optimierung -* Korrektur: Arduino ESP8266 core: WiFi Client core fix #8941 -* Korrektur: Start HLT AutoTune -* Geändert: Web cache control - -Version 1.22b - -* Korrektur Fehler beim Einlesen der Konfiguration (Temperaturvorgaben IDS, zugewiesener Sensor) - -Version 1.22a - -* Korrektur: Rezeptimport KBH2 Zusätze: falscher Parameter ausgewertet (menge statt erg_menge) -* Korrektur: Step Aktualisierung wurde u.U. doppelt in einem loop aufgerufen -* Fix: Fehler beim Laden WebIf bzw. unvollständiges Laden (streamfile header response #8873) -* Fix: JSON parse Sensoren Daten: unexpected non-whitespace character (array) -* Geändert: InnuFramework mimeTypes und mimeTables -* Geändert: Start Server Sent Event optimiert -* Geändert: Laden vom WebIf beschleunigt -* Geändert: Der Button Status Server Sent Events führt nur bei disconnect einen reload aus (rot)\ - Wenn SSE verbunden ist, hat der Button außer tooltip keine Funktion (grün) - -Version 1.22 - -* Geändert: Rezept Import kbh2: Hopfengabe wird zusammengesetzt aus Name, Alpha [%] und Menge [gr] -* Korrektur: Rezepttyp Erkennung korrigiert (type mismatch, Zahlendreher nach Optimierung). -* Neu: Rezeptimport KBH2 Hopfengaben und Zutaten um Mengenangaben erweitert -* Neu: Rezeptimport KBH2 Zubrühen um Mengen- und Temperaturangaben erweitert -* Neu: Rezeptimport KBH2 Dekoktion um Mengenangaben erweitert -* Neu: Rezeptimport KBH2 um Zutaten aus den Tabs Maischen und Kochen erweitert -* Neu: Eigenschaften Temperatur Einmaischen und Abmaischen für Rezeptimport eingefügt -* Neu: Eigenschaften Temperatur Vorderwürzenhopfung und Whirpoolhopfung für Rezeptimport eingefügt -* Geändert: Rezept Import BrewFather: Daten (Zeit, Temp) werden vor verarbeiten überprüft -* Korrektur: Rezept Import BrewFather: Rastennamen und Hopfengaben auf 50 Zeichen begrenzt -* Korrektur: Rezept Import BrewFather: Berechnung Kochdauer Hopfengabe -* Korrektur: Rezept Import BrewFather: Rastdauer 0 Minuten, wenn Rezept mit Fließkommazahlen erstellt wurde -* Korrektur: Start Chart Ticker (Graph Temperaturen) bei Braustart über Timer -* Korrektur: Bei Braustart über Timer wurden die Buttons zum Editieren nicht ausgeblendet -* Korrektur: Aktualisieren der Buttons bei Braustart über Timer (Power Button war nicht aktiv grün gesetzt) -* Korrektur: Speichern der Konfiguration HLT -* Korrektur: Refresh Maischeplan nach editieren nicht korrekt geladen -* Korrektur: Import MMuM Filtergröße -* Korrektur: Import type mismatch JSON as int to var unsigend long -* Korrektur: Import sehr großer Rezepte -* Korrektur: Import Filter Speicherverbrauch optimiert -* Neu: IDS Parameter Temperatur kochen: Temperatur bei der die Würze wallend kocht -* Korrektur: Parameter Temperatur kochen umbenannt in Übergang zum Kochen -* Korrektur: Rezept Import kbh2: autonext wurde falsch gesetzt -* ZF: Alle Importfilter sollten nun komplett sein. Empfehlung: kleinerBrauhelfer2! -* Korrektur: Rezept Import MMuM: Hopfengaben zum gleichen Zeitpunkt -* Korrektur: Rezept Import MMuM: Typ Hopfen_VWH_1_Sorte eingefügt -* Neu: Optionen für den Import: Einmaischen 50°C für 1min mit deaktiviertem autonext, falls nicht vorhanden (oder gefunden) -* Neu: Optionen für den Import: Abmaischen 78°C für 1min mit deaktiviertem autonext, falls nicht vorhanden (oder gefunden) -* Neu: Import MaischeMalzundMehr Rezepte: Dekoktion -* Korrektur: Rezept Import KBH2: Hopfengaben zum gleichen Zeitpunkt -* Korrektur: Rezept Import KBH2: Vorderwürzenhopfung vor Step Kochen -* Korrektur: Step Dauer 0 Minuten -* Deaktiviert: Hinweis (Toasts) neue Version -* Neu: Import Brewfather Rezepte -* Korrektur: Import Brewfather: Hopfengabe Zeitpunkt -* Geändert: Import MaischeMalzundMehr Rezepte: JSON Import Filter eingefügt (Anmerkungen werden nicht mehr eingelesen) -* Geändert: Import MaischeMalzundMehr Rezepte: Überprüfung auf Maischeform Infusion eingefügt -* Korrektur: Import MaischeMalzundMehr Rezepte: Import Rezept Name u. Kochdauer -* Neu: Import MaischeMalzundMehr Rezepte: Import Hopfengaben hinzugefügt - -Version 1.21 - -* Optimiert: Quellcode überarbeitet -* Neu: Hinweis (Toasts) neue Version -* Geändert: Anleitung -* Update: JQuery 3.7.0 - -Version 1.20 - -* Optimiert: Web Interface Geschwindigkeit -* Neu Synchronisierung ESP8266 und Web Browser (SSE) -* Neu Server Sent Events (SSE) ersetzen Ajax/JQuery requests (http polling) -* Neu 8 SSE Kanäle (channels) stehen zur Verfügung -* Neu Favicon -* Geändert: Anleitung -* Korrektur: Reload nach Firmware Update (Toast) -* Korrektur: Reload nach SSE connection closed (Toast) - -Version 1.19 - -* Neu: SSE -* Korrektur: CSS/JS load files unknown length -* Korrektur: Konvertierungsfehler Datum Uhrzeit nach epochtime (Berechnung Startzeit Brauen) -* Neu: Schaltjahr Epochtime -* Korrektur: Rezept Import - -Version 1.18 - -* Neu: Zeitsteuerung Brauen eingefügt -* Neu: DateTimePicker im Menü Sud (Zeitsteuerung) -* Neu: Manueller Modus im Web Interface eingefügt -* Geändert: Sichtbarkeit der Dashboard Elemente (Systemeinstellungen - Dashboard) -* Optimiert: Icons (icomoon free) -* Geändert: Option Manueller Modus im Dashboard aktiviert -* Korrektur: Tippfehler -* Optimiert: Geschwindigkeit Web Interface - -Version 1.17 - -* Update: SoftSerial 8.0.2 (Kommunikation Nextion Display) -* Optimiert: Geschwindigkeit Nextion Display -* Korrektur: Während AutoTune wird die erste Zeile Maischeplan nicht mehr markiert -* Geändert: Beim Start vom Brautomat wird die GGM IDS auf null Prozenzt Leistung gesetzt -* Geändert: Erkennen von Min/Max AutoTune -* Geändert: Überprüfung ob AutoTune Peaks stabil sind -* Optimiert: Während AutoTune GGM IDS wird die Auflösung Temperstursensor auf 12bit gesetzt (max. Auflösung, 0.0625°C) -* Geändert: Prüfung auf isConnected der Temperatursensoren entfernt (fehlerhafter Rückgabe bei manchen DS18B20 Sensoren) -* Geändert: Sensor Fehler Code Auswertung entfernt (-254, -253, -252, -127). Sensorwerte ab -127.0 werden als Sensorfehler behandelt -* Optimiert: MP3 Dateien komprimiert -* Optimiert: Reihenfolge web requests optimiert -* Geändert: AutoTune debug Log komprimiert -* Erweitert: Dashboard Status (not yet ready) -* Korrektur: JS Toasts (Typo) -* Korrektur: WebUpdate Toasty entfernt (alte JS) -* Neu: Tab Dashboard: Konfiguration der Elemente auf dem Dashboard -* Geändert: Ansicht Dashboard -* Geändert: Refresh Dashboard - -Version 1.15 maintenance/Framework update - -* Optimiert: Framework Innuticker Display Update read SoftSerial (updateBack) -* Optimiert: Web Interface Ladevorgang verbessert (toasts lib) -* Optimiert: TouchDisplay Reaktionszeit beschleunigt -* Geändert: Framework Aktualisierung der Ticker Objekte (updateBack) -* Ersetzt: Toast Lib - -Version 1.14 maintenance update - -* Update: ESP8266 Arduino 3.1.2 -* Update: VSCode 1.76 Arduino 0.6 -* Update: ArduinoJSON 6.21 -* Update: SoftwareSerial 8.0.1 -* Optimiert: Framework - -Version 1.13 - -* Korrektur: Fehler beim Speichern Einstelung Toast Nachrichten behoben (typo) -* Korrektur: Toast Objekte -* Korrektur: Die Ladezeit für die toast.min.js verbessert (dauert trotzdem noch zu lange) -* Geändert: Toasts vom Typ Error bleiben stehen, bis sie angeklickt werden -* Geändert: Abfragen Toasttypen -* Korrektur: Fehler Toasts und Alarme mp3 Einstellung Nur Fehler - -Version 1.12 - -* Neu: Name Maischeplan editierbar (Rezeptname) -* Neu: Info zur Kochdauer und Nachisomerisierungszeit (readonly) -* Korrketur: Zeitberechnung Hopfengabe Typ Ausschlagen -* Korrektur: Nachisomerisierung wenn Hopfengabe Typ Ausschlagen vorhanden ist -* Korrektur: Reihenfolge bei Nachisomerisierung und Ausschlagen korrigiert -* Korrektur: Zeitpunktberechnung Hopfengabe Typ Kochen (3) -* Korrektur: Benachrichtigung Firmware Update WebUpdate (Alert) -* Optimiert: CSS Dateien - -Version 1.11 - das kleinerBrauhelfer2 Update - -* Neu: Import aus dem Tab Maischeplan: Einmaischen, Aufheizen, Zubrühen und Dekoktion -* Neu: Import aus dem Tab Kochen: Vorderwürze, Ausschlagen und Hopfengabe Kochbeginn, Kochen und Kochende -* Neu: Kochdauer und Nachisomerisierungszeit werden aus kbh2 verwendet -* Neu: der Sudname aus kbh2 wird als Rezeptname im Brautomat verwendet -* Angepasst: Maximale Anzahl Einzelschritte im Maischeplan auf 20 erhöht (Dekoktion) -* Angepasst: Maischeschritt Einmaischen, Zubrühen und Dekoktion werden mit deaktiviertem autonext importiert -* Angepasst: Maischschritt Aufheizen über 76°C wird mit deaktiviertem autonext importiert (Abmaischen) -* Angepasst: Vorderwürzenhopfung wird mit 0min Dauer und 0°C importiert -* Angepasst: ist keine Hopfengabe vom Typ Kochbeginn enthalten, wird vor der ersten Hopfengabe Kochen ein Kochenschritt eingefügt -* Angepasst: die Dauer errechnet sich in dem Fall aus Kochdauer abzüglich der Summe der Hopfengaben -* Angepasst: eine Hopfengabe Ausschlagen mird mit positiver Dauer und 80°C importiert -* Angepasst: die Dauer entspricht beim Ausschlagen der Nachisomerisierungszeit -* Geändert: Der Rezeptimport aus dem kleinenBrauhelfer2 benötigt Version 2.5 oder neuer - -Vielen Dank an bourgeoislab für die Unterstützung ;-) - -Version 1.1 (rel) - -* Update: bootstrap minified CSS (purged) -* Optimiert: Ladegeschwindigkeit verbessert -* Update: Arduino für VSCode 0.5.0 -* Update: VSCode 1.75 -* Update: Bibliothek PCF8574 0.3.8 -* Korrektur: Anzeige Toast zeitgleich auf unterschiedlichen Geräten. Auf iOS weiterhin nur ein workaround möglich -* Geändert: wenn der Maischeprozess gestartet ist, muss der Maischeprozess pausiert werden, um den Maischeplan editieren zu können -* Neu: die Buttons und Icons zum Editieren werden während des Maischeprozesses ausgeblendet - auf Smartphones und kleinen Tablets ist die Tabelle Maischeplan durch das Ausblenden vollständig sichtbar -* Neu: die aktuelle Rast wird im Maischeplan farblich markiert. -* Geändert: die Buttons Power (grün), Play und Pause (rot) werden im aktiven Zustand mit voller Farbe dargestellt (vorher outline) -* Geändert: der aktuelle Status Power, Play und Pause wird geräteübergreifend gespeichert -* Korrektur: Toasts timer handling (Toast wurden nicht zugestellt) -* Neu: success.mp und warning.mp3 (Benennung beibehalten) -* Neu: Toasts werden nach 60 Sekunden gelöscht oder durch neuen Toast überschrieben -* Neu: mp3 Alarme für Systemevents -* Geändert: Reboot initiert nun automatisch ein page reload -* Update: ArduinoJSON Bibliothek -* Update: PCF8574 Bibliothek (GPIO Erweiterung) -* Entfernt: Debug Ausgaben -* Korrektur: Log Datei AutoTune -* Geändert: Datei handling -* Geändert: Display Dateien HMI -* Geändert: Anleitung auf gitpages aktualisiert - -Version 1.0l - -* Korrektur: logischer Fehler in Abfrage Zieltemperatur 0°C behoben -* Update: mp3 Audio für iOS - -Version 1.0k - -* Neu: MP3 Audio für Toast Nachrichten (info.mp3 und error.mp3) - die MP3 Dateien können ausgetauscht werden -* Korrektur: Auswahl Toastnachrichten: Aus, Ein oder nur Fehler -* Korrektur: Anzeige Toast Nachrichten angepasst: Uhrzeit #lfdNr : Nachricht -* Korrektur: ESP8266 cores (#8844) - -Version 1.0j - -* Neu: Button vorheriger Step. Springt einen Maischeschritt zurück. - Wenn Pause aktiviert ist, wird der Rast-Timer der aktuellen Rast zurückgesetzt. -* Korrektur: Bibliothek ESPSoftSerial aktualisiert (github #267) -* Geändert: Anleitung auf gitpages aktualisiert - -Version 1.0i - -* Update: ESP8266 cores aktualisiert -* Update: Arduino for Visual Code 0.4.13 -* Korrektur: Ticker Bibliothek -* Korrektur: Name im AP Modus Brautomat -* Korrektur: Im Modus Kochen wurde ein logischer Fehler in der Auswertung autonext behoben -* Neu: Zubrühen - -Version 1.0h - -* Korrektur: Speicherzuteilung Rezept nicht ausreichend für 15 Maischeschritte. Neue Größe Rezpet JSON 2048 -* Korrektur: Fehler in autonext behoben, wenn setpoint vom nachfolgenden Maischeschritt unter Ist-Temperatur liegt -* Neu: Wenn die Zieltemperatur auf 0°C gesetzt wird und autonext aktiv, wird der Step ohne Temperaturprüfung gestartet -* Korrektur: Typo: Änderung am Objekt IDS während des Brauens ändert die Leistung Objekt HLT. -* Korrektur: Temperatur delta zum Ziel sowohl über als auch unter setpoint (fabs) -* Korrektur: HLT Standardregel INDIVIDUAL_PID - -Version 1.0g - -* Geändert: Parameter AutoTune Intervall umbenanntn in PID Intervall (IDS und Nachguss) [2sek bis 5sek] -* Geändert: Parameter PID Intervall in Tab PID-Manager verschoben -* Geändert: das PID Intervall (SampleTime) legt die Taktung Auslesen Sensor und Leistung an Indution fest -* Anmerkung: Reihenfolge: Sensorwert auslesen - PID Berechnung - berechnete Leistung an IDS senden -* Anmerkung: ein sehr kleines Intervall (alle 2sek) führt zu sehr vielen Berechnungen wordurch der Brautomat träger reagiert. -* Anmerkung: kleinere Intervalle (2sek) kann bei kleinen Maischevolumen (10-15l) vorteilhaft sein -* Korrektur: Fehler HLT PID Anzeige behoben -* Korrektur: HLT AutoTune Zieltemperatur readonly -* Korrektur: Web Interface Parameterbeschreibungen -* Geändert: Das Ein- und Ausblenden der Tabellen Nachguss, Sensoren und Aktoren wird nicht mehr automatisch gespeichert -* Geändert: Das Ändern der Tuning Regel wird nicht mehr automatisch gespeichert -* Neu: Überprüfung Wertebereich für Eingaben der Paramtertypen Leistung, Temperatur, Anzahl und Zeit eingefügt - -Version 1.0f - -* Update: ESP8266 Arduino 3.1.1 -* Geändert: Refresh Sensoren, IDS und HLT auf 2000ms -* Geändert: AutoTune timeout auf 20min -* Geändert: Max Leistung als oberes Limit in die PID Berechnung integriert -* Neu: Eigenschaft Max Leistung HLT eingefügt -* Korrektur: Fehler HLT PID Berechnung behoben -* Korrektur: WebUpdate Tools ist Teil von WebUpdate Firmware. Button WebUpdate Tools entfernt - -Version 1.0e und früher - -* Neu: Neue Option für Toasts "Info": alle Nachrichten -* Neu: Neue Option für Toasts "Fehler": nur Nachrichten bei Sensor oder WLAN Fehler -* Update: ESP8266 core fix #8796 #8797 -* Update: VSCode 1.74.3 -* Korrektur: Umwandlung Sensor Adresse in Hex (SetResolution) -* Neu: Parameter Maximale Leistung IDS kann nun während des Brauens verändert werden -* Neu: Parameter Temperatur Kochen IDS kann nun während des Brauens verändert werden -* Neu: Parameter Leistung Kochen IDS kann nun während des Brauens verändert werden -* Neu: Toast Nachrichten bei Sensorfehler -* Neu: Alarm Error bei Sensor Fehler -* Neu: Alarm Error bei WLAN Fehler -* Korrektur: Toast Nachrichten konnten nicht deaktiviert werden -* Korrektur: Auswahl Tuning Regel IDS und Nachguss berechnet keine Werte für P, I, D -* Geändert: Seitenwechsel Display auf 0x66 angepasst (Vorbereitung Update Bibliothek NextionX2) -* Update: ESP8266 3.1.0: Fehler in ESPWebServer behoben (Webseite ganz oder teilweise nicht erreichbar) -* Update: ESP8266 3.1.0: Fehler in ESPSoftSerial behoben (Anbindung Display) -* Update: ESP8266 Arduino 3.1.0 -* Update: VSCode 1.74.2 -* Update: Nextion HMI Editor 1.65 +* Update: ESP32 2.0.13 diff --git a/README.en.md b/README.en.md new file mode 100644 index 0000000..44d0c8f --- /dev/null +++ b/README.en.md @@ -0,0 +1,133 @@ +# Brautomat for ESP32 + +[![de](https://img.shields.io/badge/lang-de-green.svg)](https://github.com/InnuendoPi/Brautomat32) + +Brautomat is a brewing controller for GGM IDS induction hobs with an ESP32 Wemos D1 mini. Brautomat is used in the brewery by hobby brewers and offers intuitive, easy-to-use controls. During mashing, rest temperatures are reached automatically and the rest times are adhered too. Brautomat also supports the the boiling process of the wort and adding hops. In an ascending infusion mash process, the brautomat can fully automate the mashing process. + +_Note: induction hobs from other manufacturers than GGM IDS are not supported._ + +_Note: please use german manual with browser translation._ + +*** + +## Features + +Brautomat is a stand alone brewing device and offers: + +* induction hob controller GGM IDS +* integrated PID-Controller +* digital sensors DS18B20 +* analog sensors PT100x with MAX31865 Amplifier +* PID-AutoTune +* mash plan management + * full automated rest temperature reach & hold + * full automated rest duration timer function +* Mash plans with up to 20 steps +* Hot liquid tank controller (HLT) +* Controlling actors like agitator, pumps etc. +* PWM for heating elements +* Temperature progression in the mashing process (line chart) +* MP3 alerts +* Toasts messages +* Recipe import + * kleinerBrauhelfer2 + * Maische Malz und Mehr + * BrewFather +* Recipe export +* Nextion 3,5" HMI Touchdisplay (optional) +* WebUpdate for easy firmware updates +* Support for different languages + +## 📚 Documentation + +Manual: [https://innuendopi.gitbook.io/brautomat32en/](https://innuendopi.gitbook.io/brautomat32en/)\ +Discussion: [https://hobbybrauer.de/forum/viewtopic.php?p=486504#p486504](https://hobbybrauer.de/forum/viewtopic.php?p=486504#p486504)\ +Changelog: [https://github.com/InnuendoPi/Brautomat/blob/main/CHANGELOG.md](./) + +## 📰 WebInterface + +The Brautomat is web browser controlled. A web browser with support for CSS3, HTML5, Javascript and Server Sent Events (SSE) is required.\ + +Compatible browser list [Browser](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent\_events/Using\_server-sent\_events#browser\_compatibility) + +![Startseite](docs/img/brautomat.jpg)\ +![Startseite](docs/img/IDS-AutoTune-Ziel.jpg)\ +![Startseite](docs/img/brautomat-2.jpg) + +## 💻 Nextion HMI Touchdisplay + +Brautomat offers three different displays: + +* Overview +* Mash tun +* Manual control cooking + +![Overview](docs/img/kettlepage-sm.jpg) ![Mash tun](docs/img/brewpage-sm.jpg) ![Manual control](docs/img/induction-mode-sm.jpg) + +_Note: the display is an optional extension. Only Nextion ITEAD HMI 3.5" Touchdisplays are supported._ + +## ▶️ Installation + +Hardware driver CP210x USB to UART Bridge Virtual COM Port (VCP): [Silicon Labs](https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads) + +* Download [Firmeware.zip](tools/Firmware.zip) +* unzip Firmware.zip +* open command line (cmd.exe) and change into firmware.zip directory +* start script "flashen.cmd" + +Script flashen.cmd use [esptool](https://github.com/espressif/esptool). + +## 🗺️ Multilingual + +Brautomat32 supports (almost) any number of languages. Each language has its own language file. The language files in JSON format are stored in the folder data/language. + +_Supported the project and translated the Brautomat into a new language or corrected existing language files!_ + +## 📙 Circuit board 2.0 + +![Platine](docs/img/Platine20.jpg) + +A board for the Arduino ESP controller is available. In addition to the screw terminal blocks for the GPIOs, the board also offers a separate connection for the induction hob and three connections for temperature sensors. The Gerber file is stored in the Tools folder. The board 2.0 can be operated with both the ESP8266 and the ESP32. + +## 📗 Case + +![Gehäuse](docs/img/brautomat_01.jpg) +![Platine](docs/img/brautomat_02.jpg) + +## Pinout + +The ESP32 D1 offers a pinout suitable for the ESP8266 (GPIO D0 to D8). The pin assignment shown is based on the ESP32 D1 Mini NodeMCU module from [AZ-Delivery](https://www.az-delivery.de/products/esp32-d1-mini) + +GPIO mapping: + +![ESP32 D1 Pinout-1](docs/img/ESP32-D1.pinout-1.jpg) ![ESP32 D1 Pinout-2](docs/img/ESP32-D1.pinout-2.jpg) + +| Name | GPIO | Input | Output | notes | +| ---------- | ------- | ------ | ------ | --------------------------------------------- | +| D0 | GPIO026 | ok | ok | | +| D1 | GPIO022 | ok | ok | | +| D2 | GPIO021 | ok | ok | | +| D3 | GPIO017 | ok | ok | DS18B20 | +| D4 | GPIO016 | ok | ok | | +| D5 | GPIO018 | ok | ok | GGM IDS Interrupt blue/green | +| D6 | GPIO019 | ok | ok | GGM IDS Command yellow | +| D7 | GPIO023 | ok | ok | GGM IDS Relay white | +| D8 | GPIO005 | ok | ok | Buzzer | +| D9 | GPIO027 | ok | ok | SCLK | +| D10 | GPIO025 | ok | ok | MISO | +| D11 | GPIO032 | ok | ok | MOSI | +| D12 | GPIO012 | (ok) | ok | TDI, boot fails if pulled high, strapping pin | +| D13 | GPIO004 | ok | ok | CS0 | +| D14 | GPIO000 | pullUp | (ok) | must be low to enter flash mode | +| D15 | GPIO002 | ok | ok | onboard LED, must be low to enter flash mode | +| D16 | GPIO033 | ok | ok | CS1 | +| D17 | GPIO014 | ok | ok | CS2 | +| D18 | GPIO015 | ok | ok | | +| D19 | GPIO013 | ok | ok | | +|||||| + +Pins connected to onboard flash and not recommended for GPIO use: CMD (IO11), CLK (IO6), SD0/SDD (IO7), SD1 (IO8), SD2 (IO9) and SD3 (IO10) + +## 🔉MP3 files + +_Legal note: "Boxing Bell" (info), "Short School Bell" (error), "Ding sound effect" (warning) and "Success sound effect" (success) mp3 from Free Sounds Library_ [_http://www.freesoundslibrary.com_](http://www.freesoundslibrary.com) _Licence: Attribution 4.0 International (CC BY 4.0). You are allowed to use sound effects free of charge and royalty free in your multimedia projects for commercial or non-commercial purposes._ diff --git a/README.md b/README.md index 2fb69e7..754cdb4 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -# Der Brautomat für ESP8266 +# Der Brautomat für ESP32 -[![Brautomat](https://img.shields.io/badge/NEW-Brautomat32-blue.svg)](https://github.com/InnuendoPi/Brautomat32) +[![en](https://img.shields.io/badge/lang-en-red.svg)](https://github.com/InnuendoPi/Brautomat32/blob/main/README.en.md) -Der Brautomat ist eine Brausteuerung für die Induktionskochfelder GGM IDS1 und IDS2 mit einem ESP8266 Wemos D1 mini. Der Brautomat bietet eine intuitiv einfach zu bedienende Steuerung. +Der Brautomat ist eine Brausteuerung für die Induktionskochfelder GGM IDS1 und IDS2 mit einem ESP32 D1 mini. Der Brautomat bietet eine intuitiv einfach zu bedienende Steuerung. ---- +*** ## Hauptfunktionen @@ -39,21 +39,19 @@ Der Brautomat ist eine Brausteuerung für die Induktionskochfelder GGM IDS1 und ## 📚 Dokumentation -Beschreibung & Anleitung: [https://innuendopi.gitbook.io/brautomat32/](https://innuendopi.gitbook.io/brautomat32/) - -Diskussion: [https://hobbybrauer.de/forum/viewtopic.php?p=486504#p486504](https://hobbybrauer.de/forum/viewtopic.php?p=486504#p486504) - -Changelog: [https://github.com/InnuendoPi/Brautomat/blob/main/CHANGELOG.md](CHANGELOG.md) +Beschreibung & Anleitung: [https://innuendopi.gitbook.io/brautomat32/](https://innuendopi.gitbook.io/brautomat32/)\ +Diskussion: [https://hobbybrauer.de/forum/viewtopic.php?p=486504#p486504](https://hobbybrauer.de/forum/viewtopic.php?p=486504#p486504)\ +Changelog: [https://github.com/InnuendoPi/Brautomat/blob/main/CHANGELOG.md](./) ## 📰 WebInterface Der Brautomat wird über einen WebBrowser gesteuert. -![Startseite](/docs/img/brautomat.jpg) +![Startseite](docs/img/brautomat.jpg) -![Startseite](/docs/img/IDS-AutoTune-Ziel.jpg) +![Startseite](docs/img/IDS-AutoTune-Ziel.jpg) -![Startseite](/docs/img/brautomat-2.jpg) +![Startseite](docs/img/brautomat-2.jpg) ## 💻 Nextion HMI Touchdisplay @@ -61,25 +59,59 @@ Der Brautomat wird über einen WebBrowser gesteuert. * MaischeSud * Manuelle Steuerung Kochen -![Kesselübersicht](/docs/img/kettlepage-sm.jpg) ![MaischeSud](/docs/img/brewpage-sm.jpg) ![Manuelle Steueung](/docs/img/induction-mode-sm.jpg) +![Kesselübersicht](docs/img/kettlepage-sm.jpg) ![MaischeSud](docs/img/brewpage-sm.jpg) ![Manuelle Steueung](docs/img/induction-mode-sm.jpg) ## 🗺️ Multilingual -Der Brautomat unterstützt (nahezu) beliebig viele Sprachen. Jede Sprache hat eine eigene Sprachdatei. Die Sprachdateien im JSON Format sind im Ordner data/language hinterlegt. +Der Brautomat32 unterstützt (nahezu) beliebig viele Sprachen. Jede Sprache hat eine eigene Sprachdatei. Die Sprachdateien im JSON Format sind im Ordner data/language hinterlegt. -_Unterstützte das Projekt und übersetze den Brautomat in eine neue Sprache bzw. korrigiere vorhandene Sprachdateien!_ +_Unterstützte das Projekt und übersetze den Brautomat32 in eine neue Sprache bzw. korrigiere vorhandene Sprachdateien!_ ## 📙 Platine 2.0 ![Platine](docs/img/Platine20.jpg) -Eine Platine für den Arduino ESP Controller ist verfügbar. Die Platine bietet neben den Schraubklemmblöcken für die GPIOs auch einen separaten Anschluss für das Induktionskochfeld sowie drei Anschlüsse für Temperatursensoren. Die Gerber Datei ist im Ordner Tools hinterlegt. Die Platine 2.0 kann sowohl mit dem ESP8266, als auch mit dem ESP32 betrieben werden. +Eine Platine für den Arduino ESP Controller ist verfügbar. Die Platine bietet neben den Schraubklemmblöcken für die GPIOs auch einen separaten Anschluss für das Induktionskochfeld sowie drei Anschlüsse für Temperatursensoren. Die Gerber Datei ist im Ordner Tools gespeichert. Die Platine 2.0 kann sowohl mit dem ESP8266, als auch mit dem ESP32 betrieben werden. ## 📗 Gehäuse ![Gehäuse](docs/img/brautomat_01.jpg) ![Platine](docs/img/brautomat_02.jpg) +## 📘 Pin-Belegung + +Der ESP32 D1 bietet ein Pinout passend zum ESP8266 (GPIO D0 bis D8). Die dargestellte Pinbelegung basiert auf dem Modul ESP32 D1 Mini NodeMCU von [AZ-Delivery](https://www.az-delivery.de/products/esp32-d1-mini) + +GPIO Zuordnung: + +![ESP32 D1 Pinout-1](docs/img/ESP32-D1.pinout-1.jpg) ![ESP32 D1 Pinout-2](docs/img/ESP32-D1.pinout-2.jpg) + +| Bezeichner | GPIO | Input | Output | Beschreibung | +| ---------- | ------- | ------ | ------ | --------------------------------------------- | +| D0 | GPIO026 | ok | ok | | +| D1 | GPIO022 | ok | ok | | +| D2 | GPIO021 | ok | ok | | +| D3 | GPIO017 | ok | ok | DS18B20 | +| D4 | GPIO016 | ok | ok | | +| D5 | GPIO018 | ok | ok | GGM IDS Interrupt blue/green | +| D6 | GPIO019 | ok | ok | GGM IDS Command yellow | +| D7 | GPIO023 | ok | ok | GGM IDS Relay white | +| D8 | GPIO005 | ok | ok | Buzzer | +| D9 | GPIO027 | ok | ok | SCLK | +| D10 | GPIO025 | ok | ok | MISO | +| D11 | GPIO032 | ok | ok | MOSI | +| D12 | GPIO012 | (ok) | ok | TDI, boot fails if pulled high, strapping pin | +| D13 | GPIO004 | ok | ok | CS0 | +| D14 | GPIO000 | pullUp | (ok) | must be low to enter flash mode | +| D15 | GPIO002 | ok | ok | onboard LED, must be low to enter flash mode | +| D16 | GPIO033 | ok | ok | CS1 | +| D17 | GPIO014 | ok | ok | CS2 | +| D18 | GPIO015 | ok | ok | | +| D19 | GPIO013 | ok | ok | | +|||||| + +Pins connected to onboard flash and not recommended for GPIO use: CMD (IO11), CLK (IO6), SD0/SDD (IO7), SD1 (IO8), SD2 (IO9) and SD3 (IO10) + ## 🔉MP3 Dateien _Legal note: "Boxing Bell" (info), "Short School Bell" (error), "Ding sound effect" (warning) und "Success sound effect" (success) mp3 von Free Sounds Library_ [http://www.freesoundslibrary.com](http://www.freesoundslibrary.com) _Licence: Attribution 4.0 International (CC BY 4.0). You are allowed to use sound effects free of charge and royalty free in your multimedia projects for commercial or non-commercial purposes._ diff --git a/build/Brautomat.ino.bin b/build/Brautomat.ino.bin index e054484..a3ac815 100644 Binary files a/build/Brautomat.ino.bin and b/build/Brautomat.ino.bin differ diff --git a/build/Brautomat.mklittlefs.bin b/build/Brautomat.mklittlefs.bin index 196322b..a3bcfed 100644 Binary files a/build/Brautomat.mklittlefs.bin and b/build/Brautomat.mklittlefs.bin differ diff --git a/data/language/de.json b/data/language/de.json index cae0ce7..a501038 100644 --- a/data/language/de.json +++ b/data/language/de.json @@ -1,4 +1,5 @@ { + "OK": "OK", "SYSTEM": "System", "EXPLORER": "Explorer", "UPDATE": "Update", @@ -12,6 +13,7 @@ "EINSTELLUNGEN": "Startzeit", "WECHSELIMPORT": "Voreinstellungen Import", "EXPORTLOESCHEN": "Verwaltung Maischepläne", + "MASHACTIV": "Maischeplan", "BACKUP_TT": "Backup aller Einstellungen als Download config.txt", "RESTORE_TT": "Wiederherstellung aller Einstellungen aus einem Backup", "SSE_TT": "Status Server Sent Events", @@ -26,6 +28,10 @@ "MAN_TT_DEC": "Leistung reduzieren", "MAN_TT_INC": "Leistung erhöhen", "SUD_NAME": "Name aktiver Maischeplan", + "SUD_NEW": "Maischeplan erstellen", + "SUD_NEW_ERROR": "Fehler Maischeplan existiert bereits ", + "SUD_DEL_ERROR": "Fehler aktiver Maischeplan kann nicht gelöscht werden", + "SUD_REN": "Maischeplan umbenennen", "SUD_KOCHDAUER": "Gesamte Kochdauer [min]", "SUD_NACHISO": "Nachisomerisierungszeit [min]", "SUD_TIMER": "Aktiviere Zeitsteuerung", @@ -46,6 +52,8 @@ "SUD_TT_IMP": "Maischeplan importieren", "SUD_TT_EXP": "Maischeplan exportieren", "SUD_TT_DEL": "Maischeplan löschen", + "SUD_TT_NEW": "Erstelle einen neuen leeren Maischeplan", + "SUD_TT_REN": "Aktiven Maischeplan umbenennen", "MISC_TITLE": "Einstellungen", "MISC_TAB1": "System", "MISC_TAB2": "Dashboard", @@ -151,7 +159,7 @@ "IDS_TEXT4": "Alle Parameter auf gitbook", "IDS_KU": "Verstärkungsfaktor Ku (gain)", "IDS_PU": "Periodendauer Pu (period)", - "IDS_SAMPLE": "Intervall (SampleTime) [1000ms]", + "IDS_SAMPLE": "Intervall (SampleTime) [2000ms]", "IDS_RULE": "PID Algorithmus", "IDS_RULE_LIST": ["manueller PID Modus", "AutoTune PID Modus"], "IDS_KP": "PID Kp", @@ -164,7 +172,7 @@ "IDS_DEB": "AutoTune debug", "IDS_TEXT5": "AutoTune auf gitbook", "IDS_TEXT6": "Profil erstellen:", - "IDS_TEXT7": "Profil ändern:", + "IDS_TEXT7": "Profil wechseln:", "IDS_TEXT8": "Profil entfernen:", "IDS_TT_SEN": "Sensorauswahl an MaischeSud Kessel", "IDS_TT_MAXO": "Maximale Leistung der IDS im Maischeprozess", diff --git a/data/language/en.json b/data/language/en.json index b6380a2..7c235ef 100644 --- a/data/language/en.json +++ b/data/language/en.json @@ -1,4 +1,5 @@ { + "OK": "OK", "SYSTEM": "System", "EXPLORER": "Explorer", "UPDATE": "Update", @@ -12,6 +13,7 @@ "EINSTELLUNGEN": "scheduler", "WECHSELIMPORT": "import settings", "EXPORTLOESCHEN": "administration", + "MASHACTIV": "Mashplan", "BACKUP_TT": "download complete backup config.txt", "RESTORE_TT": "restore settings with backup file", "SSE_TT": "Status Server Sent Events", @@ -26,6 +28,10 @@ "MAN_TT_DEC": "reduce power output", "MAN_TT_INC": "increase power output", "SUD_NAME": "name", + "SUD_NEW": "new mashplan", + "SUD_NEW_ERROR": "error mashplan already exists ", + "SUD_DEL_ERROR": "error active mashplan cannot be deleted", + "SUD_REN": "rename mashplan", "SUD_KOCHDAUER": "boiling time [min]", "SUD_NACHISO": "post-isomerization time [min]", "SUD_TIMER": "activate timer", @@ -44,6 +50,8 @@ "SUD_TT_IMP": "import mash plan", "SUD_TT_EXP": "export mash plan", "SUD_TT_DEL": "delete mash plan", + "SUD_TT_NEW": "create new empty mashplan", + "SUD_TT_REN": "rename active mashplan", "SUD_BTN_EXP": "export", "SUD_TEXT3": "delete mash plan", "MISC_TITLE": "settings", @@ -151,7 +159,7 @@ "IDS_TEXT4": "All parameters on gitbook", "IDS_KU": "Ultimate gain Ku", "IDS_PU": "Ultimate period Pu", - "IDS_SAMPLE": "SampleTime [1000ms]", + "IDS_SAMPLE": "SampleTime [2000ms]", "IDS_RULE": "PID algorithmus", "IDS_RULE_LIST": ["manual PID mode", "AutoTune PID mode"], "IDS_KP": "PID Kp", diff --git a/tools/Firmware.zip b/tools/Firmware.zip index 430de24..ee4ae73 100644 Binary files a/tools/Firmware.zip and b/tools/Firmware.zip differ