|
@@ -0,0 +1,37 @@
|
|
|
|
+# CoffeePi - Automating portafilter machines
|
|
|
|
+
|
|
|
|
+CoffeePi is an openly available project for customizing and automating portafilter machines.
|
|
|
|
+This project is deployed on a raspberry Pi 3 and a Astoria Argenta AEP.
|
|
|
|
+For connecting all sensors and actuators to the IoT-Device, a breakoutboard was develeoped.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+## Features of this project
|
|
|
|
+The following features are currently implemented or in progress:
|
|
|
|
+- Openhab interface
|
|
|
|
+- SQLite Database backend
|
|
|
|
+- 16x2 LC-Display and two buttons for user interaction
|
|
|
|
+- Multithreaded and signal based Software architecture with very low CPU workload
|
|
|
|
+- 3 5V/230V Relays controlling the main power, pump and the heating circuit
|
|
|
|
+- 1-Wire Temperatur sensor (DS18B20)
|
|
|
|
+- RGB LED Stripe with Controller
|
|
|
|
+- Logging Framework with different verbosity levels
|
|
|
|
+- Timer Framework
|
|
|
|
+- Display Page Management corresponding to the machine state with delayed pages, prepages (page before the actual page corresponding to the current state) and postpages (similar to prepages)
|
|
|
|
+- FSM controlling the and responding to the hardwarestate of the machine
|
|
|
|
+- Event Manager with threads registering events and event subscriber
|
|
|
|
+
|
|
|
|
+## Software Features
|
|
|
|
+
|
|
|
|
+- Auto-Brewing with predefinded Preinfusion (Amount-triggered) and predefinded Soak-Time. The brewing itself stops automatically after 30s or 65ml
|
|
|
|
+- Cleaning Program
|
|
|
|
+- Tracking of the number of brewed espressi and the comsumed energy (in kWh)
|
|
|
|
+- Cleaning reminder after 35 cups or 90 days
|
|
|
|
+- large user menu with information and settings (in progress)
|
|
|
|
+- Reboot of the device and restart of the software available through the menu
|
|
|
|
+- LCD Backlight turn off during idle
|
|
|
|
+
|
|
|
|
+## Deploy the project in your own coffeemachine:
|
|
|
|
+All sensors(Buttons, LCD, Temperatur-Sensor, I2C-RGB-Stripe Controller) have to be available.
|
|
|
|
+The relays have to intercept the powercircuit, pump circuit and the heating circuit.
|
|
|
|
+All hardware access is either in a dedicated class (like 1-Wire) or in the hardware abstraction class (hal.h)
|