Firmware for an old fridge, based on MicroFlo dataflow runtime running on Olimex ESP8266.
This is version 2 of the MicroFlo+Arduino-based fridge. The goals of this iteration are to
- Integrate electronics into the fridge itself
- Support creating and debugging the program in Flowhub visual programming IDE
- Have the state of the device observable and configurable. Using MQTT and MsgFlo
- Push MicroFlo forward using a real-world example
- Explore the idea of 'introspectable computing' applied to household appliances
- Try out using SVG+JS to build interactive system models
Just words.
- MicroFlo: Basic support for ESP8266 devices
- MicroFlo: Initial support for MQTT (on Linux)
0.1 - minimally works
- Tests: BDD test of fridge flow running on Emscripten or Linux MicroFlo backend
- Port over existing fridge flow from MicroFlo/examples/fridge.fbp
- Port required DS18s20 component to ESP8266. Example code 1, 2
- Graph exposed over MQTT/MsgFlo, can observe state and manipulate configuration
- Design and 3d-print mount/installing
- Move into production, replacing version 1 system
0.2 - basic webinterface
- WebInterface: Serve a static system model, with links
- WebInterface: Ability to see current temp
- WebInterface: Ability to change target temp
- Add NFC tag with link to webinterface
- WebInterface: Add Flowhub live-mode URL (for MsgFlo network)?
0.3 - interactive system model
- MicroFlo: Support FBP protocol onto device (via web or MQTT/MsgFlo forwarding)
- Docs: Conceptual system model
- Docs: add pictures of fridge
- Docs: add schematics/wiring diagrams
- Make conceptual model interactive, connected to live system
- Flowhub: Support for showing conceptual model as "preview". Build MicroFlo runtime comm as HTML, run in iframe, use post-message for forwarding?
- Add support for door switch + light
- Add links to 3d-models in conceptual model
Later
- MicroFlo: Support persistence graph changes
- MicroFlo: Port hysteresis component to use Finito
Maybe
- Put the webinterface live on http://fridge.jonnor.com, in read-only mode
- Design 3d-printed replacement for door-switch
- LED-based light as replacement for lightbulb
- Augmented reality support, overlaying interactive webinterface on phone cameraview, using NFC tag as marker