Future software architecture?

It’s my understanding that the limitations of the arduino platform, caused the current software to be tightly coupled.

The Spark however is a whole diferent beast, it was the architecture that got me attracted to the Spark in the first place, before I heard that BrewPI had switched to Spark.

The standard Spark architecture gives a lot of flexibility.

  1. A generic program can be built and deployed to the device
  2. Functions can be exposed as web services through either the Spark cloud or your own local cloud instance
  3. Operations on the device can be invoked from whatever platform you would like, it could be a basic HTML5 application, a native android app, it could even be integrated into other software like BeerSmith

This architecture is nicely decoupled. You don’t have to understand native programming concepts to contribute. Once the program on the BrewPI Spark has matured, it might not even change that often, and most changes would be done in the UI layers.

I hope the future architecture of the BrewPI Spark will be decoupled, as it enables different people to focus on one or two specific parts, without needing an understanding of how everything works at all levels.

I have done a quick sketch of how I imagine such an architecture.

What are your thoughts, where are the BrewPI architecture heading?

Hello @brianpedersen!

I drew up a block diagram on the old forum that I wanted to dig up but can’t seem to find it after many minutes searching.

It’s pretty much the same as what you drew, with similar separations of concerns and responsibilities, although not constrained to the RPi, and also allowing other peripherals to be connected to the RPi where it makes sense (e.g. a web camera.)

The firmware has been rewritten to be more generic, allowing sensors, actuators and other peripheral drivers to be added to the system along with arbitrary control functions. The embedded GUI will most likely be brewpi-specific since creating a completely flexible application-agnostic GUI in little space will set challenges that we don’t really need to solve here.

Thanks for your thoughts, good to see that our design is being confirmed!

Sounds good.

I would love to see that diagram, I will try and see if I can find it on the old forum.