Skip to content

jonnor/microfridge

Repository files navigation

Build Status

MicroFridge

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

Status

Just words.

DONE

  • MicroFlo: Basic support for ESP8266 devices
  • MicroFlo: Initial support for MQTT (on Linux)

TODO

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

About

Fridge firmware based on MicroFlo

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages