http://petenicholls.com/brewing
You can get the basic equipment in a kit for ~$100, but probably cheaper if you shop around.
Book: http://www.fishpond.co.nz/Books/Brewers-Bible-Brian-Kunath/9780785828174
Two shops in Christchurch:
- Your Shout on Linwood Ave (my preferred)
- Aqua Vitae on Lincoln Road
Annoyingly, both always seem to be closed on Sundays, which is usually my brew day.
Christchurch Home Brew Club has been very helpful: https://www.facebook.com/groups/494714937209424/
Honourable mention: http://shop.brewtopia.net.nz/ which has a lot of “clone” kits for well-known brews
Waterproof temperature sensor:
https://www.adafruit.com/products/381
I used the high temperature one, just for kicks:
https://www.adafruit.com/products/642
Program with what is essentially C/C++ with a bunch of helper utilities and a custom IDE.
Important: If you're on El Capitan, you'll need to disable a part of the new System Integrity Protection to install an unsigned kext driver. Recovery restart vodoo can be found here. Ping me on Twitter or Ruby NZ's Slack if you need help.
The one I brought along was a Uno, which is a good general purpose one to play with.
Lots of cheap clones around (Jaycar tends to stock the Freetronics ones), which use the same chips and are generally just as good.
Amazing value Arduino starter kit:
Adafruit lessons:
https://learn.adafruit.com/series/learn-arduino
Arduino WiFi shield:
Essentially a ~US$40 Linux computer with a few pins for electronics.
Get a Class-10 SD card. You don't need much space.
I used Raspbian, which you can good install through NOOBs or by itself.
You'll probably want to pick up a wifi dongle.
Very easy to install and play with – have a go!
Final result (left unfactored):
require 'rack/request'
require 'json'
# Simple persistence
require 'redis'
redis = Redis.new
# Middleware example
require 'rack/contrib'
use Rack::JSONP
# `run` accepts any object that responds to `call` and takes a single argument, `env`
run ->(env) {
request = Rack::Request.new(env)
case [request.request_method, request.path]
when ['POST', '/temperature']
redis.lpush('temps', request.body.read)
response = { ok: true }
when ['GET', '/temperatures']
response = redis.lrange('temps', 0, -1).map(&:to_i)
end
if response
status = 200
headers = { 'Content-Type' => 'application/json' }
body = JSON.generate(response)
else
status, headers, body = 404, {}, 'Not Found'
end
[status, headers, [body]]
}
LCD screen:
Internet-enabled plug:
I drew the pixel art in my talk using Pixen for OS X, and the raw files as well as PNGs are available at: