Chef Tags

close button

IoT Distillery

Destilleren via het internet

Dit is een hobby project van mij waar ik om de zoveel tijd weer mee aan de slag ga. Destileren is een hobby waar ik mij ooit in verdiept hebt. Ik ben hier echter mee gestopt vanwege de hoeveelheid tijd die er in gaat. Continue je warmtebron bijstellen, controleren of je wel op de juiste temparatuur zit en bijhouden voor hoelang dat al zo is. Je bent voor een sessie al snel een middag kwijt en goed gestookte drank moet minimaal 3x gedestileerd zijn, zeer tijdsintensief dus. Vanuit dit probleem is de IoT Distillery geboren een op afstandbestuurbare destileerketel.

Broncode: Github Video Demo: Youtube

De ketel betsaat uit 5 componenten:

  1. De micro-contoller, ESP8266 met ingebouwde WiFI-adapter.
  2. Rest API gemaakt met express.js
  3. Controle paneel, gemaakt met React.
  4. Database om temperaturen op te slaan
  5. SerialListener, optioneel Node.js script om te communiceren via Serial.

Micro-controller, ik gebruik een ESP8266. Dit bordje heeft een ingebouwde WiFI-module. De code is in C++ geprogrammeerd met behulp van PlatformIO. Orgineel gebruikte ik een Arduino waar alles in 1 script stond. Met PlatformIO was het makkelijker dit op te breken en gebruik te maken van 'inheritance' en interfaces. Door de overstap heb ik ook veel geleerd over hoe low-level programeertalen verschillen van high-level talen zoals hoe je moet omgaan met de verschillende data typen en hoe memory anders werkt.

Express API die de communicatie tussen de gebruiker en ketel faciliteerd. De microcontroller en het controle paneel voeren beide requests uit naar deze api.

Control Panel, de user interface. De ketel kan vanaf hier bestuurd worden doormiddel van start en stop knoppen. De gewenste temperatuur kan ook aangepast worden. Daarnaast is het mogelijk om het proces te analyseren. De temperatuur wordt namelijk geplot in een grafiek. Oudere sessies kunnen ook bekeken worden.

SerialListener script geschreven als de microcontroller geen wifi capaciteit heeft. De controller kan via een kabel verbonden worden met een PC waarop dit script draait. Het script zal request uitvoeren voor de arduino en de data versturen vie seriele communicatie.

Wil je me beter leren kennen?