README.md

changeset 5
87b86d16b1d6
parent 0
b74b0e4902c3
child 8
7b3e677140ca
equal deleted inserted replaced
4:6d1f512cd074 5:87b86d16b1d6
1 # BrewBoard on ESP32 using FreeRTOS. 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
9 niet zonder prpblemen te werken, WiFi en brouwen tegelijk is teveel voor een
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
2 62
3 63
4 TODO: 64 TODO:
5
6 - Recepten uploaden via de webserver.
7 - Praktijktest. 65 - Praktijktest.
8 - Nosleep js code toevoegen. 66 - Nosleep js code toevoegen.
9 - On WiFi disconnect cleanup VNC websocket. 67 - On WiFi disconnect cleanup VNC websocket.
10 68

mercurial