README.md

Mon, 25 Nov 2019 19:41:50 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Mon, 25 Nov 2019 19:41:50 +0100
branch
stable
changeset 73
baa34eaca140
parent 47
2aab3b5af4b5
child 83
0cc064a4921b
permissions
-rw-r--r--

Merged with default

5
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
1 # BrewBoard op een ESP32 onder FreeRTOS.
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
2
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
3 Dit is een vervolg project van het BrewBoard op de Arduino Nano met de
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
4 MBSE-ArdRims software. Tot begin 2017 zijn deze kant en klare boards via
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
5 het forum hobbybrouwen.nl verspreid.
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
6
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
7 Het plan was om een upgrade kit te maken op basis van de WeMos chip die bijna
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
8 gelijk is aan de Arduino Nano maar ook WiFi heeft. In de praktijk bleek dat
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
9 niet zonder prpblemen te werken, WiFi en brouwen tegelijk is teveel voor een
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
10 WeMos chip (ESP8266). Toen ongeveer op hetzelfde moment de markt overspoeld
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
11 werd door BrewMonks, EasyBrew en gelijke systemen was er ook geen behoefte
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
12 meer om hiermee verder te gaan.
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
13
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
14 Voor mezelf heb ik een nieuw board gemaakt (op experimenteerprint) wat even
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
15 groot is als het oorspronkelijk board wat ik gebruik, inclusief dezelfde
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
16 plaats voor alle schroef aansluitingen. De bedoeling is dit board zo uit te
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
17 kunnen wisselen met het Arduino board. Op dit board wordt de Doit ESP32 Devkit
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
18 V1 gebruikt. Dit is een ESP32 development board met meer pinnen dan de meeste
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
19 boards. De meeste boards hebben 30 pennen, deze heeft er 36. En dat is precies
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
20 genoeg, de 30 pins boards hebben onvoldoende aansluitingen.
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
21
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
22 Als display wordt een 320x240 TFT touchscreen gebruikt wat aangesloten wordt
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
23 via een SPI bus. Op een tweede SPI bus zit een SD/MMC kaartslot wat aan de
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
24 voorzijde bereikbaar is. Dit slot wordt gebruikt om recepten in te voeren en
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
25 om log bestanden op te slaan. Alle overige aansluitingen op het ESP32 board
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
26 worden gebruikt voor de SSR's, relais en buzzer.
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
27
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
28 In vergelijking met de Arduino Nano heeft de ESP32 de volgende hardware:
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
29
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
30 * 2 processors op 240 MHz,
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
31 * WiFi
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
32 * BlueTooth, maar wordt niet gebruikt.
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
33 * Timers en een Realtime Klok.
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
34 * 2 SPI bussen (voor de TFT en SD/MMC).
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
35 * OTA, Over The Air updates.
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
36 * Nog veel meer bussen die we niet gebruiken.
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
37
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
38 De software is FreeRTOS, dit is een mini embedded OS wat eenvoudig meerdere
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
39 taken tegelijk kan uitvoeren, dit maakt het programmeren van de brouw software
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
40 een stuk eenvoudiger als onder de Arduino programmeer opmgeving.
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
41
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
42 Een voorbeeld: de taak task_DS18B20 doet niets anders dan de twee bussen met
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
43 temperatuur sensoren uit te lezen en de gemeten temperaturen op te slaan zodat
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
44 andere taken die waardes kunnen gebruiken. Taken kunnen dus klein, simpel en
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
45 hopelijk vrij van bugs zijn.
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
46
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
47 Het hele systeem zit in elkaar door kleine taken die wel samen moeten werken
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
48 om tot een totale applicatie te komen.
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
49
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
50 Tot zover de achtergrond van dit project. Ik heb dit voor mezelf gemaakt omdat
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
51 het MBSE-ArdRims board wat leuke dingen niet kon. Omdat er geen markt is komt
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
52 er ook geen printje, maar het schema is wel beschikbaar. De software is ook
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
53 beschikbaar en kun je gewoon gebruiken. Dus wil je hiermee aan de gang, doe je
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
54 best, er is alleen geen enkele vorm van support.
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
55
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
56 Nog even, ik wilde nog meer dingen toevoegen aan de software (MQTT) maar ook
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
57 een ESP32 heeft zijn beperkingen. Die liggen wel stukken verder dan de ESP8266
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
58 of Arduino Nano, maar ze zijn er. Het belangrijkste is toch het afhandelen van
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
59 het brouwproces.
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
60
87b86d16b1d6 De README flink bijgewerkt.
Michiel Broek <mbroek@mbse.eu>
parents: 0
diff changeset
61
31
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
62 #Links
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
63
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
64 Dit project gebruikt code van de volgende projecten. De meeste code bevat
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
65 enkele aanpassingen voor dit project en daarom zijn die projecten volledig
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
66 geimporteerd in brewboard.
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
67
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
68 De PID library: http://playground.arduino.cc/Code/PIDLibrary by Brett
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
69 Beauregard.
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
70
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
71 De 1-wire bus: https://www.github.com/DavidAntliff/esp32-owb
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
72 De DS18B20 sensoren: https://www.github.com/DavidAntliff/esp32-ds18b20
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
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
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
76 https://github.com/Molorius/esp32-websocket.git components/websocket
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
77
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
78 Het schema voor dit project staat op EasyDA. Zie
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
79 https://easyeda.com/mbroek/ESP32_experiments-3ec1c1b17c3b41378ba4493ea69fa5c3.
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
80 Belangrijk als je dit gaat bouwen: koop het juiste ESP32 devkit board. De
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
81 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
82 36 pens versie van Geekcreit® nodig.
31
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
83
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
84
11983772e6d2 Updated the README
Michiel Broek <mbroek@mbse.eu>
parents: 28
diff changeset
85
0
b74b0e4902c3 Initial checkin brewboard
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
86
b74b0e4902c3 Initial checkin brewboard
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
87
b74b0e4902c3 Initial checkin brewboard
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
88 TODO:
b74b0e4902c3 Initial checkin brewboard
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
89 - Nosleep js code toevoegen.
39
e5900c9b9a7b Use PROJECT_VER for version number. Updated README and info screen.
Michiel Broek <mbroek@mbse.eu>
parents: 34
diff changeset
90 - Web client zonder VNC, of toch niet. In progress.
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
91 - Bug: import 2 x hop met dezelfde naam met verschillende tijden krijgen 1 tijd na import.
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: er is geen xml cool to waarde,
0
b74b0e4902c3 Initial checkin brewboard
Michiel Broek <mbroek@mbse.eu>
parents:
diff changeset
93

mercurial