péter márton brewfactory full-stack homebrew · hardware parts - digital temp. sensor - ds18b20...

27
Brewfactory full-stack homebrew Péter Márton @slashdotpeter

Upload: others

Post on 25-Sep-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

Brewfactory full-stack homebrewPéter Márton

@slashdotpeter

Page 2: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

What is Brewfactory?

- automated brewing machine

- hobby project

- open-source project

Page 3: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

How to brew beer?(BIAB way)

Page 4: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

add water and malt

Page 5: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

hold temperature levels

Page 6: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

boil it and hops

Page 7: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

cool it fermentation

Page 8: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

bottle it enjoy!

Page 9: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

brewing sucks?

… automate it!

Page 10: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

Brew like a boss

Page 11: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

What’s on the technology side?

Page 12: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

JavaScript everywhere2007 2015

HW Microcontroller IoT devices from $10

Control HW C, C++ Node.js: Johnny-Five, Tessel

Web server .net, Java, PHP Node.js

Database SQL MongoDB: JS API

WebUI JavaScript: jQuery JavaScript: SPA (React, Angular etc.)

Page 13: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

Node.js in IoT

- vibrant community

- extreme modularity

- high performance

Page 14: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

NPM

- more than 115k packages

- 18M downloads per day

Page 15: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

Johnny-Five

- “jQuery of the IoT” - servo.to( 90 ); button.on(‘down’, fn);

- Arduino compatible boards

- Node.js

Page 16: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

Our system

Page 17: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

Hardware parts

- digital temp. sensor- DS18B20 (1-Wire)

- heating elements- PWM (pulse-width modulation)

- Relay (solid state)

- controller- PID

Page 18: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

IoT device: RaspberryPi

- credit-card sized- linux- usb ports- ethernet- NO built-in Wi-Fi- any languages

Page 19: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

IoT device: SparkCore

- pint-sized- arduino compatible- built-in Wi-Fi- C++- Spark’s cloud

Page 20: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

Architecture

Page 21: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

Architecture

Page 22: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

BrewCore

- Node.js --harmony

- Koa- WebSockets- Spark’s cloud- https://github.com/BrewCore

Page 23: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

BrewUI

- React app with Flux- CommonJS (Node style)

- Webpack (~Browserify)

- npm module- https://github.com/BrewUI

Page 24: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

BrewMobile

- Swift- WebSockets- push notif. is coming

by @vasarhelyia

Page 25: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

Join us!

github.com/brewfactory

Page 26: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

Demo(http://brewcore-demo.herokuapp.com)

Page 27: Péter Márton Brewfactory full-stack homebrew · Hardware parts - digital temp. sensor - DS18B20 (1-Wire) - heating elements - PWM (pulse-width modulation) - Relay (solid state)

Q&A

The endhttp://brewfactory.org