Mon, 07 Jun 2021 17:12:57 +0200
Moved schematics into the project tree.
5 | 1 | # BrewBoard op een ESP32 onder FreeRTOS. |
2 | ||
3 | Dit is een vervolg project van het BrewBoard op de Arduino Nano met de | |
4 | MBSE-ArdRims software. Tot begin 2017 zijn deze kant en klare boards via | |
5 | het forum hobbybrouwen.nl verspreid. | |
6 | ||
7 | Het plan was om een upgrade kit te maken op basis van de WeMos chip die bijna | |
8 | gelijk is aan de Arduino Nano maar ook WiFi heeft. In de praktijk bleek dat | |
83 | 9 | niet zonder propblemen te werken, WiFi en brouwen tegelijk is teveel voor een |
5 | 10 | WeMos chip (ESP8266). Toen ongeveer op hetzelfde moment de markt overspoeld |
11 | werd door BrewMonks, EasyBrew en gelijke systemen was er ook geen behoefte | |
12 | meer om hiermee verder te gaan. | |
13 | ||
14 | Voor mezelf heb ik een nieuw board gemaakt (op experimenteerprint) wat even | |
15 | groot is als het oorspronkelijk board wat ik gebruik, inclusief dezelfde | |
16 | plaats voor alle schroef aansluitingen. De bedoeling is dit board zo uit te | |
17 | kunnen wisselen met het Arduino board. Op dit board wordt de Doit ESP32 Devkit | |
18 | V1 gebruikt. Dit is een ESP32 development board met meer pinnen dan de meeste | |
19 | boards. De meeste boards hebben 30 pennen, deze heeft er 36. En dat is precies | |
20 | genoeg, de 30 pins boards hebben onvoldoende aansluitingen. | |
21 | ||
22 | Als display wordt een 320x240 TFT touchscreen gebruikt wat aangesloten wordt | |
23 | via een SPI bus. Op een tweede SPI bus zit een SD/MMC kaartslot wat aan de | |
24 | voorzijde bereikbaar is. Dit slot wordt gebruikt om recepten in te voeren en | |
25 | om log bestanden op te slaan. Alle overige aansluitingen op het ESP32 board | |
26 | worden gebruikt voor de SSR's, relais en buzzer. | |
27 | ||
28 | In vergelijking met de Arduino Nano heeft de ESP32 de volgende hardware: | |
29 | ||
30 | * 2 processors op 240 MHz, | |
31 | * WiFi | |
32 | * BlueTooth, maar wordt niet gebruikt. | |
33 | * Timers en een Realtime Klok. | |
34 | * 2 SPI bussen (voor de TFT en SD/MMC). | |
35 | * OTA, Over The Air updates. | |
36 | * Nog veel meer bussen die we niet gebruiken. | |
37 | ||
38 | De software is FreeRTOS, dit is een mini embedded OS wat eenvoudig meerdere | |
39 | taken tegelijk kan uitvoeren, dit maakt het programmeren van de brouw software | |
40 | een stuk eenvoudiger als onder de Arduino programmeer opmgeving. | |
41 | ||
42 | Een voorbeeld: de taak task_DS18B20 doet niets anders dan de twee bussen met | |
43 | temperatuur sensoren uit te lezen en de gemeten temperaturen op te slaan zodat | |
44 | andere taken die waardes kunnen gebruiken. Taken kunnen dus klein, simpel en | |
45 | hopelijk vrij van bugs zijn. | |
46 | ||
47 | Het hele systeem zit in elkaar door kleine taken die wel samen moeten werken | |
48 | om tot een totale applicatie te komen. | |
49 | ||
50 | Tot zover de achtergrond van dit project. Ik heb dit voor mezelf gemaakt omdat | |
51 | het MBSE-ArdRims board wat leuke dingen niet kon. Omdat er geen markt is komt | |
52 | er ook geen printje, maar het schema is wel beschikbaar. De software is ook | |
53 | beschikbaar en kun je gewoon gebruiken. Dus wil je hiermee aan de gang, doe je | |
54 | best, er is alleen geen enkele vorm van support. | |
55 | ||
56 | Nog even, ik wilde nog meer dingen toevoegen aan de software (MQTT) maar ook | |
57 | een ESP32 heeft zijn beperkingen. Die liggen wel stukken verder dan de ESP8266 | |
58 | of Arduino Nano, maar ze zijn er. Het belangrijkste is toch het afhandelen van | |
59 | het brouwproces. | |
60 | ||
61 | ||
31 | 62 | #Links |
63 | ||
64 | Dit project gebruikt code van de volgende projecten. De meeste code bevat | |
65 | enkele aanpassingen voor dit project en daarom zijn die projecten volledig | |
66 | geimporteerd in brewboard. | |
67 | ||
68 | De PID library: http://playground.arduino.cc/Code/PIDLibrary by Brett | |
69 | Beauregard. | |
70 | ||
71 | De 1-wire bus: https://www.github.com/DavidAntliff/esp32-owb | |
72 | De DS18B20 sensoren: https://www.github.com/DavidAntliff/esp32-ds18b20 | |
73 | ||
39
e5900c9b9a7b
Use PROJECT_VER for version number. Updated README and info screen.
Michiel Broek <mbroek@mbse.eu>
parents:
34
diff
changeset
|
74 | De webserver en websockets server. Websockets worden gebruikt voor de web |
e5900c9b9a7b
Use PROJECT_VER for version number. Updated README and info screen.
Michiel Broek <mbroek@mbse.eu>
parents:
34
diff
changeset
|
75 | client. Deze web client probeert een kopie te zijn van het touch scherm. |
31 | 76 | https://github.com/Molorius/esp32-websocket.git components/websocket |
77 | ||
92
bac0a860f5dd
No repeated logs when the SD card is removed. Supress wifi_init logs.
Michiel Broek <mbroek@mbse.eu>
parents:
87
diff
changeset
|
78 | 7 Segments display font voor de web applicatie: http://www.keshikan.net |
bac0a860f5dd
No repeated logs when the SD card is removed. Supress wifi_init logs.
Michiel Broek <mbroek@mbse.eu>
parents:
87
diff
changeset
|
79 | Deze is gemaakt door keshikan. |
bac0a860f5dd
No repeated logs when the SD card is removed. Supress wifi_init logs.
Michiel Broek <mbroek@mbse.eu>
parents:
87
diff
changeset
|
80 | |
97
9c6c37a8da52
Moved schematics into the project tree.
Michiel Broek <mbroek@mbse.eu>
parents:
92
diff
changeset
|
81 | Het schema voor dit project is gemaakt in kicad en zit in de map kicad. |
31 | 82 | Belangrijk als je dit gaat bouwen: koop het juiste ESP32 devkit board. De |
83 | meeste boards hebben niet genoeg aansluitingen naar buiten, je hebt echt de | |
39
e5900c9b9a7b
Use PROJECT_VER for version number. Updated README and info screen.
Michiel Broek <mbroek@mbse.eu>
parents:
34
diff
changeset
|
84 | 36 pens versie van Geekcreit® nodig. |
31 | 85 | |
86 | ||
87 | ||
0 | 88 | |
89 | ||
90 | TODO: | |
91 | - Nosleep js code toevoegen. | |
47
2aab3b5af4b5
Fixed css path in chart.html. Show errors in console when writing logfiles.json. Upgraded esp-idf.
Michiel Broek <mbroek@mbse.eu>
parents:
39
diff
changeset
|
92 | - Bug: import 2 x hop met dezelfde naam met verschillende tijden krijgen 1 tijd na import. |
0 | 93 | |
87
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
94 | Voor kleinere image, van 10000272 -> 914944 de volgende settings: |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
95 | |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
96 | diff -r 8d0287a1a9e1 sdkconfig |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
97 | --- a/sdkconfig Sun Jun 07 22:30:07 2020 +0200 |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
98 | +++ b/sdkconfig Mon Jun 08 22:13:50 2020 +0200 |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
99 | @@ -85,8 +85,8 @@ |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
100 | CONFIG_SSR_HLT_GPIO=33 |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
101 | CONFIG_SSR_PUMP_GPIO=12 |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
102 | CONFIG_BUZZER_GPIO=25 |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
103 | -CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
104 | -# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
105 | +# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
106 | +CONFIG_COMPILER_OPTIMIZATION_SIZE=y |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
107 | # CONFIG_COMPILER_OPTIMIZATION_PERF is not set |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
108 | # CONFIG_COMPILER_OPTIMIZATION_NONE is not set |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
109 | CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
110 | @@ -340,7 +340,6 @@ |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
111 | # CONFIG_FREERTOS_USE_TRACE_FACILITY is not set |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
112 | # CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
113 | # CONFIG_FREERTOS_DEBUG_INTERNALS is not set |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
114 | -CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
115 | CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
116 | # CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
117 | # CONFIG_HEAP_POISONING_DISABLED is not set |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
118 | @@ -583,8 +582,8 @@ |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
119 | # CONFIG_MONITOR_BAUD_OTHER is not set |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
120 | CONFIG_MONITOR_BAUD_OTHER_VAL=115200 |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
121 | CONFIG_MONITOR_BAUD=115200 |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
122 | -CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
123 | -# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
124 | +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
125 | +CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
126 | CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
127 | # CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set |
47253f294a9f
SDK settings to reduce bin size. Some log messages to debug level. Added KWH usage registration. Added equipment power usage for HLT and MLT. Equipment database upgraded to version 2, expandable. Fixed some screen errors during temperature mash steps.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
128 | # CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set |