Slide 1

Slide 1 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Making Coffee with Flutter

Slide 2

Slide 2 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Agenda ● Intro ● The Coffeemachine ● Why eFlutter ● How to eFlutter 2

Slide 3

Slide 3 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Intro 3

Slide 4

Slide 4 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Who am I 4

Slide 5

Slide 5 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Who am I 5 2015 2023

Slide 6

Slide 6 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Where it all began 6

Slide 7

Slide 7 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Where it all began 7

Slide 8

Slide 8 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Where we are now 8

Slide 9

Slide 9 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] The Coffeemachine 9

Slide 10

Slide 10 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Illy FrancisFrancis X1 ● Production: 1995 – today ● Aluminium-Boiler ● Single-Circuit 10

Slide 11

Slide 11 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Coffee-Theory Parameters: ● Duration: 20s – 40s ● Temperature: 88°C – 96°C ● Ratio: 1:1,5 - 1:2,5 ● Degree of Roasting ● Grinding degree ● …. 11

Slide 12

Slide 12 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Coffee-Theory 12

Slide 13

Slide 13 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Illy FrancisFrancis X1 – Original 13

Slide 14

Slide 14 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Illy FrancisFrancis X1 – New 14

Slide 15

Slide 15 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Illy FrancisFrancis X1 – New 15

Slide 16

Slide 16 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] The Software – Pt1 (PID) Requirements: ● Temperature Input ● Adjustable PID-Controller ● Drive a Solid State Relais ● Run on ESP8266 16

Slide 17

Slide 17 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] The Software – Pt1 (PID) Solution: ● Temp accuracy up to +/- 0,1°C ● Ready for ESP8266 & ESP32 ● Ready for several Temp-Sensors ● Freely adjustable PID - Parameters ● MQTT-Support and ….. 17 github.com/rancilio-pid/clevercoffee/

Slide 18

Slide 18 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Illy FrancisFrancis X1 – New v2 18

Slide 19

Slide 19 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Illy FrancisFrancis X1 – Future 19

Slide 20

Slide 20 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] The Software – Pt2 (UI) Requirements: ● Display multiple Temperatures on a Chart ● Display and adjust multiple Numeric-Values ● Connect trough MQTT ● (Future) Connect trough D-Bus 20

Slide 21

Slide 21 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] The Software – Pt2 (UI) Solution: ● Uses “flutter_riverpod” for State-Mgmt ● Uses “fl_chart” for the Charts ● Uses “mqtt_client ” for MQTT-Connection ● Will use “dbus ” for D-Bus 21 github.com/Snapp-X/coffeemachine

Slide 22

Slide 22 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] The Coffeemachine 22

Slide 23

Slide 23 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] The Coffeemachine 23

Slide 24

Slide 24 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Why eFlutter? 24

Slide 25

Slide 25 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Why eFlutter? “A lot of UI frameworks available for Linux are desktop oriented, lack (good) support for touch screen control and look like recovered from the 90s.” -Florian Kromer 2021 Medium: “ Flutter could revolutionize UIs on embedded Linux Device" 25

Slide 26

Slide 26 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Prominent GUI Frameworks 26 Origin Name Software License Web Chromium BSD 3-Clause WebKit LGPL, BSD Electron MIT License Desktop GTK LGPL v2.1+ Mono MIT, BSD, GPL, … Cross-Platform Qt Commercial License (or GPL/LGPL v3.0) Flutter BSD 3-Clause Games Unreal Engine Commercial License Unity Commercial License

Slide 27

Slide 27 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Chromium 27 ● HTML5/Javascript ● Running a Web UI connected to a Webserver Contra: • Huge source Code • High Resource Footprint • Difficult accessing local files & HW Pro: • Low Cost (Money wise) • Easy to develop

Slide 28

Slide 28 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Qt 28 ● C++ Framework Launched 1995 ● Widely adopted in IoT/Embedded-Industry Contra: • Pronounced „cute“ • Licensing-Model • Developer-Experience Pro: • Industry Standard • Reliability

Slide 29

Slide 29 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Why eFlutter? 29

Slide 30

Slide 30 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] The lack of good alternatvies 30

Slide 31

Slide 31 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] How to eFlutter? 31

Slide 32

Slide 32 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] eFlutter Options 32

Slide 33

Slide 33 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] eLinux – Display Servers 33 VS TL;DR: • X11 works better on Raspberry Pi OS and most others • In Production you will use Wayland! (or directly DRM) X11 Wayland

Slide 34

Slide 34 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Flutter-eLinux – Main Difference 34

Slide 35

Slide 35 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Flutter-eLinux – Tested Devices 35 github.com/sony/flutter-elinux/wiki/Support-status

Slide 36

Slide 36 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Flutter-eLinux ● Goal: Merge into the Flutter Engine ● arm64/x64 devices support ● More lightweight than official Flutter-Linux ○ Not relying on GTK/GDK ● Display Backend Support for ○ X11 ○ Wayland ○ DRM (GBM & EGLStream) ● APIs such as MethodChannel and EventChannel are the same ● Packages work, Plugins won’t 36

Slide 37

Slide 37 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Flutter-eLinux – Step by Step Raspberry Pi (X11) 37

Slide 38

Slide 38 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Flutter-eLinux – Step by Step Raspberry Pi 38 Thanks to Payam Zahedi!

Slide 39

Slide 39 text

Fluttercon Berlin 2023 2023 Making Coffee with Flutter [email protected] Flutter-eLinux – D-Bus 39